Fence-free work stealing on bounded TSO processors

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

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).

Original languageEnglish
Title of host publicationASPLOS 2014 - 19th International Conference on Architectural Support for Programming Languages and Operating Systems
Pages413-426
Number of pages14
DOIs
StatePublished - 2014
Event19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014 - Salt Lake City, UT, United States
Duration: 1 Mar 20145 Mar 2014

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

Conference

Conference19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2014
Country/TerritoryUnited States
CitySalt Lake City, UT
Period1/03/145/03/14

Keywords

  • Memory fences
  • TSO
  • Work stealing

Fingerprint

Dive into the research topics of 'Fence-free work stealing on bounded TSO processors'. Together they form a unique fingerprint.

Cite this