Mako: A Low-Pause, High-Throughput Evacuating Collector for Memory-Disaggregated Datacenters
summary
Mako is an evacuating collector that offloads GC work to memory servers in RDMA‑connected, memory‑disaggregated datacenters, using a heap indirection table (HIT) so object references point to HIT entries rather than physical addresses and a tablet lock for region‑level synchronization. That eliminates concurrent pointer updates and lost forwarding pointers. Implemented prototype shows about 3× throughput vs Shenandoah when local memory shrinks and achieves ~12 ms 90th‑percentile pauses, avoiding the up to 25× slowdowns seen with conventional concurrent GCs.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:20Memory Capacity Bottleneck in Datacenters
- 0:47Memory Disaggregation
- 1:38Java Heap Structure
- 2:38Concurrent GC
- 3:39Limitations
- 4:29Challenges
- 6:00Heap Indirection Table
- 7:11#1 Concurrent Updating Reference
- 8:28#1 Indirection
- 9:15#2: Concurrent Evacuation
- 11:38#2 Tablet Lock
- 13:33Benchmarks
- 14:04Results: Throughput
- 14:26Results: Pause Time
- 14:49Key Takeaways
related talks
45mBeyond Machine Boundaries: Experience with Memory Disaggregation
16mA Tale of Two Paths: Toward a Hybrid Data Plane for Efficient Far-Memory Applications
37mMemSweeper: Virtualizing Cluster Memory Management for High Memory Utilization
01h 03mMMTk and The Case for Modular VM Development
18mHermit: Low-Latency, High-Throughput, and Transparent Remote Memory...
48mShenandoah GC: The Next Generation
19mFineMem: Breaking the Allocation Overhead vs. Memory Waste Dilemma in Fine-Grained...
17mDuhu: Shared Disaggregated Memory for Distributed Data Processing Frameworks
