Memory management and garbage collection of an extended common lisp system for massively parallel SIMD architecture

  • Taiichi Yuasa
Massive Parrallel Architectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 637)


We have developed an extended Common Lisp language and system, called TUPLE, for massively parallel SIMD (Single Instruction stream, Multiple Data stream) architecture. The system is an extension of Common Lisp with features for SIMD parallel computation.

Unlike other Lisp languages on SIMD architecture, TUPLE supports the programming model that there are a huge number of subset Common Lisp systems running in parallel. For this purpose, each processing element (PE) of the target machine has its own heap in its local memory. In addition, there is a full-set Common Lisp system with which the user interacts to develop and execute parallel programs. The result is that there are huge number of heaps with pointers across heaps.

This paper briefly introduces the TUPLE language and system, and then describes the memory management and garbage collection of the TUPLE system. In particular, we focus on the current implementation of TUPLE on the SIMD machine MasPar MP-1 with at least 1024 PEs.


Processing Element Garbage Collection Binary Search Tree Head Cell Garbage Collector 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Okazawa, T.: Design and Implementation of a Common Lisp System Extended for Massively Parallel SIMD Computer. Master's thesis (in Japanese), Toyohashi Univ. of Tech. (1992)Google Scholar
  2. 2.
    Padget, J.: Data-Parallel Symbolic Processing. Proceedings of the DPRI symposium, Boston (1992)Google Scholar
  3. 3.
    Quinn, M.: Designing Efficient Algorithms for Parallel Computers. McGraw-Hill (1987)Google Scholar
  4. 4.
    Sabot G.: Introduction to Paralation Lisp. Technical Report PL87-1, Thinking Machines-Corporation (1987)Google Scholar
  5. 5.
    Sabot G.: The Paralation Model: Architecture Independent Parallel Programming. MIT Press (1988)Google Scholar
  6. 6.
    Steele, G.: Common Lisp the Language. Digital Press (1984)Google Scholar
  7. 7.
    Steele, G., Hillis, D.: Connection Machine Lisp: Fine-Grained Parallel Symbolic Processing. Proc. 1986 ACM Conf. on Lisp and Functional Programming (1986)Google Scholar
  8. 8.
    Wholey, S., Steele, G.: Connection Machine Lisp: a dialect of Common Lisp for data parallel programming. Proc. Second International Conf. on Supercomputing (1987)Google Scholar
  9. 9.
    Yuasa, T.: Design and Implementation of Kyoto Common Lisp. Journal of Information Processing, Vol.13, No.3 (1990)Google Scholar
  10. 10.
    Yuasa, T.: TUPLE — An Extension of KCL for Massively Parallel SIMD Architecture-Draft for the Second Edition. available from the author (1992)Google Scholar
  11. 11.
    Yuasa, T.: TUPLE: An Extended Common Lisp for Massively Parallel SIMD Architecture. Proceedings of the DPRI symposium, Boston (1992)Google Scholar
  12. 12.
    Connection Machine Lisp Reference Manual. Thinking Machines Corporation (1987)Google Scholar
  13. 13.
    Introduction to Data Level Parallelism. Technical Report PR86-14, Thinking Machines Corporation (1986)Google Scholar
  14. 14.
    *Lisp Reference Manual. Thinking Machines Corporation (1988)Google Scholar
  15. 15.
    MasPar Parallel Application Language (MPL) User Guide. MasPar Computer Corporation (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Taiichi Yuasa
    • 1
  1. 1.Toyohashi University of TechnologyToyohashiJapan

Personalised recommendations