RFR: 8328307: GenShen: Re-enable old-has-grown trigger for old-generation GC [v9]

Kelvin Nilsen kdnilsen at openjdk.org
Mon Apr 15 17:31:17 UTC 2024


> Enable old-gen growth triggers, which were inadvertantly disabled.  This passes the internal regression pipeline tests.
> 
> As would be expected, we see an increase in mixed-evacuation triggers.  We also see significant improvement on certain extremem workloads due to improved clearing of old-gen.
> 
> 
>    Control: shenandoah-x86-template
> Experiment: enable-old-growth-triggers-gh-x86
> 
>                           Most impacted benchmarks |                              Most impacted metrics
> -------------------------------------------------------------------------------------------------------
>                            Genshen/extremem-phased |                             trigger_expedite_mixed
>                 Genshen/specjbb2015_weak_ref_patch |                                    trigger_failure
>                                Genshen/specjbb2015 |                               context_switch_count
>                     Genshen/hyperalloc_a3072_o4096 |                                     sla_25000_jops
>                             Shenandoah/specjbb2015 |                                      trigger_learn
> 
> 
>                                 Only in experiment |                                    Only in control
> -------------------------------------------------------------------------------------------------------
>      hyperalloc_a2048_o2048/trigger_expedite_mixed |                   compress/concurrent_thread_roots
>      hyperalloc_a2048_o4096/trigger_expedite_mixed |                        crypto.rsa/ctr_thread_roots
>      hyperalloc_a3072_o2048/trigger_expedite_mixed |                               crypto.rsa/ctr_total
>      hyperalloc_a3072_o4096/trigger_expedite_mixed |               extremem-large-31g/trigger_expansion
>               extremem-large-31g/trigger_overgrown |                  extremem-phased/trigger_expansion
> 
> Genshen
> -------------------------------------------------------------------------------------------------------
> +685.00% specjbb2015_weak_ref_patch/trigger_expedite_mixed p=0.00002
>   Control:      2.500   (+/-  0.68  )         30
>   Test:        19.625   (+/-  4.79  )         10
> 
> +561.90% specjbb2015/trigger_expedite_mixed p=0.00001
>   Control:      2.625   (+/-  0.92  )         30
>   Test:        17.375   (+/-  3.89  )         10
> 
> +225.42% extremem-phased/trigger_expedite_mixed p=0.00000
>   Control:      9.833   (+/-  3.48  )         30
>   Test:        32.000   (+/-  2.58  )         10
> 
> +63.84% hyperalloc_a3072_o4096/evacuation p=0.02662
>   Control:     37....

Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 22 commits:

 - Increase workload to force OLD collections
 - Merge remote-tracking branch 'origin/master' into enable-old-growth-triggers
 - Merge branch 'openjdk:master' into master
 - Revert "Change behavior of max_old and min_old"
   
   This reverts commit d88130000c764dacf08ec27723132dd2a3d968de.
 - Change behavior of max_old and min_old
 - Merge branch 'openjdk:master' into master
 - Refactoring for reviewer feedback
 - Merge branch 'master' of https://git.openjdk.org/shenandoah into enable-old-growth-triggers
 - Move trigger code to ShenandoahOldHeuristics from ShenandoahOldGeneration
 - Fix another typo
 - ... and 12 more: https://git.openjdk.org/shenandoah/compare/64b44a8c...901dbe0d

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

Changes: https://git.openjdk.org/shenandoah/pull/409/files
  Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=409&range=08
  Stats: 254 lines in 6 files changed: 191 ins; 57 del; 6 mod
  Patch: https://git.openjdk.org/shenandoah/pull/409.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/409/head:pull/409

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


More information about the shenandoah-dev mailing list