【24h】

Synthesizing Concurrent Schedulers for Irregular Algorithms

机译:为不规则算法合成并发调度程序

获取原文
获取原文并翻译 | 示例

摘要

Scheduling is the assignment of tasks or activities to processors for execution, and it is an important concern in parallel programming. Most prior work on scheduling has focused either on static scheduling of applications in which the dependence graph is known at compile-time or on dynamic scheduling of independent loop iterations such as in OpenMP. In irregular algorithms, dependences between activities are complex functions of runtime values so these algorithms are not amenable to compile-time analysis nor do they consist of independent activities. Moreover, the amount of work can vary dramatically with the scheduling policy. To handle these complexities, implementations of irregular algorithms employ carefully handcrafted, algorithm-specific schedulers but these schedulers are themselves parallel programs, complicating the parallel programming problem further. In this paper, we present a flexible and efficient approach for specifying and synthesizing scheduling policies for irregular algorithms. We develop a simple compositional specification language and show how it can concisely encode scheduling policies in the literature. Then, we show how to synthesize efficient parallel schedulers from these specifications. We evaluate our approach for five irregular algorithms on three multicore architectures and show that (1) the performance of some algorithms can improve by orders of magnitude with the right scheduling policy, and (2) for the same policy, the overheads of our synthesized schedulers are comparable to those of fixed-function schedulers.
机译:调度是将任务或活动分配给处理器以执行,这是并行编程中的一个重要问题。有关调度的大多数先前工作都集中于在编译时已知依赖图的应用程序的静态调度,或诸如OpenMP等独立循环迭代的动态调度。在不规则算法中,活动之间的依赖关系是运行时值的复杂函数,因此这些算法不适合编译时分析,也不由独立的活动组成。此外,工作量可能会因调度策略而有很大差异。为了处理这些复杂性,不规则算法的实现采用精心制作的,特定于算法的调度程序,但是这些调度程序本身就是并行程序,这使并行编程问题进一步复杂化。在本文中,我们提出了一种灵活有效的方法,用于指定和综合非规则算法的调度策略。我们开发了一种简单的组成规范语言,并展示了它如何在文献中简洁地编码调度策略。然后,我们展示了如何根据这些规范来综合高效的并行调度程序。我们评估了在三种多核体系结构上针对五种不规则算法的方法,结果表明:(1)使用正确的调度策略,某些算法的性能可以提高几个数量级;(2)对于同一策略,综合调度程序的开销与固定功能的调度程序相当。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号