Danny Harnik, Elliot K. Kolodner, et al.
Scalable Computing
Garbage collectors of the mark-sweep family may suffer from memory fragmentation and require the use of compaction. Known compaction methods are expensive and work while program activity is stopped, so that compaction is often a major contributor to garbage collection pause times. We present a parallel incremental compaction algorithm that reduces pause times by working in parallel and evacuating a part of the heap when the program threads are stopped for garbage collection. Our algorithm works with collectors based on mark-sweep, including mostly concurrent collectors. We have implemented a prototype of our algorithm as part of the garbage collector in the IBM JVM. Measurements of our prototype show that even with the most simple-minded policies, e.g., for choosing the area to evacuate, parallel incremental compaction can successfully reduce maximum garbage collection pause times with a minimal performance penalty.
Danny Harnik, Elliot K. Kolodner, et al.
Scalable Computing
Ori Ben-Yitzhak, Irit Goft, et al.
ISMM 2002
Nikoletta Mavrogeorgi, Vasileios Alexandrou, et al.
CLOUD 2013
Ran Shaham, Elliot K. Kolodner, et al.
ISMM 2002