RFR(M): Extend work gang dispatcher for low latency task handoff
zgu at redhat.com
Mon Mar 13 14:44:45 UTC 2017
This patch provides the capability to group work gang tasks into sessions, which allows low-latency task handoff
by keeping workers hot.
As expected, it only benefits parallel phases, but hurts concurrent phases. I think that the approach does not reach
its max benefit due to not be able to schedule or queue tasks in advance.
The statistics shows that 80% of workers rendezvous during spinning phases, but 20% during yield phases, which might delay
Also the task submission thread, any spins or yields seem only hurts performance, so have to fallback to semaphore, maybe
introduce another latency.
I would appreciate any suggestions!
It shows improvement when it is enabled for parallel phases.
Current head: http://cr.openjdk.java.net/~zgu/shenandoah/work_session/baseline_without_patch.txt
With patch, but disabled: http://cr.openjdk.java.net/~zgu/shenandoah/work_session/baseline_with_patch.txt
Enable for parallel phases only: http://cr.openjdk.java.net/~zgu/shenandoah/work_session/par_session.txt
Compile.sunflow on local machine:
It shows slight drop.
Current head: http://cr.openjdk.java.net/~zgu/shenandoah/work_session/sunflow_without_patch.txt
With patch, but disabled: http://cr.openjdk.java.net/~zgu/shenandoah/work_session/sunflow_no_session.txt
Enabled for parallel phases only: http://cr.openjdk.java.net/~zgu/shenandoah/work_session/sunflow_par_session.txt
More information about the shenandoah-dev