RFR: 8328307: GenShen: Re-enable old-has-grown trigger for old-generation GC
Kelvin Nilsen
kdnilsen at openjdk.org
Mon Mar 18 13:36:56 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.260ms (+/- 15.92ms) 42
Test: 61.045ms (+/- 36.61ms) 18
+46.92% xml.transform/concurrent_class_unloading p=0.00036
Control: 11.433ms (+/- 5.62ms) 30
Test: 16.798ms (+/- 3.54ms) 10
+30.00% hyperalloc_a3072_o4096/trigger_failure p=0.00705
Control: 5.000 (+/- 1.17 ) 30
Test: 6.500 (+/- 1.26 ) 10
+14.40% hyperalloc_a2048_o4096/context_switch_count p=0.00000
Control: 3599.083 (+/-193.26 ) 30
Test: 4117.500 (+/-230.83 ) 10
+12.85% hyperalloc_a3072_o4096/context_switch_count p=0.00004
Control: 4740.125 (+/-321.27 ) 30
Test: 5349.000 (+/-258.71 ) 10
+12.21% extremem-phased/degen_update_roots p=0.00263
Control: 1.323ms (+/- 95.21us) 39
Test: 1.484ms (+/-113.46us) 3
+9.29% specjbb2015/sla_25000_jops p=0.01885
Control: 4695.333 (+/-456.15 ) 30
Test: 5131.375 (+/-543.33 ) 10
-97102.38% extremem-phased/browsing_history_p100 p=0.00571
Control: 829.744ms (+/- 1.27s ) 30
Test: 853.625us (+/-710.96ms) 10
-95076.16% extremem-phased/sales_transaction_p100 p=0.00444
Control: 974.842ms (+/- 1.53s ) 30
Test: 1.024ms (+/- 1.02s ) 10
-37209.24% extremem-phased/product_replacement_p100 p=0.00206
Control: 1.048s (+/- 1.47s ) 30
Test: 2.810ms (+/-156.82us) 10
-22224.40% extremem-phased/customer_replacement_p100 p=0.00813
Control: 589.671ms (+/-982.52ms) 30
Test: 2.641ms (+/-392.66ms) 10
-2919.20% extremem-phased/customer_preparation_p100 p=0.00055
Control: 2.200s (+/- 2.57s ) 30
Test: 72.871ms (+/- 1.05s ) 10
-1210.30% extremem-phased/customer_purchase_p99_999 p=0.00007
Control: 2.265s (+/- 2.34s ) 30
Test: 172.899ms (+/- 1.01s ) 10
-831.11% extremem-phased/customer_purchase_p100 p=0.00019
Control: 2.427s (+/- 2.45s ) 30
Test: 260.653ms (+/-999.78ms) 10
-828.82% extremem-phased/customer_save_for_later_p100 p=0.00020
Control: 2.408s (+/- 2.36s ) 30
Test: 259.252ms (+/- 1.00s ) 10
-226.18% extremem-phased/trigger_failure p=0.00019
Control: 11.960 (+/- 9.07 ) 29
Test: 3.667 (+/- 1.63 ) 6
-114.63% specjbb2015/concurrent_reset_old p=0.00000
Control: 10.276ms (+/- 2.69ms) 30
Test: 4.788ms (+/- 1.12ms) 98
Shenandoah
-------------------------------------------------------------------------------------------------------
+13.64% specjbb2015/context_switch_count p=0.03029
Control: 12676397.583 (+/-2132032.46 ) 30
Test: 14405702.000 (+/-1872405.31 ) 10
+11.50% specjbb2015/cpu_system p=0.03445
Control: 238.974s (+/- 33.40s ) 30
Test: 266.447s (+/- 31.21s ) 10
+9.89% specjbb2015/sla_25000_jops p=0.00140
Control: 5310.750 (+/-385.68 ) 30
Test: 5835.750 (+/-388.85 ) 10
-40.40% scimark.lu.large/concurrent_evacuation p=0.01539
Control: 10.070ms (+/- 5.53ms) 30
Test: 7.172ms (+/- 1.30ms) 10
-38.03% serial/concurrent_update_refs p=0.01773
Control: 21.753ms (+/- 8.87ms) 30
Test: 15.760ms (+/- 3.97ms) 10
-6.05% extremem-phased/customer_replacement_p99 p=0.02487
Control: 2.184ms (+/-155.53us) 30
Test: 2.059ms (+/-128.84us) 10
-5.82% fop/iterations p=0.04415
Control: 8.333 (+/- 0.61 ) 30
Test: 7.875 (+/- 0.57 ) 10
I do not have a good explanation for why aarch64 does not show similar improvement in extremem metrics:
Control: shenandoah-aarch64-template
Experiment: enable-old-growth-triggers-gh-aarch64
Most impacted benchmarks | Most impacted metrics
-------------------------------------------------------------------------------------------------------
Genshen/extremem-phased | trigger_spike
Genshen/specjbb2015_weak_ref_patch | trigger_expedite_mixed
Genshen/specjbb2015 | customer_purchase_p99_9
Shenandoah/extremem-phased | customer_save_for_later_p99_9
Genshen/hyperalloc_a3072_o4096 | trigger_learn
Only in experiment | Only in control
-------------------------------------------------------------------------------------------------------
hyperalloc_a2048_o2048/trigger_expedite_mixed | scimark.fft.large/cmr_thread_roots
hyperalloc_a2048_o4096/trigger_expedite_mixed | scimark.sparse.small/cmr_thread_roots
hyperalloc_a3072_o2048/trigger_expedite_mixed | compress/concurrent_thread_roots
hyperalloc_a3072_o4096/trigger_expedite_mixed | scimark.sparse.small/concurrent_thread_roots
extremem-phased/trigger_overgrown | crypto.rsa/ctr_thread_roots
Genshen
-------------------------------------------------------------------------------------------------------
+526.47% specjbb2015_weak_ref_patch/trigger_expedite_mixed p=0.00000
Control: 2.833 (+/- 0.97 ) 30
Test: 17.750 (+/- 6.27 ) 10
+484.62% specjbb2015/trigger_expedite_mixed p=0.00000
Control: 3.250 (+/- 0.86 ) 30
Test: 19.000 (+/- 3.00 ) 10
+172.37% extremem-phased/trigger_expedite_mixed p=0.00000
Control: 9.500 (+/- 2.48 ) 30
Test: 25.875 (+/- 1.05 ) 10
+115.80% extremem-phased/customer_replacement_p100 p=0.00741
Control: 1.365s (+/- 1.65s ) 30
Test: 2.947s (+/- 1.01s ) 10
+110.64% extremem-phased/browsing_history_p100 p=0.00092
Control: 1.673s (+/- 2.04s ) 30
Test: 3.524s (+/-949.61ms) 10
+62.44% extremem-phased/product_replacement_p100 p=0.00909
Control: 2.018s (+/- 2.09s ) 30
Test: 3.279s (+/-822.89ms) 10
+50.72% extremem-phased/customer_preparation_p99_9 p=0.00569
Control: 2.755s (+/- 2.33s ) 30
Test: 4.153s (+/-482.67ms) 10
+50.00% hyperalloc_a3072_o4096/trigger_failure p=0.00001
Control: 6.167 (+/- 1.46 ) 30
Test: 9.250 (+/- 1.75 ) 10
+49.06% extremem-phased/customer_abandonment_p99_9 p=0.00597
Control: 2.731s (+/- 2.29s ) 30
Test: 4.071s (+/-265.97ms) 10
+47.96% extremem-phased/customer_purchase_p99_9 p=0.00799
Control: 2.699s (+/- 2.25s ) 30
Test: 3.993s (+/-229.72ms) 10
-376.43% specjbb2015_weak_ref_patch/concurrent_marking_old p=0.00000
Control: 1.243s (+/-406.88ms) 36
Test: 260.798ms (+/-478.72ms) 542
-374.95% specjbb2015_weak_ref_patch/cm_total_old p=0.00000
Control: 2.443s (+/-802.00ms) 35
Test: 514.416ms (+/-955.60ms) 541
-374.95% specjbb2015_weak_ref_patch/cm_parallel_mark_old p=0.00000
Control: 2.443s (+/-802.00ms) 35
Test: 514.416ms (+/-955.60ms) 541
-140.00% eclipse/trigger_spike p=0.00088
Control: 2.400 (+/- 1.44 ) 24
Test: 1.000 (+/- 0.00 ) 7
-40.36% specjbb2015/trigger_spike p=0.00000
Control: 119.833 (+/- 12.27 ) 30
Test: 85.375 (+/- 13.40 ) 10
-39.37% specjbb2015_weak_ref_patch/trigger_spike p=0.00000
Control: 124.042 (+/- 17.32 ) 30
Test: 89.000 (+/- 10.03 ) 10
-19.93% extremem-phased/trigger_spike p=0.01121
Control: 26.833 (+/- 5.04 ) 30
Test: 22.375 (+/- 2.99 ) 10
-17.50% specjbb2015_weak_ref_patch/sla_100000_jops p=0.00002
Control: 6127.125 (+/-423.49 ) 30
Test: 5214.375 (+/-583.96 ) 10
-17.37% eclipse/context_switch_count p=0.00696
Control: 7000.875 (+/-1522.26 ) 30
Test: 5964.625 (+/-1001.65 ) 10
-16.36% specjbb2015_weak_ref_patch/sla_75000_jops p=0.00525
Control: 5821.708 (+/-587.53 ) 30
Test: 5003.250 (+/-702.26 ) 10
Shenandoah
-------------------------------------------------------------------------------------------------------
+5.25% specjbb2015_weak_ref_patch/fa_thread_roots p=0.00000
Control: 2.410ms (+/-179.15us) 488
Test: 2.537ms (+/-131.13us) 68
-49.81% extremem-phased/customer_save_for_later_p99_9 p=0.00988
Control: 1.333s (+/-363.67ms) 30
Test: 889.507ms (+/-368.39ms) 10
-45.63% extremem-phased/customer_purchase_p99_9 p=0.01159
Control: 1.306s (+/-359.26ms) 30
Test: 896.610ms (+/-370.49ms) 10
-41.96% diluvian_medium/context_switch_count p=0.01303
Control: 101.500 (+/- 30.13 ) 30
Test: 71.500 (+/- 18.40 ) 10
-20.89% extremem-phased/customer_preparation_p100 p=0.03521
Control: 1.768s (+/-375.37ms) 30
Test: 1.463s (+/-333.95ms) 10
-------------
Commit messages:
- Add a jtreg test for old growth trigger
- Re-enable old-growth trigger
- Make satb-mode Info logging less verbose
- Merge branch 'openjdk:master' into master
- Merge branch 'openjdk:master' into master
- Revert "Round LAB sizes down rather than up to force alignment"
- Round LAB sizes down rather than up to force alignment
- Revert "Remove dead code for inelastic plabs"
- Remove dead code for inelastic plabs
Changes: https://git.openjdk.org/shenandoah/pull/409/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=409&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8328307
Stats: 149 lines in 3 files changed: 114 ins; 2 del; 33 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