TY - GEN
T1 - Fence-free work stealing on bounded TSO processors
AU - Morrison, Adam
AU - Afek, Yehuda
PY - 2014
Y1 - 2014
N2 - Work stealing is the method of choice for load balancing in task parallel programming languages and frameworks. Yet despite considerable effort invested in optimizing work stealing task queues, existing algorithms issue a costly memory fence when removing a task, and these fences are believed to be necessary for correctness. This paper refutes this belief, demonstrating work stealing algorithms in which a worker does not issue a memory fence for microarchitectures with a bounded total store ordering (TSO) memory model. Bounded TSO is a novel restriction of TSO-capturing mainstream x86 and SPARC TSO processors-that bounds the number of stores a load can be reordered with. Our algorithms eliminate the memory fence penalty, improving the running time of a suite of parallel benchmarks on modern x86 multicore processors by 7%-11% on average (and up to 23%), compared to the Cilk and Chase-Lev work stealing queues. Copyright is held by the owner/author(s).
AB - Work stealing is the method of choice for load balancing in task parallel programming languages and frameworks. Yet despite considerable effort invested in optimizing work stealing task queues, existing algorithms issue a costly memory fence when removing a task, and these fences are believed to be necessary for correctness. This paper refutes this belief, demonstrating work stealing algorithms in which a worker does not issue a memory fence for microarchitectures with a bounded total store ordering (TSO) memory model. Bounded TSO is a novel restriction of TSO-capturing mainstream x86 and SPARC TSO processors-that bounds the number of stores a load can be reordered with. Our algorithms eliminate the memory fence penalty, improving the running time of a suite of parallel benchmarks on modern x86 multicore processors by 7%-11% on average (and up to 23%), compared to the Cilk and Chase-Lev work stealing queues. Copyright is held by the owner/author(s).
KW - Memory fences
KW - TSO
KW - Work stealing
UR - http://www.scopus.com/inward/record.url?scp=84897810791&partnerID=8YFLogxK
U2 - 10.1145/2541940.2541987
DO - 10.1145/2541940.2541987
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:84897810791
SN - 9781450323055
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 413
EP - 426
BT - ASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems
T2 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014
Y2 - 1 March 2014 through 5 March 2014
ER -