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 language | English |
|---|---|
| Title of host publication | Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages |
| Editors | stefan marr, Juan Fumero |
| Publisher | ACM New York |
| Pages | 15-27 |
| Number of pages | 13 |
| Edition | DLS 2019 |
| ISBN (Electronic) | 978-1-4503-6996-1 |
| DOIs | |
| Publication status | Published - 20 Oct 2019 |
| Event | ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity - Athens, Greece Duration: 20 Oct 2019 → 25 Oct 2019 https://2019.splashcon.org/ |
Publication series
| Name | DLS 2019 - Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages, co-located with SPLASH 2019 |
|---|
Conference
| Conference | ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity |
|---|---|
| Abbreviated title | SPLASH 2019 |
| Country/Territory | Greece |
| City | Athens |
| Period | 20/10/19 → 25/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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver