Ran Shaham, Elliot K. Kolodner, et al.
ACM SIGPLAN Notices
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.
Ran Shaham, Elliot K. Kolodner, et al.
ACM SIGPLAN Notices
Tamar Domani, Elliot K. Kolodner, et al.
ISMM 2000
Gil Vernik, Michael Factor, et al.
CCGrid 2018
Yoav Ossia, Ori Ben-Yitzhak, et al.
PLDI 2002