Configurable Strategies for Work-stealing
Martin Wimmer, Daniel Cederman, Jesper Larsson Tr\"aff, and Philippas, Tsigas

TL;DR
This paper introduces configurable scheduling strategies for work-stealing systems, enabling applications to provide task-specific hints that optimize execution order and improve performance across various benchmarks.
Contribution
It proposes a novel approach allowing applications to dynamically influence task scheduling, enhancing flexibility, composability, and efficiency in work-stealing systems.
Findings
Prioritization reduces total work in branch-and-bound and shortest path algorithms.
Dynamic merging and half-work stealing improve performance.
Combining strategies enhances scheduling flexibility and efficiency.
Abstract
Work-stealing systems are typically oblivious to the nature of the tasks they are scheduling. For instance, they do not know or take into account how long a task will take to execute or how many subtasks it will spawn. Moreover, the actual task execution order is typically determined by the underlying task storage data structure, and cannot be changed. There are thus possibilities for optimizing task parallel executions by providing information on specific tasks and their preferred execution order to the scheduling system. We introduce scheduling strategies to enable applications to dynamically provide hints to the task-scheduling system on the nature of specific tasks. Scheduling strategies can be used to independently control both local task execution order as well as steal order. In contrast to conventional scheduling policies that are normally global in scope, strategies allow the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Cloud Computing and Resource Management
