Task-Graph Scheduling Extensions for Efficient Synchronization and Communication

11/06/2020
by   Seonmyeong Bak, et al.
0

Task graphs have been studied for decades as a foundation for scheduling irregular parallel applications and incorporated in programming models such as OpenMP. While many high-performance parallel libraries are based on task graphs, they also have additional scheduling requirements, such as synchronization from inner levels of data parallelism and internal blocking communications. In this paper, we extend task-graph scheduling to support efficient synchronization and communication within tasks. Our scheduler avoids deadlock and oversubscription of worker threads, and refines victim selection to increase the overlap of sibling tasks. To the best of our knowledge, our approach is the first to combine gang-scheduling and work-stealing in a single runtime. Our approach has been evaluated on the SLATE highperformance linear algebra library. Relative to the LLVM OMP runtime, our runtime demonstrates performance improvements of up to 13.82 Cholesky, respectively, evaluated across different configurations.

READ FULL TEXT

page 2

page 9

research
02/19/2020

Supporting OpenMP 5.0 Tasks in hpxMP – A study of an OpenMP implementation within Task Based Runtime Systems

OpenMP has been the de facto standard for single node parallelism for mo...
research
09/14/2020

UniFuzz: Optimizing Distributed Fuzzing via Dynamic Centralized Task Scheduling

Fuzzing is one of the most efficient technology for vulnerability detect...
research
08/12/2022

Accelerating Task-based Iterative Applications

Task-based programming models have risen in popularity as an alternative...
research
03/12/2018

Increasing the Degree of Parallelism Using Speculative Execution in Task-based Runtime Systems

Task-based programming models have demonstrated their efficiency in the ...
research
10/21/2020

Runtime vs Scheduler: Analyzing Dask's Overheads

Dask is a distributed task framework which is commonly used by data scie...
research
05/17/2021

Advanced Synchronization Techniques for Task-based Runtime Systems

Task-based programming models like OmpSs-2 and OpenMP provide a flexible...
research
07/16/2020

Scheduling of Real-Time Tasks with Multiple Critical Sections in Multiprocessor Systems

The performance of multiprocessor synchronization and locking protocols ...

Please sign up or login with your details

Forgot password? Click here to reset