CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Work-stealing with Configurable Scheduling Strategies

Martin Wimmer ; Larsson Träff Jesper ; Daniel Cederman (Institutionen för data- och informationsteknik, Nätverk och system, Datakommunikation och distribuerade system (Chalmers)) ; Philippas Tsigas (Institutionen för data- och informationsteknik, Nätverk och system (Chalmers) )
ACM SIGPLAN NOTICES (0362-1340). Vol. 48 (2013), 8, p. 315-316 .
[Artikel, refereegranskad vetenskaplig]

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.

Nyckelord: Algorithms, Work-stealing, scheduler hints, strategies, priorities



Denna post skapades 2013-10-07.
CPL Pubid: 184814

 

Läs direkt!


Länk till annan sajt (kan kräva inloggning)




Projekt

Denna publikation är ett resultat av följande projekt:


Performance Portability and Programmability for Heterogeneous Many-core Architectures (PEPPHER) (EC/FP7/248481)