当前位置: X-MOL 学术Parallel Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Asynchronous runtime with distributed manager for task-based programming models
Parallel Computing ( IF 1.4 ) Pub Date : 2020-06-07 , DOI: 10.1016/j.parco.2020.102664
Jaume Bosch , Carlos Álvarez , Daniel Jiménez-González , Xavier Martorell , Eduard Ayguadé

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.



中文翻译:

带有分布式管理器的异步运行时,用于基于任务的编程模型

基于并行任务的编程模型(例如OpenMP)使应用程序开发人员可以轻松地创建其并行代码的并行版本。标准的OpenMP 4.0引入了为每个任务描述一组数据依赖关系的可能性,运行时使用该数据依赖关系来对任务执行进行排序。使用共享图计算此顺序,共享图由所有线程在独占访问中使用同步机制(锁)进行更新,以确保依赖性管理的正确性。在许多核心系统中,对这些结构的访问权的争用变得至关重要,因为多个线程可能正在浪费计算资源,以等待轮流使用。

本文提出了适用于基于任务的编程模型运行时的运行时结构(如任务依赖图)的异步管理。在这种组织中,线程会向运行时请求操作,而不是直接执行操作。然后由不需要专用资源的分布式运行时管理器(DDAST)处理请求。而是,管理器使用空闲线程来修改运行时结构。本文还介绍了这种运行时组织的实现,分析和性能评估。性能结果表明,针对不同的基准和不同的多核体系结构,所提出的异步组织的性能优于原始运行时所获得的加速。

更新日期:2020-06-07
down
wechat
bug