ABSTRACT
Multilisp is an extension of Lisp (more specifically, of the Lisp dialect Scheme [15]) with additional operators and additional semantics to deal with parallel execution. It is being implemented on the 32-processor Concert multiprocessor. The current implementation is complete enough to run the Multilisp compiler itself, and has been run on Concert prototypes including up to four processors. Novel techniques are used 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 modeled after the incremental garbage collector of Baker [2]. A companion paper [9] discusses language design issues relating to Multilisp.
- 1.Anderson, T., The Design of a Multiprocessor Development System, M.I.T. Laboratory for Computer Science Technical Report TR-279, Cambridge, Mass., Sept. 1982. Google ScholarDigital Library
- 2.Baker, H., Actor Systems for Real-Time Computation, M.I.T. Laboratory for Computer Science Technical Report TR-197, Cambridge, Mass., March 1978. Google ScholarDigital Library
- 3.Baker, H., and C. Hewitt, "The Incremental Garbage Collection of Processes," M.I.T. Artificial Intelligence Laboratory Memo 454, Cambridge, Mass. Dec. 1977. Google ScholarDigital Library
- 4.Cohen, S., R. Rosner, and A. Zidon, "Paralisp Simulator (reference manual)," Hebrew University Computer Science Dept. Research Report 83-2, Jerusalem, Israel, Jan. 1983.Google Scholar
- 5.Dijkstra, E., et al., "On-the-fly Garbage Collection: An Exercise in Co-operation," Language Hierarchies and Interfaces (Lecture Notes in Computer Science 46), Springer-Verlag, 1976.Google Scholar
- 6.Friedman, D., and D. Wise, "Aspects of Applicative Programming for Parallel Processing," IEEE Trans. Comp. C-27:4, April 1978, pp. 289-296.Google ScholarDigital Library
- 7.Halstead, R., "Architecture of a Myriaprocessor," IEEE COMPCON Spring 81, San Francisco, Feb. 1981, pp. 299-302.Google Scholar
- 8.Halstead, R., "Architecture of a Myriaprocessor," in Advanced Computer Concepts, J. Solinsky, ed., La Jolla Institute, La Jolla, California, 1981.Google Scholar
- 9.Halstead, R., "The Multilisp Language: Lisp for a Multiprocessor," submitted to International Conference on Fifth Generation Computer Systems, Tokyo, Nov. 1984.Google Scholar
- 10.Keller, R., "Rediflow Multiprocessing," IEEE COMPCON Spring 84, San Francisco, Feb. 1984.Google Scholar
- 11.Kernighan, B., and D. Ritchie, The C Programming Language, Prentice-Hall, Englewood Cliffs, N.J., 1978. Google ScholarDigital Library
- 12.Marti, J., and J. Fitch, "The Bath Concurrent Lisp Machine," EUROCAM '83 (Lecture Notes in Computer Science), Springer-Verlag, 1983. Google ScholarDigital Library
- 13.Schwartz, J., "Ultracomputers," ACM Trans. Programming Languages and Systems 2:4, October 1980, pp. 484-521. Google ScholarDigital Library
- 14.Sugimoto, S., et al., "A Multi-Microprocessor System for Concurrent Lisp," Proc. 1983 International Conf. on Parallel Processing, June 1983.Google Scholar
- 15.Sussman, G., and H. Abelson, Structure and Interpretation of Computer Programs, M.I.T. Artificial Intelligence Laboratory Technical Report 735, Cambridge, Mass., draft July 1983. Google ScholarDigital Library
Index Terms
- Implementation of multilisp: Lisp on a multiprocessor
Recommendations
MULTILISP: a language for concurrent symbolic computation
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 ...
Speculative computation in multilisp
LFP '90: Proceedings of the 1990 ACM conference on LISP and functional programmingWe present experimental evidence that performing computations in parallel before their results are known to be required can yield performance improvements over conventional approaches to parallel computing. We call such eager computation of expressions ...
Overview of concert multilisp: a multiprocessor symbolic computing system
Multilisp is a parallel programming language derived from the Scheme dialect of Lisp by addition of the future construct. Multilisp has been implemented on Concert, a shared-memory muitiprocessor that uses a novel RingBus interconnection. Concert ...
Comments