ACM Home Page
Please provide us with feedback. Feedback
Separation constraint partitioning: a new algorithm for partitioning non-strict programs into sequential threads
Full text PdfPdf (1.56 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, United States
Pages: 259 - 271  
Year of Publication: 1995
ISBN:0-89791-692-1
Authors
Klaus E. Schauser  Department of Computer Science, University of California, Santa Barbara, Santa Barbara, CA
David E. Culler  Computer Science Division, University of California, Berkeley, Berkeley, CA
Seth C. Goldstein  Computer Science Division, University of California, Berkeley, Berkeley, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 15,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   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/199448.199511
What is a DOI?

ABSTRACT

In this paper we present substantially improved thread partitioning algorithms for modern implicitly parallel languages. We present a new block partitioning algorithm, separation constraint partitioning, which is both more powerful and more flexible than previous algorithms. Our algorithm is guaranteed to derive maximal threads. We present a theoretical framework for proving the correctness of our partitioning approach, and we show how separation constraint partitioning makes interprocedural partitioning viable.We have implemented the partitioning algorithms in an Id90 compiler for workstations and parallel machines. Using this experimental platform, we quantify the effectiveness of different partitioning schemes on whole applications.


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.

AA89
 
ACI+83
Arvind, D. E. Culler, R. A. Iannucci, V. Kathail, K. Pingali, and R. E. Thomas. The Tagged Token Dataflow Architecture. Technical report, MIT Lab for Comp. Sci., August 1983.
 
AN90
 
BH87
 
CGSvE93
 
Coo94
S.R. Coorg. Partitioning Non-strict Languages for Multi-threaded Code Generation. Master's thesis, Dept. of EECS, MIT, Cambridge, MA, May 1994.
 
CPJ85
 
Cul90
D.E. Culler. Managing Parallelism and Resources in Scientific Data/tow Programs. Technical Report 446, MIT Lab for Comp. Sci., March 1990. (PhD Thesis, Dept. of EECS, MIT).
FOW87
GKW85
 
Gol88
 
Gol94
 
HDGS91
J.E. Hoch, D. M. Davenport, V. G. Grafe, and K. M. Steele. Compile-time Partitioning of a Non-strict Language into Sequential Threads. In Proc. Syrup. on Parallel and Distributed Processing, Dec. 1991.
 
Ian88
R.A. Iannucci. A DatMtow/von Neumann Hybrid Architecture. Technical Report TR-418, MIT Lab for Comp. Sci., May 1988. (PhD Thesis, Dept. of EECS, MIT).
Jor83
Kie87
 
Myc80
 
Nik90
R.S. Nikhil. Id (Version 90.0) Reference Manual. Technical Report CSG Memo, to appear, MIT Lab for Comp. Sci., 1990.
 
Nik93
NPA92
 
NRB93
PC90
 
PCSH87
 
Pey92
S.L. Peyton Jones. Implementing lazy functional languages on stock hardware: the Spineless Tagless G-Machine. J. Functional Programming, April 1992.
 
Sch94
 
SCvE91
SGS+93
SH86
 
SNvGP91
SYH+89
TCS92
 
Tra86
 
Tra91


Collaborative Colleagues:
Klaus E. Schauser: colleagues
David E. Culler: colleagues
Seth C. Goldstein: colleagues