RFR: 8344050: Shenandoah: Retire GC LABs concurrently

William Kemper wkemper at openjdk.org
Tue Nov 12 18:11:25 UTC 2024


Test results show a consistent reduction in the time stopped at `init-update-refs` (as expected). Other metrics and benchmark scores are not significantly affected. This change itself does not completely eliminate the safepoint.

Results comparing `-XX:ShenandoahGCMode=satb` to `shenandoah/master` on `aarch64` (results for generational mode and other platforms are similar):

-51.91% sunflow/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.020ms (+/-  0.00ms)         70
  Test:         0.013ms (+/-  0.00ms)         20

-50.70% luindex/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.019ms (+/-  0.00ms)         70
  Test:         0.013ms (+/-  0.00ms)         20

-50.50% avrora/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.017ms (+/-  0.00ms)        144
  Test:         0.012ms (+/-  0.00ms)         42

-49.79% fop/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.022ms (+/-  0.00ms)        572
  Test:         0.015ms (+/-  0.00ms)        164

-47.99% batik/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.024ms (+/-  0.01ms)        420
  Test:         0.016ms (+/-  0.00ms)        120

-42.54% graphchi/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.020ms (+/-  0.00ms)         70
  Test:         0.014ms (+/-  0.00ms)         20

-42.36% xalan/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.017ms (+/-  0.00ms)        213
  Test:         0.012ms (+/-  0.00ms)         60

-23.63% scimark.lu.large/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.045ms (+/-  0.00ms)         54
  Test:         0.037ms (+/-  0.00ms)         12

-20.66% serial/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.041ms (+/-  0.00ms)        140
  Test:         0.034ms (+/-  0.00ms)         40

-20.31% crypto.aes/shenandoahinitupdaterefs_stopped p=0.00000
  Control:      0.041ms (+/-  0.00ms)         69
  Test:         0.034ms (+/-  0.01ms)         20

-------------

Commit messages:
 - Add comments to new method
 - Anticipate future work with better names for things
 - Fix safepoint worker handling
 - Restore gc labs to safepoint workers
 - Retire mutator gc labs with handshake
 - Retire gc labs concurrently

Changes: https://git.openjdk.org/shenandoah/pull/535/files
  Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=535&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8344050
  Stats: 101 lines in 3 files changed: 72 ins; 29 del; 0 mod
  Patch: https://git.openjdk.org/shenandoah/pull/535.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/535/head:pull/535

PR: https://git.openjdk.org/shenandoah/pull/535


More information about the shenandoah-dev mailing list