A fast parallel conservative garbage collector for concurrent object-oriented systems

In future OO-OS, multiple applications written in heterogeneous languages will interact via shared objects. There, conservative GC (garbage collection) could provide storage management independent of programming languages and applications. Conservative GC, however, is difficult to extend naively into a concurrent scheme that meets the demands of very fast allocation-up to one million objects per second. The authors' parallel conservative GC resolves this by allowing allocation and collection to be done almost totally in parallel. They estimate that allocation takes less than 20 instructions, including the overhead of (rare) synchronization. The preliminary version of the algorithm is running on a 4-processor LUNA-88K with Mach 2.5. Their algorithm relies on the virtual memory primitives to be available to the user in order to maintain the necessary invariants; they briefly discuss the requirements of the future OO-OS in this respect.<<ETX>>