Scheduling computations with provably low synchronization overheads

Abstract

Work Stealing has been a very successful algorithm for scheduling parallel computations, and is known to achieve high performances even for computations exhibiting fine-grained parallelism. We present a variant of \ that provably avoids most synchronization overheads by keeping processors' deques entirely private by default, and only exposing work when requested by thieves. This is the first paper that obtains bounds on the synchronization overheads that are (essentially) independent of the total amount of work, thus corresponding to a great improvement, in both algorithm design and theory, over state-of-the-art \ algorithms. Consider any computation with work T1 and critical-path length T∞ executed by P processors using our scheduler. Our analysis shows that the expected execution time is O(T1P + T∞), and the expected synchronization overheads incurred during the execution are at most O((CCAS + CMFence)PT∞), where CCAS and CMFence respectively denote the maximum cost of executing a Compare-And-Swap instruction and a Memory Fence instruction.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…