Curare: Restructuring Lisp Programs For Concurrent Execution
James R Larus
EECS Department, University of California, Berkeley
Technical Report No. UCB/CSD-87-344
, 1987
http://www2.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}, Year= {1987}, Month= {Feb}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1987/5364.html}, Number= {UCB/CSD-87-344}, Abstract= {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.}, }
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://www2.eecs.berkeley.edu/Pubs/TechRpts/1987/5364.html %F Larus:CSD-87-344