首页> 外文学位 >A Scalable Locality-aware Adaptive Work-stealing Scheduler for Multi-core Task Parallelism.
【24h】

A Scalable Locality-aware Adaptive Work-stealing Scheduler for Multi-core Task Parallelism.

机译:用于多核任务并行性的可扩展的可感知位置的自适应工作窃取调度程序。

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

摘要

Recent trend has made it clear that the processor makers are committed to the multi-core chip designs. The number of cores per chip is increasing, while there is little or no increase in the clock speed. This parallelism trend poses a significant and urgent challenge on computer software because programs have to be written or transformed into a multi-threaded form to take full advantage of future hardware advances.;Task parallelism has been identified as one of the prerequisites for software productivity. In task parallelism, programmers focus on decomposing the problem into sub-computations that can run in parallel and leave the compiler and runtime to handle the scheduling details. This separation of concerns between task decomposition and scheduling provides productivity to the programmer but poses challenges to the runtime scheduler.;Our thesis is that work-stealing schedulers with adaptive scheduling policies and locality-awareness can provide a scalable and robust runtime foundation for multi-core task parallelism. We evaluate our thesis using the new Scalable Locality-aware Adaptive Work-stealing (SLAW) runtime scheduler developed for the Habanero-Java programming language, a task-parallel variant of Java.;SLAW's adaptive task scheduling is motivated by the study of two common scheduling policies in a work-stealing scheduler, specifically, the work-first and the help-first policy. Both policies exhibit limitations in performance and resource usage in different situations. The variances make it hard to determine the best policy a priori. SLAW addresses these limitations by supporting both policies simultaneously and selecting policies adaptively on a per-task basis at runtime. Our results show that SLAW achieves 0.98x to 9.2x speedup over the help-first scheduler and 0.97x to 4.5x speedup over the work-first scheduler. Further, for large irregular parallel computations, SLAW supports data sizes and achieves performance that cannot be delivered by the use of any single fixed policy.;SLAW's locality-aware scheduling framework aims to overcome the cache unfriendliness of work-stealing due to randomized stealing. The SLAW scheduler is designed for programming models where locality hints are provided to the runtime by the programmer or compiler. Our results show that locality-aware scheduling can improve performance by increasing temporal data reuse for iterative data-parallel applications.
机译:最近的趋势表明,处理器制造商致力于多核芯片设计。每个芯片的内核数量正在增加,而时钟速度却几乎没有增加。这种并行性趋势对计算机软件提出了重大而紧迫的挑战,因为必须编写程序或将程序转换为多线程形式才能充分利用未来的硬件优势。任务并行性已被确定为提高软件生产率的先决条件之一。在任务并行性中,程序员专注于将问题分解为可以并行运行的子计算,而让编译器和运行时来处理调度细节。任务分解和调度之间的关注点分离为程序员提供了生产力,但给运行时调度程序带来了挑战。我们的论文是,具有自适应调度策略和局部性意识的窃电调度程序可以为多任务调度程序提供可扩展且强大的运行时基础。核心任务并行性。我们使用针对Java的任务并行变体Habanero-Java编程语言开发的新的可扩展位置感知的自适应工作窃取(SLAW)运行时调度程序来评估论文; SLAW的自适应任务调度是基于对两种常见的研究的推动在工作窃取调度程序中调度策略,特别是工作优先和帮助优先的策略。两种策略在不同情况下都表现出性能和资源使用方面的限制。这些差异使得很难先验地确定最佳策略。 SLAW通过同时支持两个策略并在运行时根据每个任务自适应地选择策略来解决这些限制。我们的结果表明,SLAW在“帮助优先”调度程序上实现了0.98到9.2倍的加速,在“工作优先”调度程序上达到了0.97到4.5倍的加速。此外,对于大型不规则并行计算,SLAW支持数据大小并获得使用任何单个固定策略都无法提供的性能。; SLAW的位置感知调度框架旨在克服由于随机窃取而导致的缓存对工作窃取的不友好性。 SLAW调度程序是为编程模型设计的,其中程序员或编译器将局部性提示提供给运行时。我们的结果表明,通过提高针对迭代数据并行应用程序的时间数据重用性,可感知位置的调度可以提高性能。

著录项

  • 作者

    Guo, Yi.;

  • 作者单位

    Rice University.;

  • 授予单位 Rice University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2010
  • 页码 143 p.
  • 总页数 143
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号