TY - GEN
T1 - REPRESENTING S-EXPRESSIONS FOR THE EFFICIENT EVALUATION OF LISP ON PARALLEL PROCESSORS.
AU - Harrison, W. Ludwell
AU - Padua, David A.
PY - 1986
Y1 - 1986
N2 - Present methods for exploiting parallelism in Lisp programs perform poorly on 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 computations (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. A description is given of the representation of s-expressions used 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.
AB - Present methods for exploiting parallelism in Lisp programs perform poorly on 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 computations (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. A description is given of the representation of s-expressions used 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.
UR - http://www.scopus.com/inward/record.url?scp=0022913731&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0022913731&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:0022913731
SN - 0818607246
T3 - Proceedings of the International Conference on Parallel Processing
SP - 703
EP - 710
BT - Proceedings of the International Conference on Parallel Processing
A2 - Hwang, Kai
A2 - Jacobs, Steven M.
A2 - Swartzlander, Earl E.
PB - IEEE
ER -