RFR: Provide non-taxable allocation slack at the beginning of the cycle
Roman Kennke
rkennke at redhat.com
Mon Mar 19 13:27:15 UTC 2018
Am 19.03.2018 um 14:13 schrieb Aleksey Shipilev:
> http://cr.openjdk.java.net/~shade/shenandoah/pacing-slack/webrev.01/
>
> Current pacing scheme has a little deficiency: it starts with zero budget at the beginning of the
> cycle. This means the application threads that want to allocate would need to wait for GC threads to
> ramp up and replenish the budget, which introduces latencies like these, even if the GC cycle is fast:
>
> Actual pacing delays histogram:
>
> From - To Count
> 1 ms - 2 ms: 4
> 2 ms - 4 ms: 144
> 4 ms - 8 ms: 8
> 8 ms - 16 ms: 5
> 16 ms - 32 ms: 1
>
> The way to deal with this: provide the initial non-taxable slack, so that application can allocate
> at the beginning of GC cycle. With this patch, we have zero pacing delays with large enough heap
> with adaptive/traversal/partial.
>
> Testing: hotspot_gc_shenandoah, targeted benchmarks
>
> Thanks,
> -Aleksey
>
Great! Looks good!
I actually wondered why I'm getting so much pacing even with large
headroom :-)
More information about the shenandoah-dev
mailing list