RFR: OWST implementation
Zhengyu Gu
zgu at redhat.com
Wed Nov 2 13:36:31 UTC 2016
Based on Roman's suggestion, subclass ParallelTaskTerminator to avoid
invasive changes to ParallelTaskTerminator.
Webrev: http://cr.openjdk.java.net/~zgu/owst/webrev.01/index.html
Tests: jtreg shenandoah tests, SPECjbb and modified TestGCOld and GCBasher.
Thanks,
-Zhengyu
On 11/01/2016 06:07 PM, Zhengyu Gu wrote:
> Yes, it should be a subclass. I will redo the implementation.
>
> Thanks,
>
> -Zhengyu
>
>
> On 11/01/2016 05:00 PM, Roman Kennke wrote:
>> Hi Zhengyu,
>>
>> I can't say much about correctness etc of the algorithm. However, this
>> affects shared code, and other GCs that also use taskqueue. This
>> probably means they benefit from improved performance too, but it also
>> means they'd suffer from any bugs that are in it. I wouldn't want to
>> make that choice for them. :-) Would it be possible to somehow either
>> fork taskqueue into a new class, or, if possible, abstract the
>> new/changed behaviour? Bonus points for making the impl swappable, so
>> that Shenandoah could use one or the other taskqueue. This would 1.
>> make it possible to compare them and 2. smooth the transition, i.e.
>> make the new queue enabled by an experimental flag, etc. Would that be
>> possible?
>>
>> Cheers,
>> Roman
>>
>> Am Dienstag, den 01.11.2016, 11:15 -0400 schrieb Zhengyu Gu:
>>> This is the initial implementation of OWST, which is pretty closely
>>> following Google's paper.
>>>
>>> I intend to minimize the changes in the changeset, due to recent
>>> regression SPECjbb number.
>>> I think there are areas we can improve the implementation. For
>>> example, to have spin master give up
>>> its role before goes into sleep, so other worker who detects new
>>> tasks, may wake up waiting workers, etc.
>>>
>>>
>>> Webrev: http://cr.openjdk.java.net/~zgu/owst/webrev.00/
>>>
>>> Thanks,
>>>
>>> -Zhengyu
>>>
>
More information about the shenandoah-dev
mailing list