RFR: Optimizing best of two work stealing queue selection
zgu at redhat.com
Fri Jun 22 13:32:25 UTC 2018
This optimization is based on this paper . The idea is to keep last
successfully stolen queue as one of best of two candidates.
My experiments showed that it only marginally improved successful
stealing ratio, given the ratio is *very* high to begin with, north of
95%, even under extremely unbalanced scenarios (e.g. concurrent threads
= 3, parallel threads = 11, of course, based on Shenandoah
However, it showed remarkable improvement on task termination:
I measured how often worker threads have to exit termination protocol
and retry (failed termination)
Avg: failed termination 4.747 Worst case: 209
Avg: failed termination 0.513 Worst case: 11
Although, above result is from one particular run, but it is *very
reproducible* and also with other benchmarks.
Hopefully, Aleksey and Thomas have better ways to measure the impact to
Tony, I would appreciate it if you have any comments.
 Characterizing and Optimizing Hotspot Parallel Garbage
Collection on Multicore Systems
More information about the shenandoah-dev