Mul-T: A high-performance parallel lisp

  • David A. Kranz
  • Robert H. HalsteadJr.
  • Eric Mohr
Part II Parallel Lisp Systems and Architectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 441)


The development of Mul-T has been valuable in several ways. First, Mul-T is a complete, working parallel Lisp system, publicly available to interested users. Second, its single-processor performance is competitive with that of “production quality” sequential Lisp implementations, and therefore a parallel program running under Mul-T can show absolute speedups over the best sequential implementation of the same algorithm. This is attractive to application users whose primary interest is raw speed rather than the abstract gratification of having demonstrated speedup via a time-consuming simulation. Finally, implementing Mul-T has allowed us to experiment with and evaluate implementation strategies such as inlining. The Mul-T experience has also allowed us to probe the limits of implementing futures on stock multiprocessors, and has suggested (for example) that hardware assistance for tag management may be a more significant benefit in a machine for parallel Lisp (where it can eliminate the 65% overhead of implicit touches) than it has ever proven to be in machines for sequential Lisps.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Abelson, H., and G.J. Sussman with J. Sussman, Structure and Interpretation of Computer Programs, MIT Press, Cambridge, 1985.Google Scholar
  2. [2]
    Allen, D., S. Steinberg, and L. Stabile, “Recent developments in Butterfly Lisp,” AAAI 87, July 1987, Seattle, pp. 2–6.Google Scholar
  3. [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 Scholar
  4. [4]
    Clark, D.W., “An efficient list-moving algorithm using constant workspace,” Communications of the ACM 19(6), pages 352–354, June 1976.Google Scholar
  5. [5]
    Crowther, W., et al., “Performance Measurements on a 128-Node Butterfly Parallel Processor,” 1985 Int'l. Conf. on Parallel Processing, St. Charles, Ill., Aug. 1985, pp. 531–540.Google Scholar
  6. [6]
    Gabriel, R., Performance and Evaluation of Lisp Systems, M.I.T. Press, Cambridge, Mass., 1985.Google Scholar
  7. [7]
    Gabriel, R.P., and J. McCarthy, “Queue-based Multi-processing Lisp,” 1984 ACM Symp. on Lisp and Functional Programming, Austin, Tex., Aug. 1984, pp. 25–44.Google Scholar
  8. [8]
    Gabriel, R.P., and J. McCarthy, “Qlisp,” in J. Kowalik, ed., Parallel Computation and Computers for Artificial Intelligence, Kluwer Academic Publishers, Boston, 1988, pp. 63–89.Google Scholar
  9. [9]
    Goldman, R., and R.P. Gabriel, “Preliminary Results with the Initial Implementation of Qlisp,” 1988 ACM Symp. on Lisp and Functional Programming, Snowbird, Utah, July 1988, pp. 143–152.Google Scholar
  10. [10]
    Halstead, R., “Multilisp: A Language for Concurrent Symbolic Computation,” ACM Trans. on Prog. Languages and Systems 7:4, October 1985, pp. 501–538.Google Scholar
  11. [11]
    Halstead, R., “Parallel Symbolic Computing,” IEEE Computer 19:8, August 1986, pp. 35–43.Google Scholar
  12. [12]
    Halstead, R., “An Assessment of Multilisp: Lessons from Experience,” Int'l. J. of Parallel Programming 15:6, Dec. 1986, pp. 459–501.Google Scholar
  13. [13]
    Kranz, D., et al., “Orbit: An Optimizing Compiler for Scheme,” Proc. SIGPLAN '86 Symp. on Compiler Construction, June 1986, pp. 219–233.Google Scholar
  14. [14]
    Kranz, D., “ORBIT: An Optimizing Compiler for Scheme,” Yale University Technical Report YALEU/DCS/RR-632, February 1988.Google Scholar
  15. [15]
    Kranz, D., R. Halstead, and E. Mohr, “Mul-T, A High-Performance Parallel Lisp”, ACM SIGPLAN '89 Conference on Programming Language Design and Implementation, Portland, OR, June 1989, pp. 81–90.Google Scholar
  16. [16]
    Miller, J., MultiScheme: A Parallel Processing System Based on MIT Scheme, Ph.D. thesis, M.I.T. E.E.C.S. Dept., Cambridge, Mass., August 1987.Google Scholar
  17. [17]
    Rees, J., N. Adams, and J. Meehan, The T Manual, fourth edition, Yale University Computer Science Department, January 1984.Google Scholar
  18. [18]
    Rees, J., and W. Clinger, eds., “Revised3 Report on the Algorithmic Language Scheme,” ACM SIGPLAN Notices 21:12, Dec. 1986, pp. 37–79.Google Scholar
  19. [19]
    Swanson, M.R., R.R. Kessler, and G. Lindstrom, “An Implementation of Portable Standard Lisp on the BBN Butterfly,” 1988 ACM Symp. on Lisp and Functional Programming, Snowbird, Utah, July 1988, pp. 132–142.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • David A. Kranz
    • 1
  • Robert H. HalsteadJr.
    • 2
  • Eric Mohr
    • 3
  1. 1.Laboratory for Computer ScienceMassachusetts Instutue of TechnologyCambridge
  2. 2.DEC Cambridge Research LabUSA
  3. 3.Yale UniversityUSA

Personalised recommendations