Skip to content

Opening book details…

Can I read Lazy Pointer Update for Low Heap Compaction Pause Times on EtoBox?

Lazy Pointer Update for Low Heap Compaction Pause Times by Clément Béra, Eliot Miranda, and Elisa Gonzalez Boix is a scholarly article available to read on EtoBox.

What is Lazy Pointer Update for Low Heap Compaction Pause Times about?

To keep applications highly responsive, garbage collectors (GCs) try to minimize interruptions of the application threads. While pauses due to non moving GCs can be drastically reduced through concurrent or incremental strategies, compaction pauses remain a big problem. A strategy to decrease stop the world compaction pauses is to compact subsets of the heap at any one time. But this only reduces the time spent in moving compacted objects, not the time spent updating all references to those objects, which may be significant in large heaps. In this paper, we propose to only move compacted objects during the compaction pause, replacing moved objects by low-overhead forwarding objects. References to compacted objects are lazily updated while the application is running and during the next GC marking phase, outside of the compaction pause. We evaluate our technique on a suite of high workload (2 to 14Gb) benchmarks built from a real industrial application. Results show that not updating pointers during the compaction pause decreases the median pause up to 31% and the longest pause up to 71% on these benchmarks, while the forwarding objects slow down execution time without GC by no more

Author
Clément Béra, Eliot Miranda, and Elisa Gonzalez Boix
Publisher
ACM
Published
2019
Language
EN

More by Clément Béra, Eliot Miranda, and Elisa Gonzalez Boix

Browse all works by Clément Béra, Eliot Miranda, and Elisa Gonzalez Boix