TurboBŁYSK: Scheduling for Improved Data-Driven Task Performance with Fast Dependency Resolution

TurboBŁYSK: Scheduling for Improved Data-Driven Task Performance with Fast Dependency Resolution
复制标题

TurboBŁYSK:通过快速依赖性解析来提高数据驱动任务性能的调度

DOI:
--
复制
发表时间:
2014
期刊:
International Workshop on OpenMP
影响因子:
--
通讯作者:
Vladimir Vlassov
Vladimir Vlassov
中科院分区:
--
文献类型:
--
作者:
Artur Podobas;M. Brorsson;Vladimir Vlassov

文献摘要

被引文献

相似文献

数据驱动的任务并行性吸引了越来越多的兴趣,现在已被添加到OpenMP(4.0)中。这种范例简化了并行应用程序的编写,提取了并行性,并促进了分布式内存体系结构的使用。虽然编程模型本身正在变得成熟,但当前运行时调度器实现的一个问题是,它们需要非常大的任务粒度才能进行扩展。这一限制与任务并行编程的思想不一致,在任务并行编程中,程序员应该能够专注于揭示并行性,而不是考虑任务的粒度。为了缓解这一限制,我们设计并实现了TurboBŁYSK,这是一个具有显式数据依赖注释的高效任务运行时调度器。我们提出了一种基于模式保存的新机制,允许调度器根据程序员的注释重用先前解析的依赖模式,使程序即使使用最小的任务也能很好地扩展。我们的实验表明,我们在TurboBŁYSK中的技术能够实现与其他运行时调度器相比的近两倍的峰值性能。我们的技术不是特定于OpenMP的,可以在其他任务并行框架中实现。
Data-driven task-parallelism is attracting growing interest and has now been added to OpenMP (4.0). This paradigm simplifies the writing of parallel applications, extracting parallelism, and facilitates the use of distributed memory architectures. While the programming model itself is becoming mature, a problem with current run-time scheduler implementations is that they require a very large task granularity in order to scale. This limitation goes at odds with the idea of task-parallel programing where programmers should be able to concentrate on exposing parallelism with little regard to the task granularity. To mitigate this limitation, we have designed and implemented TurboBŁYSK, a highly efficient run-time scheduler of tasks with explicit data-dependence annotations. We propose a novel mechanism based on pattern-saving that allows the scheduler to re-use previously resolved dependency patterns, based on programmer annotations, enabling programs to use even the smallest of tasks and scale well. We experimentally show that our techniques in TurboBŁYSK enable achieving nearly twice the peak performance compared with other run-time schedulers. Our techniques are not OpenMP specific and can be implemented in other task-parallel frameworks.