RFR: Tune heuristic defaults and behavior for improved stability

William Kemper wkemper at openjdk.org
Wed Feb 1 00:28:30 UTC 2023


On Tue, 31 Jan 2023 20:33:07 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> Also, some minor changes to logging.
>
> src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp line 184:
> 
>> 182:           "increases the sensitivity. ")                                    \
>> 183:                                                                             \
>> 184:   product(double, ShenandoahAdaptiveDecayFactor, 0.1, EXPERIMENTAL,         \
> 
> Is there performance data to share to inform this change?

Yes! The maximum number of degenerated cycles observed on 10 runs of `specjbb2015` went from 48 to 9. Same metric for `extremem` went from 111 to 86. The effect is less dramatic for satb mode. There are also notable improvements on Dacapo's `jython` and `biojava`:

+11.58% hyperalloc_a2048_o1536/context_switch_count p=0.00537
  Control:   2515.458   (+/-249.10  )         90
  Test:      2806.800   (+/-145.41  )          5

+10.97% hyperalloc_a3072_o1536/context_switch_count p=0.00002
  Control:   3780.958   (+/-377.60  )         90
  Test:      4195.600   (+/-103.85  )          5

+10.14% extremem/product_replacement_p50 p=0.00147
  Control:      1.793ms (+/-125.44us)         85
  Test:         1.975ms (+/-184.30us)          5

+5.33% hyperalloc_a2048_o1536/cpu_user p=0.00004
  Control:    287.015s  (+/-  7.43s )         90
  Test:       302.300s  (+/-  7.52s )          5

-162.25% jython/rss_max p=0.00000
  Control: 6410130.783   (+/-65440.95  )         85
  Test:    2444264.800   (+/-73349.32  )          5

-153.73% jython/minor_page_fault_count p=0.00000
  Control: 1682775.464   (+/-18501.36  )         85
  Test:    663203.400   (+/-22693.20  )          5

-146.98% biojava/minor_page_fault_count p=0.00000
  Control: 1566706.957   (+/-1318.36  )         85
  Test:    634354.600   (+/-17082.50  )          5

-77.56% jython/cpu_system p=0.00000
  Control:      3.864s  (+/-  0.15s )         85
  Test:         2.176s  (+/-  0.12s )          5

-38.79% extremem-phased/calculate_addresses p=0.00000
  Control:    433.731ms (+/- 58.95ms)        795
  Test:       312.516ms (+/- 32.93ms)         12

-18.63% extremem-phased/minor_page_fault_count p=0.00000
  Control: 4272509.681   (+/-243509.95  )         85
  Test:    3601418.400   (+/-70657.90  )          5

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

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


More information about the shenandoah-dev mailing list