The interprocedural analysis and automatic parallelization of scheme programs
Thesis/Dissertation
·
OSTI ID:6089190
Lisp and its descendants are among the most important and widely used of programming languages. At the same time, parallelism in the architecture of computer systems is becoming commonplace. There is a pressing need to extend the technology of automatic parallelization that has become available to Fortran programmers of parallel machines, to the realm of Lisp programs and symbolic computing. In this thesis the authors presents a comprehensive approach to the compilation of Scheme programs for share-memory multiprocessors. The strategy has two principal components: interprocedural analysis and program restructuring. He introduces procedure strings and stack configurations as a framework in which to reason about interprocedural side-effects and object lifetimes, and develop a system of interprocedural analysis, using abstract interpretation, that is used in the dependence analysis and memory management of Scheme programs. He introduces the transformations of exit-loop translation and recursion splitting to treat the control structures of iteration and recursion that arise commonly in Scheme programs. He proposes an alternative representation for s-expressions that facilitates the parallel creation and access of lists. He has implemented these ideas in a parallelizing scheme compiler and run-time system, and he complements the theory of the work with snapshots of programs during the restructuring process, and some preliminary performance results of the execution of object codes produced by the compiler.
- Research Organization:
- Illinois Univ., Urbana, IL (USA)
- OSTI ID:
- 6089190
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parcel: Project for the Automatic Restructuring and Concurrent Evaluation of Lisp
Interprocedural parallelization analysis: A case study
Interprocedural analysis for program restructuring with PARAFRASE
Technical Report
·
Wed Dec 31 23:00:00 EST 1986
·
OSTI ID:5734898
Interprocedural parallelization analysis: A case study
Conference
·
Thu Nov 30 23:00:00 EST 1995
·
OSTI ID:125597
Interprocedural analysis for program restructuring with PARAFRASE
Technical Report
·
Sat Dec 14 23:00:00 EST 1985
·
OSTI ID:5546102