~/talk

Platinum: A CPU-Efficient Concurrent Garbage Collector

Talkat USENIX ATC '20 · 2020-07-15..07-17· [java, concurrency]
name:Mingyu Wu
links:none on file
links:none on file
links:none on file
name:Haoyu Li
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Platinum implements a mostly-concurrent JVM GC that isolates mutators and GC threads by binding GC threads to cores and moving mutators to idle-core pinning, partitions heap into collection/pinned/allocation regions to keep mutators out of collector working set, and replaces software write barriers with an MPK-based protection that triggers a page fault and handler for out-of-region writes. Built in OpenJDK and evaluated on an 80-core machine against G1, Shenandoah and CMS, it cuts 99th-tail latency up to 79.3% while keeping CPU overhead moderate, with <1 ms init pauses and ~10 ms final updates.

AI-written summary · about

  1. 0:00Intro
  2. 0:24A page is multiple services
  3. 2:13GC Pauses Introduce The Long Tail Problem
  4. 2:58Alternative Design: Concurrent GC
  5. 4:07Concurrent GC Is Not Always Helpful
  6. 5:47Why Are Concurrent Collectors Inefficient?
  7. 7:10Opportunities: Idle Cores in GC
  8. 8:05Opportunities: Skewed Write Behavior
  9. 9:14Opportunities: MPK
  10. 9:55Our Design: Platinum
  11. 10:36Design Overview
  12. 11:03Idle Core Collection
  13. 11:40Heap Partition
  14. 12:47Hardware-Assisted Barrier Elimination
  15. 15:52Cassandra
  16. 16:40Coupon
  17. 17:01CPU Utilization Under Stressful Workload
  18. 17:37Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.