An algorithm for parallel incremental compaction

  • Authors:
  • Ori Ben-Yitzhak;Irit Goft;Elliot K. Kolodner;Kean Kuiper;Victor Leikehman

  • Affiliations:
  • IBM Haifa Research Laboratory, Haifa, ISRAEL;IBM Haifa Research Laboratory, Haifa, ISRAEL;IBM Haifa Research Laboratory, Haifa, ISRAEL;IBM Haifa Research Laboratory, Haifa, ISRAEL;IBM Haifa Research Laboratory, Haifa, ISRAEL

  • Venue:
  • Proceedings of the 3rd international symposium on Memory management
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.