Distilling the Real Cost of Production Garbage Collectors

12/15/2021
by   Zixian Cai, et al.
0

Abridged abstract: despite the long history of garbage collection (GC) and its prevalence in modern programming languages, there is surprisingly little clarity about its true cost. Without understanding their cost, crucial tradeoffs made by garbage collectors (GCs) go unnoticed. This can lead to misguided design constraints and evaluation criteria used by GC researchers and users, hindering the development of high-performance, low-cost GCs. In this paper, we develop a methodology that allows us to empirically estimate the cost of GC for any given set of metrics. By distilling out the explicitly identifiable GC cost, we estimate the intrinsic application execution cost using different GCs. The minimum distilled cost forms a baseline. Subtracting this baseline from the total execution costs, we can then place an empirical lower bound on the absolute costs of different GCs. Using this methodology, we study five production GCs in OpenJDK 17, a high-performance Java runtime. We measure the cost of these collectors, and expose their respective key performance tradeoffs. We find that with a modestly sized heap, production GCs incur substantial overheads across a diverse suite of modern benchmarks, spending at least 7-82 to the baseline cost. We show that these costs can be masked by concurrency and generous provisioning of memory/compute. In addition, we find that newer low-pause GCs are significantly more expensive than older GCs, and, surprisingly, sometimes deliver worse application latency than stop-the-world GCs. Our findings reaffirm that GC is by no means a solved problem and that a low-cost, low-latency GC remains elusive. We recommend adopting the distillation methodology together with a wider range of cost metrics for future GC evaluations.

READ FULL TEXT
research
04/27/2016

Reducing DRAM Latency at Low Cost by Exploiting Heterogeneity

In modern systems, DRAM-based main memory is significantly slower than t...
research
05/04/2018

Tiered-Latency DRAM: Enabling Low-Latency Main Memory at Low Cost

This paper summarizes the idea of Tiered-Latency DRAM (TL-DRAM), which w...
research
01/02/2022

Investigating Cargo Loss in Logistics Systems using Low-Cost Impact Sensors

Cargo loss/damage is a very common problem faced by almost any business ...
research
05/16/2014

Computer Vision Approach for Low Cost, High Precision Measurement of Grapevine Trunk Diameter in Outdoor Conditions

Trunk diameter is a variable of agricultural interest, used mainly in th...
research
02/08/2019

Deterministic contention management for low latency Cloud RAN over an optical ring

The N-GREEN project has for goal to design a low cost optical ring techn...
research
11/01/2021

Low-Cost Algorithmic Recourse for Users With Uncertain Cost Functions

The problem of identifying algorithmic recourse for people affected by m...
research
01/23/2019

Safely Abstracting Memory Layouts

Modern architectures require applications to make effective use of cache...

Please sign up or login with your details

Forgot password? Click here to reset