Representing S-expressions for the efficient evaluation of Lisp on parallel processors
Technical Report
·
OSTI ID:7249712
Present methods for exploiting parallelism in Lisp programs perform poorly upon lists (long, flat s-expressions), as such structures must be both created and traversed sequentially. While such a serial operation may be masked by overlapping it with other computation (by virtue of process spawning, or by the use of a mechanism such as futures), it represents a lost (and potentially large) source of parallelism. In this paper we describe the representation of s-expressions employed in PARCEL (Project for the Automatic Restructuring and Concurrent Evaluation of Lisp), which facilitates the creation and access of lists, without compromising the performance of functions which manipulate s-expressions of a more general shape. Using this representation, the PARCEL compiler translates Lisp programs written in a subset of the Scheme dialect (which allows for global variables and atom properties) into code for a large, tightly coupled shared memory multiprocessor. 12 refs.
- Research Organization:
- Illinois Univ., Urbana (USA). Center for Supercomputing Research and Development
- DOE Contract Number:
- FG02-85ER25001
- OSTI ID:
- 7249712
- Report Number(s):
- DOE/ER/25001-8; CSRD-564; ON: DE87002085
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parcel: Project for the Automatic Restructuring and Concurrent Evaluation of Lisp
Compiling Lisp for evaluation on a tightly coupled multiprocessor
Parallel Lisp simulator
Technical Report
·
Wed Dec 31 23:00:00 EST 1986
·
OSTI ID:5734898
Compiling Lisp for evaluation on a tightly coupled multiprocessor
Technical Report
·
Wed Mar 19 23:00:00 EST 1986
·
OSTI ID:7008110
Parallel Lisp simulator
Technical Report
·
Sun May 01 00:00:00 EDT 1988
·
OSTI ID:6792175