Concurrent GCs and Modern Java Workloads: A Cache Perspective

Maria Carpen-Amarie, Georgios Vavouliotis, Konstantinos Tovletoglou, Boris Grot, Rene Mueller

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

Abstract / Description of output

The garbage collector (GC) is a crucial component of language runtimes, offering correctness guarantees and high productivity in exchange for a run-time overhead. Concurrent collectors run alongside application threads (mutators) and share CPU resources. A likely point of contention between mutators and GC threads and, consequently, a potential overhead source is the shared last-level cache (LLC). This work builds on the hypothesis that the cache pollution caused by concurrent GCs hurts application performance. We validate this hypothesis with a cache-sensitive Java micro-benchmark. We find that concurrent GC activity may slow down the application by up to 3 × and increase the LLC misses by 3 orders of magnitude. However, when we extend our analysis to a suite of benchmarks representative for today’s server workloads (Renaissance), we find that only 5 out of 23 benchmarks show a statistically significant correlation between GC-induced cache pollution and performance. Even for these, the performance overhead of GC does not exceed 10 %. Based on further analysis, we conclude that the lower impact of the GC on the performance of Renaissance benchmarks is due to their lack of sensitivity to LLC capacity
Original languageEnglish
Title of host publicationProceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management
Number of pages14
ISBN (Electronic)9798400701795
Publication statusPublished - 6 Jun 2023
Event2023 ACM SIGPLAN International Symposium on Memory Management - Orlando, United States
Duration: 18 Jun 2023 → …


Conference2023 ACM SIGPLAN International Symposium on Memory Management
Country/TerritoryUnited States
Period18/06/23 → …
Internet address


Dive into the research topics of 'Concurrent GCs and Modern Java Workloads: A Cache Perspective'. Together they form a unique fingerprint.

Cite this