RFR 8204947: Port ShenandoahTaskTerminator to mainline and make it default

Roman Kennke rkennke at redhat.com
Thu Nov 29 14:45:20 UTC 2018


Ok.

I'm really not sure we actually want an extra flag for this. Maybe just
hardcode G1 and Parallel to use the new terminator, and CMS to keep
using the old one? Or would that only make things more complicated?

Roman

> Updated version also passed submit tests.
> 
> -Zhengyu
> 
> On 11/28/18 10:26 PM, Zhengyu Gu wrote:
>> Webrev updated to suppress multiple copy constructors and assignment
>> operators warnings on Window.
>>
>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8204947/webrev.01/
>>
>> Thanks,
>>
>> -Zhengyu
>>
>> On 11/28/18 2:08 PM, Zhengyu Gu wrote:
>>> Hi,
>>>
>>> ShenandoahTaskTerminator is based on Google's work stealing protocol,
>>> described in paper [1]. The implementation diverges in a way to
>>> emphasize termination latency vs. power efficiency (see comments in
>>> code for details).
>>>
>>> Shenandoah switched to ShenandoahTaskTerminator as default
>>> terminator, shortly after it was implemented, and has been very
>>> stable since.
>>>
>>> On performance side, it showed better termination latency on almost
>>> all tests/benchmarks I ran, comparing to ParallelTaskTerminator. As
>>> the result, we (Shenandoah) purged fallback branches and uses it as
>>> the sole task terminator.
>>>
>>> This patch introduces a new experimental flag "UseOWSTTaskTerminator"
>>> (default: true), and switches G1 and Parallel GC to use it as default
>>> terminator. You can switch back to ParallelTaskTerminator with JVM
>>> option "-XX:+UnlockExperimentalVMOptions -XX:-UseOWSTTaskTerminator"
>>>
>>> I did not port it to CMS, as it is depreciated.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8204947
>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8204947/webrev.00/
>>>
>>> Test:
>>>    hotspot_gc and vmTestbase_vm_gc on Linux 64.
>>>
>>>
>>> [1] Understanding and improving JVM GC work stealing at the data
>>> center scale (http://dl.acm.org/citation.cfm?id=2926706)
>>>
>>> Thanks,
>>>
>>> -Zhengyu

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20181129/9e9cf5b2/signature.asc>


More information about the hotspot-gc-dev mailing list