RFR: Traversal should resize TLABs
Roman Kennke
rkennke at redhat.com
Wed Jul 18 18:11:02 UTC 2018
Very good catch! Thank you!
Roman
Am 18. Juli 2018 19:54:44 MESZ schrieb Aleksey Shipilev <shade at redhat.com>:
>http://cr.openjdk.java.net/~shade/shenandoah/traversal-tlabs/webrev.01/
>
>Traversal massively wastes allocated memory in TLABs, because it does
>not hook up to resizing
>machinery. Up to 20% of allocations go wasteful, see the data below.
>Fix is simple, except that we
>need to reach CollectedHeap protected methods from ShTraversalGC, which
>requires us to have adapters
>in ShHeap. Actually, the whole thing should be done in some kind of "GC
>prolog", let's keep it for
>future cleanups.
>
>Testing: tier3_gc_shenandoah (in progress), specjbb with TLAB tracing
>
>Thanks,
>-Aleksey
>
>------ 8<
>---------------------------------------------------------------------------
>
># adaptive
>[5.946s][info][gc ] GC(0) 5652479K alloc, 3893787K ( 68.9%)
>waste, <total>
>[43.601s][info][gc ] GC(1) 71553526K alloc, 9370547K ( 13.1%)
>waste, <total>
>[59.725s][info][gc ] GC(2) 66180095K alloc, 10988559K ( 16.6%)
>waste, <total>
>[77.877s][info][gc ] GC(3) 66068479K alloc, 5222993K ( 7.9%)
>waste, <total>
>[97.925s][info][gc ] GC(4) 71254015K alloc, 4062446K ( 5.7%)
>waste, <total>
>[117.137s][info][gc ] GC(5) 71286783K alloc, 2857408K ( 4.0%)
>waste, <total>
>[137.900s][info][gc ] GC(6) 71288831K alloc, 2253194K ( 3.2%)
>waste, <total>
>[154.789s][info][gc ] GC(7) 68042044K alloc, 1875467K ( 2.8%)
>waste, <total>
>[173.882s][info][gc ] GC(8) 70169599K alloc, 1659220K ( 2.4%)
>waste, <total>
>[193.410s][info][gc ] GC(9) 70141951K alloc, 1383108K ( 2.0%)
>waste, <total>
>[212.966s][info][gc ] GC(10) 70141931K alloc, 1378965K ( 2.0%)
>waste, <total>
>[232.226s][info][gc ] GC(11) 70154857K alloc, 1282440K ( 1.8%)
>waste, <total>
>[252.349s][info][gc ] GC(12) 72239005K alloc, 1105413K ( 1.5%)
>waste, <total>
>[272.450s][info][gc ] GC(13) 72202913K alloc, 1057945K ( 1.5%)
>waste, <total>
>[292.663s][info][gc ] GC(14) 72290175K alloc, 1151170K ( 1.6%)
>waste, <total>
>
># traversal (baseline)
>[6.053s][info][gc ] GC(0) 5554175K alloc, 3797414K ( 68.4%)
>waste, <total>
>[43.459s][info][gc ] GC(1) 71348223K alloc, 9385812K ( 13.2%)
>waste, <total>
>[59.773s][info][gc ] GC(2) 71843839K alloc, 16682101K ( 23.2%)
>waste, <total>
>[77.294s][info][gc ] GC(3) 70929407K alloc, 16762337K ( 23.6%)
>waste, <total>
>[95.809s][info][gc ] GC(4) 75781100K alloc, 16558988K ( 21.9%)
>waste, <total>
>[112.460s][info][gc ] GC(5) 75388405K alloc, 16367333K ( 21.7%)
>waste, <total>
>[126.806s][info][gc ] GC(6) 75452415K alloc, 15717772K ( 20.8%)
>waste, <total>
>[142.914s][info][gc ] GC(7) 75321343K alloc, 16012333K ( 21.3%)
>waste, <total>
>[160.921s][info][gc ] GC(8) 80233471K alloc, 16553359K ( 20.6%)
>waste, <total>
>[179.152s][info][gc ] GC(9) 80009194K alloc, 16397760K ( 20.5%)
>waste, <total>
>[196.942s][info][gc ] GC(10) 79896575K alloc, 16592765K ( 20.8%)
>waste, <total>
>[214.997s][info][gc ] GC(11) 79801343K alloc, 15969714K ( 20.0%)
>waste, <total>
>[234.534s][info][gc ] GC(12) 84979692K alloc, 16523232K ( 19.4%)
>waste, <total>
>[251.063s][info][gc ] GC(14) 74365951K alloc, 15874486K ( 21.3%)
>waste, <total>
>[267.591s][info][gc ] GC(15) 74340332K alloc, 16450176K ( 22.1%)
>waste, <total>
>[284.073s][info][gc ] GC(16) 74270197K alloc, 16100433K ( 21.7%)
>waste, <total>
>[300.440s][info][gc ] GC(17) 73779199K alloc, 16653813K ( 22.6%)
>waste, <total>
>
># traversal (fixed)
>[6.001s][info][gc ] GC(0) 5614951K alloc, 3862725K ( 68.8%)
>waste, <total>
>[44.277s][info][gc ] GC(1) 71520255K alloc, 9494430K ( 13.3%)
>waste, <total>
>[62.675s][info][gc ] GC(2) 71809023K alloc, 8801335K ( 12.3%)
>waste, <total>
>[81.899s][info][gc ] GC(3) 70963199K alloc, 4409301K ( 6.2%)
>waste, <total>
>[102.628s][info][gc ] GC(4) 75913783K alloc, 3310107K ( 4.4%)
>waste, <total>
>[123.468s][info][gc ] GC(5) 75509807K alloc, 2469812K ( 3.3%)
>waste, <total>
>[144.511s][info][gc ] GC(6) 75313089K alloc, 1738572K ( 2.3%)
>waste, <total>
>[165.515s][info][gc ] GC(7) 75143596K alloc, 1404853K ( 1.9%)
>waste, <total>
>[187.935s][info][gc ] GC(8) 80227327K alloc, 1227961K ( 1.5%)
>waste, <total>
>[210.558s][info][gc ] GC(9) 80091135K alloc, 1006566K ( 1.3%)
>waste, <total>
>[234.604s][info][gc ] GC(10) 80057234K alloc, 950299K ( 1.2%)
>waste, <total>
>[256.416s][info][gc ] GC(11) 80006606K alloc, 871344K ( 1.1%)
>waste, <total>
>[279.285s][info][gc ] GC(12) 85073731K alloc, 792366K ( 0.9%)
>waste, <total>
>[303.241s][info][gc ] GC(13) 84984293K alloc, 790728K ( 0.9%)
>waste, <total>
--
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.
More information about the shenandoah-dev
mailing list