Skip to Main content Skip to Navigation
Conference papers

A study of the scalability of stop-the-world garbage collectors on multicores

Lokesh Gidra 1, 2 Gaël Thomas 1, 2 Julien Sopena 1, 2 Marc Shapiro 1, 2
1 Regal - Large-Scale Distributed Systems and Applications
LIP6 - Laboratoire d'Informatique de Paris 6, Inria Paris-Rocquencourt
Abstract : Large-scale multicore architectures are problematic for garbage collection (GC). In particular, throughput-oriented stop-the-world algorithms demonstrate excellent performance with a small number of cores, but have been shown to degrade badly beyond approximately 20 cores on OpenJDK 7. This negative result raises the question whether the stop-the-world design has intrinsic limitations that would require a radically different approach. Our study suggests that the answer is no, and that there is no compelling scalability reason to discard the existing highly-optimised throughput-oriented GC code on contemporary hardware. This paper studies the default throughput-oriented garbage collector of OpenJDK 7, called Parallel Scavenge. We identify its bottlenecks, and show how to eliminate them using well-established parallel programming techniques. On the SPECjbb2005, SPECjvm2008 and DaCapo 9.12 benchmarks, the improved GC matches the performance of Parallel Scavenge at low core count, but scales well, up to 48 cores.
Document type :
Conference papers
Complete list of metadata

Cited literature [29 references]  Display  Hide  Download

https://hal.inria.fr/hal-00868012
Contributor : Gaël Thomas <>
Submitted on : Monday, September 30, 2013 - 10:53:31 PM
Last modification on : Wednesday, February 10, 2021 - 6:56:04 PM
Long-term archiving on: : Friday, April 7, 2017 - 4:33:52 AM

File

gidra13asplos-naps.pdf
Publisher files allowed on an open archive

Identifiers

Citation

Lokesh Gidra, Gaël Thomas, Julien Sopena, Marc Shapiro. A study of the scalability of stop-the-world garbage collectors on multicores. ASPLOS 13 - Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, ACM, Mar 2013, Houston, United States. pp.229-240, ⟨10.1145/2451116.2451142⟩. ⟨hal-00868012⟩

Share

Metrics

Record views

946

Files downloads

1876