RFR: OWST implementation

Roman Kennke rkennke at redhat.com
Wed Nov 2 13:55:43 UTC 2016


Ok great!

Do you think it may be useful to choose one or the other impl based on
an experimental flag? E.g. -XX:+UseShenandoahOWST ?

Roman

Am Mittwoch, den 02.11.2016, 09:36 -0400 schrieb Zhengyu Gu:
> 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