Starvation-free heap size for replication-based incremental compacting garbage collection

  • Authors:
  • Tomoharu Ugawa;Hideya Iwasaki;Taiichi Yuasa

  • Affiliations:
  • The University of Electro-Communications, Tokyo, Japan;The University of Electro-Communications, Tokyo, Japan;Kyoto University, Kyoto, Japan

  • Venue:
  • Proceedings of the 2010 international conference on Lisp
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a method to estimate the amount of the heap required to execute application programs on runtime systems with our replication-based incremental compacting garbage collector. Our method provides a strategy for adjusting the timing to trigger garbage collection and choosing a heap region to be evacuated during partial compaction, which moves all objects in one part of the heap to the rest of the heap. The method is also used to determing the minimum heap size that guarantees free memory never exhausts during incremental garbage collection. Furthermore, we ensure that allocation never fails due to fragmentation with the strategy. The strategy is to reserve a contiguous free area and to prohibit the allocator from allocating in that area until garbage collection is triggered. When it becomes necessary to use the reserved free area to satisfy an allocation request, we trigger garbage collection. We show that, with this strategy, an application never fails to allocate objects with a larger heap than R + 2 √(2Ra) + 3a plus space overhead caused by the heap layout, where R is the maximum amount of live objects and a is the upper bound of the possible amount of allocation during a single collection cycle.