Lazy Pointer Update for Low Heap Compaction Pause TimesResearch Paper
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 than 1%.
Sun 20 OctDisplayed time zone: Beirut change
16:00 - 17:30 | |||
16:00 30mTalk | Lazy Pointer Update for Low Heap Compaction Pause TimesResearch Paper DLS 2019 Clément Béra Google, Aarhus, Eliot Miranda Cadence Design Systems, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium | ||
16:30 30mTalk | Sindarin: a Versatile Scripting API for the Pharo DebuggerResearch Paper DLS 2019 Thomas Dupriez Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL, Guillermo Polito Univ. Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL - Centre de Recherche en Informatique Signal et Automatique de Lille, Steven Costiou INRIA Lille, Vincent Aranega Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL, Stéphane Ducasse INRIA Lille Media Attached | ||
17:00 30mTalk | Standard Object Out: Streaming Objects with Polymorphic Write StreamsExperience Paper DLS 2019 Marcel Weiher Hasso-Plattner-Institut (HPI), Germany, Robert Hirschfeld Hasso-Plattner-Institut (HPI), Germany Pre-print Media Attached |