ACM Home Page
Please provide us with feedback. Feedback
Compile-time analysis of parallel programs that share memory
Full text PdfPdf (1.20 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Albuquerque, New Mexico, United States
Pages: 130 - 141  
Year of Publication: 1992
ISBN:0-89791-453-8
Authors
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 24,   Citation Count: 12
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/143165.143194
What is a DOI?

ABSTRACT

Traditional optimization techniques for sequential programs are not directly applicable to parallel programs where concurrent activities may interfere with each other through shared variables. New compiler techniques must be developed to accommodate features found in parallel languages. In this paper, we use abstract interpretation to obtain useful properties of programs, e.g., side effects, data dependences, object lifetime and concurrent expressions, for a language that supports first-class functions, pointers, dynamic allocations and explicit parallelism through cobegin. These analyses may facilitate many applications, such as program optimization, parallelization, restructuring, memory management, and detecting access anomalies. Our semantics is based on a labeled transition system and is instrumented with procedure strings to record the procedural/concurrency movement along the program interpretation. We develop analyses in both concrete domains and abstract domains, and prove the correctness and termination of the abstract interpretation.


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.

 
BHA86
 
Bur87
G. L. Burn. Abstract Interpretation and the Parallel Evaluation of Functional Languages. PhD thesis, University of London, 1987.
CC77
 
Cyt86
Ron Cytron. On the implications of Parallel Languages for Compilers. Technical Report RC- 11723, IBM T.J. Watson Research Center, April 1986.
Deu90
 
HA89
 
Har89
Williams Ludwell Harrison IIi. The Interprocodural Analysis and Automatic Parallelization of Scheme Programs. Lisp and Symbolic Computation: an International Journal, 2(3/4):179-396, 1989.
 
Har91
Williams Ludwell Harrison III. Semantic Analysis of Symbolic Programs for Automatic Parallelization. book in preparation, 1991.
HPR89
 
Hud87
Paul Hudak. A Semantic Model of Reference Counting and its Abstraction. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages. Ellis Horwood Limited, 1987.
 
McD89
 
Mer91
MH89
 
MP90
S.P. Midkiff and D.A. Padua. Issues in the Optimization of Parallel Programs. In International Conference on Parallel Processing. Vol H Software, pages 105-113, 1990.
 
MPC90
Nie87
NPD87
 
Rat90
C. Rattray, editor. Specification and Verification of Concurrent Systems, Workshops in Computing. Springer-Voting, 1990.
Ros89
 
RS90
SS88
Tay83
 
Val89

CITED BY  12

Collaborative Colleagues:
Jyh-Herng Chow: colleagues
William Ludwell Harrison, III: colleagues