Lazy pointer update for low heap compaction pause times

Clément Béra, Eliot Miranda, Elisa Gonzalez Boix

Research output: Chapter in Book/Report/Conference proceedingConference paper

1 Citation (Scopus)

Abstract

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%.

Original languageEnglish
Title of host publicationProceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages
Editorsstefan marr, Juan Fumero
PublisherACM New York
Pages15-27
Number of pages13
EditionDLS 2019
ISBN (Electronic)978-1-4503-6996-1
DOIs
Publication statusPublished - 20 Oct 2019
EventACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity - Athens, Greece
Duration: 20 Oct 201925 Oct 2019
https://2019.splashcon.org/

Publication series

NameDLS 2019 - Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages, co-located with SPLASH 2019

Conference

ConferenceACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity
Abbreviated titleSPLASH 2019
CountryGreece
CityAthens
Period20/10/1925/10/19
Internet address

Fingerprint

Dive into the research topics of 'Lazy pointer update for low heap compaction pause times'. Together they form a unique fingerprint.

Cite this