Curare: Restructuring Lisp Programs For Concurrent Execution
James R Larus
EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-87-344
February 1987
http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-344.pdf
This paper describes the techniques used by CURARE, a program transformer, to restructure Lisp programs for concurrent execution in multiprocessor Lisp systems. CURARE tries to eliminate control and data-dependencies that prevent concurrent execution of the invocations of recursive functions. CURARE also inserts a variety of synchronization devices to ensure that unremovable dependencies do not impair execution of a program. The product of this process is semantically equivalent to the original Lisp program, but executes faster on a multiprocessor than would the original program.
BibTeX citation:
@techreport{Larus:CSD-87-344,
Author = {Larus, James R},
Title = {Curare: Restructuring Lisp Programs For Concurrent Execution},
Institution = {EECS Department, University of California, Berkeley},
Year = {1987},
Month = {Feb},
URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/5364.html},
Number = {UCB/CSD-87-344}
}
EndNote citation:
%0 Report %A Larus, James R %T Curare: Restructuring Lisp Programs For Concurrent Execution %I EECS Department, University of California, Berkeley %D 1987 %@ UCB/CSD-87-344 %U http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/5364.html %F Larus:CSD-87-344
