Asynchronous Runtime with Distributed Manager for Task-based Programming Models

09/07/2020
by   Jaume Bosch, et al.
0

Parallel task-based programming models, like OpenMP, allow application developers to easily create a parallel version of their sequential codes. The standard OpenMP 4.0 introduced the possibility of describing a set of data dependences per task that the runtime uses to order the tasks execution. This order is calculated using shared graphs, which are updated by all threads in exclusive access using synchronization mechanisms (locks) to ensure the dependence management correctness. The contention in the access to these structures becomes critical in many-core systems because several threads may be wasting computation resources waiting their turn. This paper proposes an asynchronous management of the runtime structures, like task dependence graphs, suitable for task-based programming model runtimes. In such organization, the threads request actions to the runtime instead of doing them directly. The requests are then handled by a distributed runtime manager (DDAST) which does not require dedicated resources. Instead, the manager uses the idle threads to modify the runtime structures. The paper also presents an implementation, analysis and performance evaluation of such runtime organization. The performance results show that the proposed asynchronous organization outperforms the speedup obtained by the original runtime for different benchmarks and different many-core architectures.

READ FULL TEXT

page 10

page 12

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
01/30/2021

Performance Measurements within Asynchronous Task-based Runtime Systems: A Double White Dwarf Merger as an Application

Analyzing performance within asynchronous many-task-based runtime system...
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
09/20/2021

An Improved and Optimized Practical Non-Blocking PageRank Algorithm for Massive Graphs

PageRank is a well-known algorithm whose robustness helps set a standard...
research
08/12/2022

Accelerating Task-based Iterative Applications

Task-based programming models have risen in popularity as an alternative...
research
09/22/2020

TaskTorrent: a Lightweight Distributed Task-Based Runtime System in C++

We present TaskTorrent, a lightweight distributed task-based runtime in ...
research
07/02/2023

On the Runtime of Chemical Reaction Networks Beyond Idealized Conditions

This paper studies the (discrete) chemical reaction network (CRN) comput...

Please sign up or login with your details

Forgot password? Click here to reset