Home

A scalable mark-sweep garbage collector on large-scale shared-memory machines


Author(s) : Toshio Endo, 
Publisher : N/A
Publication Date : 1997
ISSN : N/A
Abstract : This thesis describes an implementation of a mark-sweep garbage collector (GC) for sharedmemory machines and reports its performance results. It is a simple `parallel ' collector in which all processors cooperatively traverse objects in the global shared heap. The collector stops the application program during collection phase. Implementation is based on the Boehm-Demers-Weiser conservative GC library (Boehm GC). Experiments have been conducted on two systems. One is Ultra Enterprise 10000, a symmetric shared-memory machine with 64 Ultra SPARC processors, and the other is Origin 2000, a distributed shared memory machine with 16 R10000 processors. The application programs used for our experiments are BH (an N-body problem solver with Barnes-Hut algorithm), CKY (a context free grammar parser), Life (a life game simulator) and RNA (a program to predict RNA secondary structure). On both systems, load balancing is a key to achieving scalability; a naive collector without load redistribution hardly exhibits speed-up. Performance can be improved by dynamic load balancing, which moves objects to be scanned across processors, but we still observe several,