|
ABSTRACT
Automatic detection of task-level parallelism (also referred to as functional, DAG, unstructured, or thread parallelism) at various levels of program granularity is becoming increasingly important for parallelizing and back-end compilers. Parallelizing compilers detect iteration-level or coarser granularity parallelism which is suitable for parallel computers; detection of parallelism at the statement-or operation-level is essential for most modern microprocessors, including superscalar and VLIW architectures. In this article we study the problem of detecting, expressing, and optimizing task-level parallelism, where “task” refers to a program statement of arbitrary granularity. Optimizing the amount of functional parallelism (by allowing synchronization between arbitrary nodes) in sequential programs requires the notion of precedence in terms of paths in graphs which incorporate control and data dependences. Precedences have been defined before in a different context; however, the definition was dependent on the ideas of parallel execution and time. We show that the problem of determining precedences statically is NP-complete. Determining precedence relationships is useful in finding the essential data dependences. We show that there exists a unique minimum set of essential data dependences; finding this minimum set is NP-hard and NP-easy. We also propose a heuristic algorithm for finding the set of essential data dependences. Static analysis of a program in the Perfect Benchmarks was done, and we present some experimental results.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
|
 |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
BERRY. hi., CHEN. D, KOSS. P., KucK. D., POINTER. L.. Lo. S. PANG. Y, ROLOFF R, SAhIEH. A.. CLEMENTI. E., CHIN. S.. SCHNEIDER. D., FOX. G., hIESSINA. P. \VALKER. D. HSIUNG. C, SCH\VARZhlEIER. J, LUE K, ORSZAG. S, SEIDL . F, JOHNSON. O, S\VAN- SON. G., GOODRUI~I R, AND hlARTIN. J. 1989 The Perfect Club Benchmarks: Effective performance evaluation of supercomputers Int. J. Supercomput. Appl. 3, 3 (Fall), 5-40.
|
 |
7
|
|
| |
8
|
COFFhtAN E. JR, Ed 1976. Computer and Job-shop Scheduling Theory. John Wiley, New York
|
| |
9
|
CRAY 1985. l~Iultitasking user guide Tech Rep SN-0222, Cray Research. Inc., Eagan Minn.
|
 |
10
|
George Cybenko , Lyle Kipp , Lynn Pointer , David Kuck, Supercomputer performance evaluation and the Perfect Benchmarks, Proceedings of the 4th international conference on Supercomputing, p.254-266, June 11-15, 1990, Amsterdam, The Netherlands
|
 |
11
|
R. Cytron , M. Hind , W. Hsieh, Automatic generation of DAG parallelism, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.54-68, June 19-23, 1989, Portland, Oregon, United States
|
 |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
D. J. Kuck , R. H. Kuhn , D. A. Padua , B. Leasure , M. Wolfe, Dependence graphs and compiler optimizations, Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.207-218, January 26-28, 1981, Williamsburg, Virginia
[doi> 10.1145/567532.567555]
|
| |
17
|
|
| |
18
|
|
| |
19
|
POLYCHRONOPOI~LO~ C. D 1990 Aulm-scheduhng Control flow and data flow corne together. Tech Rep 1058. Center for Supercomputing Research and Development. Univ. of Ilhnols at Urbana-Champaign, Urbana Ill
|
 |
20
|
|
| |
21
|
POLYCHRONOPOULOS. C D. G~RKaa hi, HAGHIGHAT. ~{ LEE C ,LEIrNG B ,AND S~.'HOIrTEN D 1991 Parafiase-2Programmer'si~Ianual CSRD Int Doc ('enter for Supercomputlng Research and Development, Unlv of Illinois at Urbana-Champa~gn Urbana, Ill
|
| |
22
|
Constantine D. Polychronopoulos , Milind B. Girkar , Mohammad Reza Haghighat , Chia Ling Lee , Bruce Leung , Dale Schouten, Parafrase-2: an environment for parallelizing, partitioning, synchronizing, and scheduling programs on multiprocessors, International Journal of High Speed Computing, v.1 n.1, p.45-72, May 1989
[doi> 10.1142/S0129053389000044]
|
| |
23
|
SCHWARTZ ,J T AND SHARIR i~i 1979 A design for opt~m~zat~ons of the b~tvectotmg class Tech Rep NSO-17. Courant Inst of Mathematmal Sciences, New "~brk UnP~- , New York Sept.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
CITED BY 5
|
|
|
|
|
|
|
|
|
|
|
Roberto Cordone , Fabrizio Ferrandi , Marco D. Santambrogio , Gianluca Palermo , Donatella Sciuto, Using speculative computation and parallelizing techniques to improve scheduling of control based designs, Proceedings of the 2006 conference on Asia South Pacific design automation, January 24-27, 2006, Yokohama, Japan
|
|
|
|
REVIEW
"R. Clayton : Reviewer"
Conceptually, detecting parallelism in programs involves defining a
partial order capturing the essential control and data flow between
statements in a program. A set of program statements left unordered by
the partial ordering can be executed
more...
|