ACM Home Page
Please provide us with feedback. Feedback
Extracting task-level parallelism
Full text PdfPdf (1.92 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 17 ,  Issue 4  (July 1995) table of contents
Pages: 600 - 634  
Year of Publication: 1995
ISSN:0164-0925
Authors
Milind Girkar  Sun Microsystems Inc., 2550 Garcia Ave., MS MTV12-40, Mountain View, CA
Constantine D. Polychronopoulos  Center for Supercomputing Research and Development, University of Illinols at Urbana-Champaign, Urbana, IL
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 78,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/210184.210189
What is a DOI?

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
 
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
11
12
 
13
 
14
 
15
16
 
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
 
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



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...

Collaborative Colleagues:
Milind Girkar: colleagues
Constantine D. Polychronopoulos: colleagues