RFR: Enable biased locking for Shenandoah by default
Roman Kennke
rkennke at redhat.com
Mon Nov 20 11:41:04 UTC 2017
Am 20.11.2017 um 12:36 schrieb Aleksey Shipilev:
> Was following up on some passive vs Parallel experiments trying to understand the where the
> difference is coming from. Turns out, biased locking matters a lot in those tests. For example,
> XmlTransform:
>
> Parallel GC, -XX:-UseBiasedLocking: 117 +- 3 ops/min
> Parallel GC, -XX:+UseBiasedLocking: 137 +- 2 ops/min
>
> Shenandoah passive, -XX:-UseBiasedLocking: 117 +- 3 ops/min
> Shenandoah passive, -XX:+UseBiasedLocking: 134 +- 3 ops/min
>
> Shenandoah adaptive, -XX:-UseBiasedLocking: 98 +- 2 ops/min
> Shenandoah adaptive, -XX:+UseBiasedLocking: 112 +- 2 ops/min
>
> Half a year ago, we amended Shenandoah code to disable biased locking, because it has potential to
> disrupt latency improvements. Since then, a few things happened: we have improved performance enough
> for biased locking improvements to be visible, thread-local handshakes that can make biased locking
> revocation less harmful arrived upstream, and wider testing that runs into artificial slowdowns
> because of this was observed. So, I propose we enable biased locking back with Shenandoah.
>
> diff -r 18bada116c5f src/hotspot/share/runtime/arguments.cpp
> --- a/src/hotspot/share/runtime/arguments.cpp Fri Nov 17 18:28:16 2017 +0100
> +++ b/src/hotspot/share/runtime/arguments.cpp Mon Nov 20 12:31:22 2017 +0100
> @@ -2076,14 +2076,6 @@
> FLAG_SET_DEFAULT(ShenandoahUncommitDelay, max_uintx);
> }
>
> - // Current Hotspot machinery for biased locking may introduce lots of latency hiccups
> - // that negate the benefits of low-latency GC. The throughput improvements granted by
> - // biased locking on modern hardware are not covering the latency problems induced by
> - // it. Therefore, unless user really wants it, disable biased locking.
> - if (FLAG_IS_DEFAULT(UseBiasedLocking)) {
> - FLAG_SET_DEFAULT(UseBiasedLocking, false);
> - }
> -
> if (UseStringDeduplication) {
> warning("String Deduplication is unstable with Shenandoah, forcefully disabled.");
> FLAG_SET_DEFAULT(UseStringDeduplication, false);
>
> Testing: hotspot_gc_shenandoah
>
> Thanks,
> -Aleksey
>
Any idea if/how this affects latency?
Roman
More information about the shenandoah-dev
mailing list