Memory management and garbage collection of an extended common lisp system for massively parallel SIMD architecture
- 105 Downloads
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.
KeywordsProcessing Element Garbage Collection Binary Search Tree Head Cell Garbage Collector
Unable to display preview. Download preview PDF.
- 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.Padget, J.: Data-Parallel Symbolic Processing. Proceedings of the DPRI symposium, Boston (1992)Google Scholar
- 3.Quinn, M.: Designing Efficient Algorithms for Parallel Computers. McGraw-Hill (1987)Google Scholar
- 4.Sabot G.: Introduction to Paralation Lisp. Technical Report PL87-1, Thinking Machines-Corporation (1987)Google Scholar
- 5.Sabot G.: The Paralation Model: Architecture Independent Parallel Programming. MIT Press (1988)Google Scholar
- 6.Steele, G.: Common Lisp the Language. Digital Press (1984)Google Scholar
- 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.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.Yuasa, T.: Design and Implementation of Kyoto Common Lisp. Journal of Information Processing, Vol.13, No.3 (1990)Google Scholar
- 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.Yuasa, T.: TUPLE: An Extended Common Lisp for Massively Parallel SIMD Architecture. Proceedings of the DPRI symposium, Boston (1992)Google Scholar
- 12.Connection Machine Lisp Reference Manual. Thinking Machines Corporation (1987)Google Scholar
- 13.Introduction to Data Level Parallelism. Technical Report PR86-14, Thinking Machines Corporation (1986)Google Scholar
- 14.*Lisp Reference Manual. Thinking Machines Corporation (1988)Google Scholar
- 15.MasPar Parallel Application Language (MPL) User Guide. MasPar Computer Corporation (1991)Google Scholar