RFR: OWST implementation

Roman Kennke rkennke at redhat.com
Tue Nov 1 21:00:20 UTC 2016


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