Partial Marking GC
Garbage collection (GC) normally causes pause of execution. Parallel GC has a great potential for real time (non-disruptive) processing. A traditional parallel mark and sweep GC algorithm has, however, well known disadvantages. In this paper, we propose a new GC scheme called Partial Marking GC (PMGC) which is a valiant of generational GC. We implemented a Lisp interpreter with PMGC on a general purpose multi-CPU workstation. As a result, in the best case, PMGC is provided to be twice as efficient as the original algorithm. PMGC is very effective for implementing practical parallel GC.
Unable to display preview. Download preview PDF.
- 1.Gabriel, Richard P.: Performance and Evaluation of Lisp systems. The MIT Press (Cambridge, Massachusetts, 1985)Google Scholar
- 2.Hickey, T. and Cohen, J.: Perfromance Analysis of On-the-fly garbage collection. Comm. ACM, 27(11) (1984) 1143–1154Google Scholar
- 3.Lieberman, H. and Hewitt, C.: A Real-Time Garbage Collector Based on the Life-times of Objects. Comm. ACM, 26(6) (1983) 419–429Google Scholar
- 4.Matsui, S. et al.: SYNAPSE: A Multi-micro-processor Lisp Machine with Parallel Garbage Collector. Proceedings of the International Workshop on Parallel Algorithms and Architectures. (Suhl, GDR, 1987) 131–137Google Scholar
- 5.Tanaka, Y. and Matsui, S. et al.: Parallel Garbage Collection by Partial Marking and Conditionally Invoked GC. Proceedings of the International Conference on Parallel Computing Technologies, 2, (Obninsk, RUSSIA, 1993) 397–408Google Scholar
- 6.Ungar, D.: Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm. ACM SIGPLAN Notices 19(5) (1987) 157–167Google Scholar
- 7.Wilson, Paul R.: Uniprocessor Garbage Collection Techniques. Lecture Notes in Computer Science 637. Springer-Verlag (1992) 1–42Google Scholar
- 8.Yuasa, T.: Real-Time Garbage Collection on General-Purpose Machines. The Journal of Systems and Software 11(3) (1990) 181–198Google Scholar