QuickSched: Task-based parallelism with dependencies and conflicts
Pedro Gonnet, Aidan B. G. Chalk, Matthieu Schaller

TL;DR
QuickSched is an open-source C library that enhances task-based parallel programming by incorporating task conflicts and dependencies, enabling efficient execution and scaling on multi-core shared-memory systems.
Contribution
It introduces a novel conflict-aware task scheduling scheme using lockable hierarchical resources, extending standard dependency-only models.
Findings
Performs well on 64-core systems
Scales efficiently for QR decomposition
Effective for Barnes-Hut tree code
Abstract
This paper describes QuickSched, a compact and efficient Open-Source C-language library for task-based shared-memory parallel programming. QuickSched extends the standard dependency-only scheme of task-based programming with the concept of task conflicts, i.e.~sets of tasks that can be executed in any order, yet not concurrently. These conflicts are modelled using exclusively lockable hierarchical resources. The scheduler itself prioritizes tasks along the critical path of execution and is shown to perform and scale well on a 64-core parallel shared-memory machine for two example problems: A tiled QR decomposition and a task-based Barnes-Hut tree code.
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.
Code & Models
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
