Hasty Briefsbeta

Low-latency, high-throughput garbage collection

11 days ago
  • #garbage collection
  • #low-latency
  • #performance optimization
  • A stop-the-world garbage collector (LXR) can achieve better tail latencies than concurrent garbage collectors.
  • LXR uses temporal coarsening to amortize reference count tracking costs across pointer field modifications.
  • Coalescing reduces unnecessary reference count updates by buffering changes and applying them at GC pauses.
  • Deferral applies temporal coarsening to stack pointers, scanning stacks at the start of an RC epoch.
  • LXR combines reference counting with SATB tracing to handle object graph cycles.
  • Reference counts are stored in separate 2-bit allocations, with 'stuck' counts handled by SATB.
  • LXR shows promising performance results but may face issues with cache misses during reference count updates.
  • A proposed solution involves aggregation within the memory hierarchy to mitigate cache misses.