| Intererence analysis tools for parallelizing programs with recursive data structures |
| Full text |
Pdf
(1.09 MB)
|
| Source
|
International Conference on Supercomputing
archive
Proceedings of the 3rd international conference on Supercomputing
table of contents
Crete, Greece
Pages: 205 - 214
Year of Publication: 1989
ISBN:0-89791-309-4
|
|
Authors
|
|
Laurie J. Hendren
|
Dept. of Computer Science, Upson Hall, Cornell University, Ithaca, NY
|
|
Alexandru Nicolau
|
Dept. of Information and Computer Science, University of California - Irvine, Irvine, CA
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 10, Downloads (12 Months): 20, Citation Count: 1
|
|
|
ABSTRACT
Interference estimation is a useful tool in developing parallel programs and is a key aspect of automatically parallelizing sequential programs. Interference analysis and disambiguation mechanisms for programs with simple data types and arrays have become a standard part of parallelizing and vectorizing compilers. However, efficient and implementable techniques for interference analysis in the presence of dynamic data-structures have yet to be developed. In this paper we study the problem of estimating interference in an imperative language with dynamic data-structures. We focus on developing efficient and implementable methods for regular recursive data-structures. We illustrate the approach by presenting a method for analysing trees and DAGs. In particular, we develop a structural flow-analysis technique that allows us to estimate whether two statements affect disjoint sub-trees of a forest of dynamically-allocated trees and DAGs. The method is based on a regular-expression-like representation of the relationships between accessible nodes in the forest. We have implemented our analysis and have obtained some very promising preliminary 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.
 |
AK87
|
|
| |
Ban79a
|
|
 |
Ban79b
|
|
 |
Bar78
|
|
 |
BC86
|
|
| |
BN86
|
|
| |
DK85
|
Henry Dietz and David Klappholz. Refined C: A sequential language for parallel processing. I-n ICPP, pages 442-449, 1985.
|
 |
GL86
|
|
| |
Gua88
|
Vincent A. Guarna Jr. A technique for analyzing pointer and structure references in parallel restructuring compilers, ht Proceedings of the International Conference on Parallel Processing, volume 2, pages 212-220, 1988.
|
| |
Har86
|
W. Ludwell Harrison III. Compiling Lisp for evaluation on a tightly coupled multiprocessor. Technical Report CSRD Rpt. No. 565, Center for Supercomputing Research and Development, University of Illinois at Urbanan-Champaign, March 1986.
|
| |
Har88
|
|
| |
Hen88
|
|
| |
HN89
|
Laurie J. Hendren and Alexandru Nicolau. P~rallelizing programs with recursive data structures. In Proceedings of the International Conference on Parallel Processing, 1989.
|
 |
Hud86
|
|
| |
JM81
|
|
 |
JM82
|
|
 |
LG88
|
|
 |
LH88a
|
|
 |
LH88b
|
James R. Larus , Paul N. Hilfinger, Restructuring Lisp programs for concurrent execution, Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems, p.100-110, July 19-21, 1988, New Haven, Connecticut, United States
|
| |
Luc87
|
J. M. Lucassen. Types and Effects: Towards the Integration oJ Functional and Imperative Programming. PhD thesis, MIT, 1987.
|
| |
Nei88
|
|
| |
Nic84
|
|
 |
PW86
|
|
 |
RM88
|
|
 |
Wei80
|
|
| |
Wol82
|
|
|