|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| J.R. Larus, "Loop-Level Parallelism in Numeric and Symbolic Programs," IEEE Transactions on Parallel and Distributed Systems, vol. 4, no. 7, pp. 812-826, July, 1993. | |||
| BibTex | x | ||
| @article{ 10.1109/71.238302, author = {J.R. Larus}, title = {Loop-Level Parallelism in Numeric and Symbolic Programs}, journal ={IEEE Transactions on Parallel and Distributed Systems}, volume = {4}, number = {7}, issn = {1045-9219}, year = {1993}, pages = {812-826}, doi = {http://doi.ieeecomputersociety.org/10.1109/71.238302}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Parallel and Distributed Systems TI - Loop-Level Parallelism in Numeric and Symbolic Programs IS - 7 SN - 1045-9219 SP812 EP826 EPD - 812-826 A1 - J.R. Larus, PY - 1993 KW - Index Termsnumeric programs; loop level parallelism; symbolic programs; speed improvement; parallel computer; sequential program; parallelism analyzer; parallel execution; parallelperformance; dynamic behavior; parallel programming; performance evaluation; programcompilers VL - 4 JA - IEEE Transactions on Parallel and Distributed Systems ER - | |||
A new technique for estimating and understanding the speed improvement that can resultfrom executing a program on a parallel computer is described. The technique requires noadditional programming and minimal effort by a program's author. The analysis begins by tracing a sequential program. A parallelism analyzer uses information from the trace to simulate parallel execution of the program. In addition to predicting parallel performance, the parallelism analyzer measures many aspects of a program's dynamic behavior. Measurements of six substantial programs are presented. These results indicate that the three symbolic programs differ substantially from the numeric programs and, as aconsequence, cannot be automatically parallelized with the same compilation techniques.
[1] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[2] T. Austin, personal communication, Apr. 1992.
[3] T. M. Austin and G. S. Sohi, "Dynamic dependence analysis of ordinary programs," inProc. 19th Annu. Int. Symp. Comput. Architecture, June 1992, pp. 342-351.
[4] T. Ball and J. R. Larus, "Optimally profiling and tracing programs," inConf. Rec. Nineteenth Annu. ACM Symp. Principles of Programming Languages, Jan. 1992, pp. 59-70.
[5] R. G. Covington, S. Madala, V. Mehtaet al., "The Rice parallel processing testbed," inProc. 1988 ACM SIGMETRICS Conf., Santa Fe, NM, May 1988, pp. 4-11.
[6] R. G. Cytron, "Compile-time scheduling and optimization for multiprocessors," Ph.D. dissertation, Univ. of Illinois at Urbana-Champaign, DCS Rep. UIUCDCS-R-84-1177, 1984.
[7] S.J. Eggers et al., "Techniques for Efficient In-Line Tracing on a Shared-Memory Multiprocessor,"Proc. ACM SIGMetrics Int'l Conf. Measurement and Modeling of Computer Systems, 1990, pp. 37-47.
[8] J. D. Gee, M. D. Hill, D. N. Pnevmatikatos, and A. J. Smith, "Cache performance of the SPEC benchmark suite," Tech. Rep. 1049, Comput. Sci. Dep., Univ. Wisconsin-Madison, Sept. 1991.
[9] W. L. Harrison III, "The interprocedural analysis and automatic parallelization of scheme programs,"Lisp and Symbolic Computation, vol. 2, no. 3-4, pp. 179-396, 1989.
[10] S. Horwitz, P. Pfeiffer, and T. Reps, "Dependence analysis for pointer variables," inProc. SIGPLAN '89 Conf. Program. Lang. Design and Implement., June 1989, pp. 28-40.
[11] W. L. Harrison III and Z. Ammarguellat, "The design of automatic parallelizers for symbolic and numeric programs," inParallel Lisp: Languages and Systems, T. Ito and R. H. Halstead, Jr., Ed. Berlin, Germany: Springer-Verlag, 1990, pp. 235-254.
[12] M. Kumar, "Measuring parallelism in computation-intensive scientific/engineering applications,"IEEE Trans. Comput., vol. 37, no. 9, pp. 1088-1098, Sept. 1988.
[13] J. R. Larus, "Abstract execution: A technique for efficiently tracing programs, "Software Practice and Exp., vol. 20, pp. 1241-1258, Dec. 1990.
[14] J. R. Larus, "Compiling Lisp programs for parallel execution,"Lisp and Symbolic Computation, vol. 4, no. 1, pp. 29-99, Jan. 1991.
[15] J. R. Larus, "Estimating the potential parallelism in programs" inProc. Third Workshop Languages and Compilers for Parallel Computing, A. Nicolau, D. Gelernter, T. Gross, and D. Padua, Eds., M.I.T. Press, 1991, ch. 17, pp. 331-349.
[16] G. Lee, C. P. Kruskal, and D. J. Kuck, "An empirical study of automatic restructuring of nonnumerical programs for parallel processors,"IEEE Trans. Comput., vol. C-34, no. 10, pp. 927-933, Oct. 1985.
[17] D. E. Maydan, J. L. Hennessy, and M. S. Lam, "Effectiveness of data dependence analysis," in NSF NCRD Workshop on Advanced Compilation Techniques for Novel Architectures, 1992.
[18] B. P. Miller, M. Clark, J. Hollingsworth, S. Kierstead, S.-S. Lim, and T. Torzewski, "IPS-2: The second generation of a parallel program measurement system,"IEEE Trans. Parallel Distributed Syst., vol. 1, no. 2, pp. 206-217, April 1990.
[19] A. Nicolau and J. A. Fischer, "Measuring the parallelism available for very long instruction word architectures,"IEEE Trans. Comput., vol. C-33, no. 11, pp. 968-976, Nov. 1984.
[20] V. Sarkar, "Determining average program execution times and their variance," inSigplan Conf. Programming Language Design and Implementation, 1989, pp. 298-312.
[21] SPEC, SPEC Benchmark Suite Release 1.0, Winter 1990.
[22] C.B. Stunkel and W.K. Fuchs, "TRAPEDS: Producing Traces for Multicomputers Via Execution-Driven Simulation,"Proc. ACM SIGMetrics Int'l Conf. Measurement and Modeling of Computer Systems, 1989, pp. 70-78.
[23] M. Wolfe,Optimizing Supercompilers for Supercomputers. Cambridge MA: MIT Press, 1989.
[24] H. Zima and B. Chapman,Supercompilers for Parallel and Vector Computers, ACM Press, New York, and Addison-Wesley, Reading, Mass., 1991.

