Shaving the Peaks: Taming Tail Latency for Managed Workloads via Disaggregated Garbage Collection
Hongtao Lyu, Yuhan Li, Mingyu Wu
Abstract
Language runtimes are essential systems commonly used in multi-tenant cloud scenarios, such as interactive web services and other cloud workloads. They usually provide memory management services, or garbage collection (GC), to automatically reclaim memory and reduce the labor work of application developers. Recent concurrent collectors allow GC to co-run with application threads (mutators), which reduces application pauses and intends to improve the applications' tail latency. However, this work observes that periodic GC workloads remain a primary source of long tail latency, particularly in resource-constrained multi-tenant environments. In such settings, GC threads consume significant CPU resources, leading to severe performance contention with mutators.
To resolve the contention, this work presents DGC, a disaggregated GC architecture that exposes GC as an external service. DGC decouples the most costly marking phase in concurrent GC and offloads it to a disaggregated marking engine. Through a co-design of the GC marking algorithm and an RDMA-based software paging mechanism, DGC's disaggregated marking engine achieves performance on par with local execution while offloading marking to a remote node. To improve resource utilization, DGC introduces a global GC orchestrator to serve multiple runtimes while minimizing the conflicts due to the overlapping of individual GC triggering points. DGC is implemented on the OpenJDK HotSpot Java virtual machine, and the evaluation results on representative latency-sensitive applications show that DGC reduces P99 latency by up to 64.4% under moderate workloads and improves the peak goodput by up to 24.0%.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 470cd13c-e5fb-46b9-89c8-4c6f965ff44aBuilds on23
- AIFM: High-Performance, Application-Integrated Far MemoryZhenyuan Ruan, Malte Schwarzkopf, Marcos K. Aguilera, Adam BelayOSDI 2020 · 224 citations
- Can far memory improve job throughput?Emmanuel Amaro, Christopher Branner-Augmon, Zhihong Luo, Amy Ousterhout et al.EuroSys 2020 · 163 citations
- Empowering Azure Storage with RDMAWei Bai, Shanim Sainul Abdeen, Ankit Agrawal, Krishan Kumar Attre et al.NSDI 2023 · 117 citations
- LineFS: Efficient SmartNIC Offload of a Distributed File System with Pipeline ParallelismJongyul Kim, Insu Jang, Waleed Reda, Jaeseong Im et al.SOSP 2021 · 83 citations
- Characterizing Off-path SmartNIC for Accelerating Distributed SystemsXingda Wei, Rongxin Cheng, Yuhan Yang, Rong Chen et al.OSDI 2023 · 68 citations
Related papers
- Let It Go: Relieving Garbage Collection Pain for Latency Critical Applications in GolangJunxian Zhao, Xiaobo Zhou, Sang-Yoon Chang, Chengzhong XuHPDC 2023
- Semeru: A Memory-Disaggregated Managed RuntimeChenxi Wang, Haoran Ma, Shi Liu, Yuanqi Li et al.OSDI 2020 · 6 citations
- Mako: a low-pause, high-throughput evacuating collector for memory-disaggregated datacentersHaoran Ma, Shi Liu, Chenxi Wang, Yifan Qiao et al.PLDI 2022 · 19 citations
- Platinum: A CPU-Efficient Concurrent Garbage Collector for Tail-Reduction of Interactive ServicesMingyu Wu, Ziming Zhao, Yanfei Yang, Haoyu Li et al.USENIX ATC 2020 · 18 citations
- Jade: A High-throughput Concurrent Copying Garbage CollectorMingyu Wu, Liang Mao, Yude Lin, Yifeng Jin et al.EuroSys 2024 · 5 citations
