RFR: 8328307: GenShen: Re-enable old-has-grown trigger for old-generation GC [v13]
Kelvin Nilsen
kdnilsen at openjdk.org
Tue Apr 23 20:51:07 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 27 commits:
- Merge remote-tracking branch 'origin/master' into enable-old-growth-triggers
- Merge branch 'openjdk:master' into master
- Minor refinements to old-growth heuristics
1. If old-marking finds old-gen is entirely empty, reset the heuristics
to initial state, so we can restart the search for appropriate
old-gen size
2. When testing whether old-gen growth "still" exceeds the trigger
threshold following mixed evacuations, include both old usage and
old humongous waste, as that is the quantity that was used for
initial trigger.
- Correct typo in symbolic constant
FRACTIONAL_DENOMINATOR should be a power of 2. Small round-off errors
were observed because there was an error in one digit of this contant.
- Fix zero build
- 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
- ... and 17 more: https://git.openjdk.org/shenandoah/compare/6d095910...7e708569
-------------
Changes: https://git.openjdk.org/shenandoah/pull/409/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=409&range=12
Stats: 268 lines in 6 files changed: 199 ins; 57 del; 12 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