Data structures for task-based priority scheduling
Journal article, 2014

We present three lock-free data structures for priority task scheduling: a priority work-stealing one, a centralized one with ρ-relaxed semantics, and a hybrid one combining both concepts. With the single-source shortest path (SSSP) problem as example, we show how the different approaches affect the prioritization and provide upper bounds on the number of examined nodes. We argue that priority task scheduling allows for an intuitive and easy way to parallelize the SSSP problem, notoriously a hard task. Experimental evidence supports the good scalability of the resulting algorithm. The larger aim of this work is to understand the trade-offs between scalability and priority guarantees in task scheduling systems. We show that ρ-relaxation is a valuable technique for improving the first, while still allowing semantic constraints to be satisfied: the lock-free, hybrid $k$-priority data structure can scale as well as work-stealing, while still providing strong priority scheduling guarantees, which depend on the parameter k. Our theoretical results open up possibilities for even more scalable data structures by adopting a weaker form of ρ-relaxation, which still enables the semantic constraints to be respected.

parallel single-source shortest path

task-parallelism

priority scheduling

k-priority data structure

work-stealing

Author

Martin Wimmer

Vienna University of Technology

Francesco Versaci

Vienna University of Technology

Jesper Larsson 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)

ACM SIGPLAN Notices

1523-2867 (ISSN)

Vol. 49 8 379-380

Subject Categories

Computer Science

DOI

10.1145/2692916.2555278

More information

Latest update

7/2/2024 1