MULTILISP: a language for concurrent symbolic computation
- 1 October 1985
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 7 (4), 501-538
- https://doi.org/10.1145/4472.4478
Abstract
Multilisp is a version of the Lisp dialect Scheme extended with constructs for parallel execution. Like Scheme, Multilisp is oriented toward symbolic computation. Unlike some parallel programming languages, Multilisp incorporates constructs for causing side effects and for explicitly introducing parallelism. The potential complexity of dealing with side effects in a parallel context is mitigated by the nature of the parallelism constructs and by support for abstract data types: a recommended Multilisp programming style is presented which, if followed, should lead to highly parallel, easily understandable programs. Multilisp is being implemented on the 32-processor Concert multiprocessor; however, it is ultimately intended for use on larger multiprocessors. The current implementation, called Concert Multilisp , is complete enough to run the Multilisp compiler itself and has been run on Concert prototypes including up to eight processors. Concert Multilisp uses novel techniques for task scheduling and garbage collection. The task scheduler helps control excessive resource utilization by means of an unfair scheduling policy; the garbage collector uses a multiprocessor algorithm based on the incremental garbage collector of Baker.Keywords
This publication has 19 references indexed in Scilit:
- The Manchester prototype dataflow computerCommunications of the ACM, 1985
- Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential ProcessorsACM Transactions on Programming Languages and Systems, 1983
- The NYU Ultracomputer—Designing an MIMD Shared Memory Parallel ComputerInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1983
- Experience with Multiprocessor AlgorithmsInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1982
- Can programming be liberated from the von Neumann style?Communications of the ACM, 1978
- Communicating sequential processesCommunications of the ACM, 1978
- Aspects of Applicative Programming for Parallel ProcessingInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1978
- MonitorsCommunications of the ACM, 1974
- The Illiac IV systemProceedings of the IEEE, 1972
- The structure of the “THE”-multiprogramming systemCommunications of the ACM, 1968