Reducing pause time of conservative collectors

Toshio Endo, Kenjiro Taura
2002 Proceedings of the third international symposium on Memory management - ISMM '02  
This paper describes an incremental conservative garbage collector that significantly reduces pause time of an existing collector by Boehm et al. Like their collector, it is a true conservative collector that does not require compiler cooperation but uses virtual memory primitives (page protection) of operating systems for write barriers. While much successful work has been done on incremental collectors in general, achieving small pause time of the order of a few milliseconds in such
more » ... ive settings has been challenging. Our collector combines several ideas that bound pause times without introducing significant overheads. They include: (1) bounding the number of dirty (writable) pages during concurrent marking, (2) adaptive repetition of concurrent marking phases, and (3) allocating objects in black (marked) in later stages of a collection. With these techniques, we have achieved the maximum pause time of 2.6-4.5ms for five application benchmarks on 400MHz Ultra-SPARC processors. They are up to forty times shorter than the basic incremental collector similar to Boehm et al.'s. The overhead (total work time) of our collector is 1.2-53% to the stop-the-world collector and 9% or less to the basic incremental collector.
doi:10.1145/512430.512432 fatcat:karkyvujmbaxdbkpviyyrtisge