~/talk

Shenandoah: An open source pauseless GC for OpenJDK.

Talkat Strange Loop 2014 · 2014-09-17..09-19· [web-performance]
links:none on file
slides:none on file

Shenandoah implements concurrent evacuation for OpenJDK by doing marking and copying while Java threads run, using regioned heaps, work‑stealing parallelism and per‑object forwarding pointer indirection. It adds an extra word per object, unconditional read barrier and heavier write barriers, and treats very large “humongous” objects specially. The claim is sub‑10ms pauses for 100+GB heaps; measured initial/final marks land around 5–8ms (max 10–15ms) versus G1’s ~31/75ms, at a throughput cost reported in the single‑digits to low tens of percent.

AI-written summary · about

  1. 0:00Start
  2. 0:41What do you mean by ultra-low pause time?
  3. 1:38What exactly are we organizing?
  4. 3:38Why concurrent compaction is hard.
  5. 4:03What does the GC do?
  6. 4:30What does Shenandoah do to optimize GC time?
  7. 5:53How do we do this while the Java threads are running?
  8. 7:28Added benefit to forwarding pointers
  9. 8:04Shenandoah: Current implementation
  10. 9:45What's tricky about SATB? Start of Concurrent Marking
  11. 10:14How to move an object while the program is running
  12. 10:47Forwarding Pointers - reads
  13. 12:28Forwarding Pointers - writes of references
  14. 13:08Forwarding Pointers - CAS
  15. 14:30How to use multiple threads?
  16. 15:16Costs and Benefits
  17. 17:13Performance Tuning
  18. 18:40Future Work
~/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.