~/talk

Shenandoah: The Garbage Collector That Could

Talkat Devoxx Belgium 2017 · 2017-11-06..11-10· [java]
slides:none on file

Shenandoah is a low‑pause OpenJDK collector that actually moves objects concurrent evacuation without long stop‑the‑world pauses by using concurrent mark, Brooks‑style forwarding pointers and read/write barriers; it adds about 8 bytes per object plus a ~1/64 heap mark bitmap, yields sub‑millisecond safepoints but costs throughput (benchmarks show roughly 1–20% overall overhead, typical writes ~3% and reads a single‑instruction cost), has two small pauses to drain SATB buffers, and is production‑usable in recent Red Hat/OpenJDK builds.

AI-written summary · about

  1. 0:00Intro
  2. 1:44Overview. Landscape
  3. 3:50Overview: Heap Structure
  4. 4:24Overview: Cycle
  5. 8:30Concurrent Mark: Three-Color Abstraction Assign colors to the objects
  6. 9:56Concurrent Mark: Mutator Problems
  7. 14:25Concurrent Mark: Two Pauses
  8. 16:09Concurrent Mark: Observations
  9. 16:51Concurrent Copy: Stop The World
  10. 17:51Concurrent Copy: Mutator Problems
  11. 20:15Concurrent Copy: Brooks Pointers
  12. 21:42Write Barriers: Motivation
  13. 22:25Write Barriers: Slowpath
  14. 23:36Write Barriers: GC Evacuation Code
  15. 25:38Read Barriers: Motivation
  16. 26:06Read Barriers: Implementation
  17. 27:09Read Barriers: Observations
  18. 29:36CMP: Observations
  19. 30:42Overall: Observations
  20. 33:50Intermezzo: Testing
  21. 34:31Intermezzo: Pauses vs. LDS
  22. 36:58Intermezzo: Perf vs. LDS
  23. 37:45Advanced: Major Assumption
  24. 38:56Footprint: Internals
  25. 40:41Footprint: Microservice Example
  26. 43:53Immediates: Obvious Shortcut
  27. 44:56Partials: Heap Segregation
  28. 45:25Partials: Serial/Parallel/CMS
  29. 46:02Partials: G1
  30. 48:07Partials: Shenandoah
  31. 48:42Partials: Example
  32. 49:54Conclusion: In Single Picture
  33. 51:05Conclusion: Releases
  34. 53:34Conclusion: In Single Paragraph
~/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.