RFR: TLAB sizing policy should converge faster with Shenandoah
Roman Kennke
rkennke at redhat.com
Thu Jul 19 10:13:47 UTC 2018
Looks reasonable.
Am 19. Juli 2018 12:08:12 MESZ schrieb Aleksey Shipilev <shade at redhat.com>:
>Hopefully the comment describes the intent:
>
>diff -r 8bf8ec71f1ed
>src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
>--- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Thu Jul
>19 11:39:01 2018 +0200
>+++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Thu Jul
>19 12:05:29 2018 +0200
>@@ -185,10 +185,18 @@
>// It would introduce another heap memory access for reading the
>forwarding
>// pointer, which would have to be guarded by the signal handler
>machinery.
> // See:
>//
>http://mail.openjdk.java.net/pipermail/hotspot-dev/2018-June/032763.html
> FLAG_SET_DEFAULT(UseFastJNIAccessors, false);
>+
>+ // TLAB sizing policy makes resizing decisions before each GC cycle.
>Current default
>+ // is good for generational collectors that run frequent young GCs.
>With Shenandoah,
>+ // GC cycles are much less frequent, so we need we need sizing
>policy to converge
>+ // faster over smaller number of resizing decisions.
>+ if (FLAG_IS_DEFAULT(TLABAllocationWeight)) {
>+ FLAG_SET_DEFAULT(TLABAllocationWeight, 90);
>+ }
> }
>
> size_t ShenandoahArguments::conservative_max_heap_alignment() {
> return ShenandoahMaxRegionSize;
> }
>
>Testing: tier3_gc_shenandoah (running), specjbb
>
>Sample converge profile on specjbb:
>
>-XX:TLABAllocationWeight=35 (default):
>
>[5.964s][info][gc ] GC(0) 5547367K alloc, 3794716K ( 68.4%)
>waste, <total>
>[43.840s][info][gc ] GC(1) 71520255K alloc, 9425871K ( 13.2%)
>waste, <total>
>[59.744s][info][gc ] GC(2) 66247156K alloc, 11184613K ( 16.9%)
>waste, <total>
>[77.215s][info][gc ] GC(3) 66107372K alloc, 5018141K ( 7.6%)
>waste, <total>
>[96.226s][info][gc ] GC(4) 71251947K alloc, 4292455K ( 6.0%)
>waste, <total>
>[115.468s][info][gc ] GC(5) 70219055K alloc, 3037810K ( 4.3%)
>waste, <total>
>[134.659s][info][gc ] GC(6) 70204415K alloc, 2303291K ( 3.3%)
>waste, <total>
>[153.776s][info][gc ] GC(7) 69086205K alloc, 1995898K ( 2.9%)
>waste, <total>
>[174.098s][info][gc ] GC(8) 73296270K alloc, 1584543K ( 2.2%)
>waste, <total>
>[194.223s][info][gc ] GC(9) 72219343K alloc, 1339633K ( 1.9%)
>waste, <total>
>[214.587s][info][gc ] GC(10) 72239103K alloc, 1256133K ( 1.7%)
>waste, <total>
>[235.459s][info][gc ] GC(11) 72261591K alloc, 1099827K ( 1.5%)
>waste, <total>
>[256.633s][info][gc ] GC(12) 67980176K alloc, 1111746K ( 1.6%)
>waste, <total>
>[274.746s][info][gc ] GC(13) 71141443K alloc, 1116117K ( 1.6%)
>waste, <total>
>[293.081s][info][gc ] GC(14) 69097097K alloc, 1002767K ( 1.5%)
>waste, <total>
>
>-XX:TLABAllocationWeight=90 (proposed):
>
>[6.028s][info][gc ] GC(0) 5647719K alloc, 3893740K ( 68.9%)
>waste, <total>
>[45.053s][info][gc ] GC(1) 71727512K alloc, 4904507K ( 6.8%)
>waste, <total>
>[64.089s][info][gc ] GC(2) 68201471K alloc, 2053577K ( 3.0%)
>waste, <total>
>[83.213s][info][gc ] GC(3) 68174221K alloc, 1103770K ( 1.6%)
>waste, <total>
>[103.845s][info][gc ] GC(4) 73359431K alloc, 969213K ( 1.3%)
>waste, <total>
>[124.365s][info][gc ] GC(5) 72290310K alloc, 1079922K ( 1.5%)
>waste, <total>
>[144.259s][info][gc ] GC(6) 71254820K alloc, 1067018K ( 1.5%)
>waste, <total>
>[164.045s][info][gc ] GC(7) 71189612K alloc, 1007500K ( 1.4%)
>waste, <total>
>[184.026s][info][gc ] GC(8) 72229606K alloc, 1018692K ( 1.4%)
>waste, <total>
>[203.845s][info][gc ] GC(9) 71152205K alloc, 1157353K ( 1.6%)
>waste, <total>
>[223.912s][info][gc ] GC(10) 71114968K alloc, 1129352K ( 1.6%)
>waste, <total>
>[243.614s][info][gc ] GC(11) 71137488K alloc, 1114681K ( 1.6%)
>waste, <total>
>[264.095s][info][gc ] GC(12) 72183037K alloc, 1188819K ( 1.6%)
>waste, <total>
>[283.977s][info][gc ] GC(13) 71136158K alloc, 1031335K ( 1.4%)
>waste, <total>
>[303.566s][info][gc ] GC(14) 70070050K alloc, 1090805K ( 1.6%)
>waste, <total>
>
>-XX:TLABAllocationWeight=100 (max possible):
>
>[6.226s][info][gc ] GC(0) 5619711K alloc, 3861185K ( 68.7%)
>waste, <total>
>[45.366s][info][gc ] GC(1) 71790109K alloc, 4805484K ( 6.7%)
>waste, <total>
>[65.876s][info][gc ] GC(2) 71359252K alloc, 932641K ( 1.3%)
>waste, <total>
>[86.086s][info][gc ] GC(3) 71310199K alloc, 1021007K ( 1.4%)
>waste, <total>
>[106.210s][info][gc ] GC(4) 71284383K alloc, 1018055K ( 1.4%)
>waste, <total>
>[126.121s][info][gc ] GC(5) 71218487K alloc, 1055455K ( 1.5%)
>waste, <total>
>[145.516s][info][gc ] GC(6) 70164595K alloc, 1160611K ( 1.7%)
>waste, <total>
>[165.603s][info][gc ] GC(7) 71189456K alloc, 1018712K ( 1.4%)
>waste, <total>
>[185.861s][info][gc ] GC(8) 71227537K alloc, 1058248K ( 1.5%)
>waste, <total>
>[205.929s][info][gc ] GC(9) 71183499K alloc, 1223558K ( 1.7%)
>waste, <total>
>[225.986s][info][gc ] GC(10) 71213609K alloc, 1098095K ( 1.5%)
>waste, <total>
>[246.960s][info][gc ] GC(11) 73285848K alloc, 1081612K ( 1.5%)
>waste, <total>
>[266.483s][info][gc ] GC(12) 70128460K alloc, 1137446K ( 1.6%)
>waste, <total>
>[286.073s][info][gc ] GC(13) 70141784K alloc, 1130847K ( 1.6%)
>waste, <total>
>[305.810s][info][gc ] GC(14) 70099826K alloc, 1015626K ( 1.4%)
>waste, <total>
>
>Thanks,
>-Aleksey
--
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.
More information about the shenandoah-dev
mailing list