Work-stealing with Configurable Scheduling Strategies
Paper in proceeding, 2013

Work-stealing systems are typically oblivious to the nature of the tasks they are scheduling. They do not know or take into account how long a task will take to execute or how many subtasks it will spawn. Moreover, task execution order is typically determined by an 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 investigate generalizations of work-stealing and introduce a framework enabling applications to dynamically provide hints on the nature of specific tasks using scheduling strategies. Strategies can be used to independently control both local task execution and steal order. Strategies allow optimizations on specific tasks, in contrast to more conventional scheduling policies that are typically global in scope. Strategies are composable and allow different, specific scheduling choices for different parts of an application simultaneously. We have implemented a work-stealing system based on our strategy framework. A series of benchmarks demonstrates beneficial effects that can be achieved with scheduling strategies.

Algorithms

scheduler hints

strategies

Work-stealing

priorities

Author

Martin Wimmer

Vienna University of Technology

J.L. Träff

Vienna University of Technology

Daniel Cederman

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Philippas Tsigas

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

ACMSIGPLAN Symposium on Principles and Practice of Parallel Programming

1542-0205 (ISSN)

Vol. 48 8 315-316
978-145031922-5 (ISBN)

18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2013
Shenzhen, China,

Subject Categories

Computer Science

DOI

10.1145/2517327.2442562

More information

Latest update

6/3/2022 1