首页> 外文学位 >Compiler support for work-stealing parallel runtime systems.
【24h】

Compiler support for work-stealing parallel runtime systems.

机译:编译器支持窃取并行运行时系统。

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

摘要

Multiple programming models are emerging to address an increased need for dynamic task parallelism in applications for multicore processors and shared-address-space parallel computing. Examples include OpenMP 3.0, Java Concurrency Utilities, Microsoft Task Parallel Library, Intel Threading Building Blocks, Cilk, X10, Chapel, and Fortress. Scheduling algorithms based on work-stealing, as embodied in Cilk's implementation of dynamic spawn-sync parallelism, are gaining in popularity but also have inherent limitations. In this thesis, we focus on the compiler support needed to extend work-stealing for dynamic async-finish task parallelism as in X10 and HabaneroJava (HJ). We also discuss the compiler support needed for work-stealing with both the work-first and help-first policies. Performance results obtained using our compiler and the HJ work-stealing runtime show significant improvement compared to the earlier work-sharing runtime.We then propose and implement two optimizations that can be performed in the compiler to improve the code generated for work-stealing schedulers. Performance results show that the Frame-Store optimizations provide a significant reduction in the code size and the number of frame-store statements executed dynamically, but these reductions do not result in execution time improvements on current multicore systems. We also show that the Objects-As-Frames optimization yields an improvement in performance for small number of threads. Finally, we propose topics for future work which include extending work-stealing for additional language constructs as well as new optimizations.
机译:出现了多种编程模型,以解决在多核处理器和共享地址空间并行计算应用程序中对动态任务并行性的日益增长的需求。示例包括OpenMP 3.0,Java并发实用程序,Microsoft Task Parallel Library,Intel线程构建模块,Cilk,X10,Chapel和Fortress。 Cilk在动态生成同步并行化的实现中体现了基于工作窃取的调度算法,这种算法越来越流行,但也有其固有的局限性。在本文中,我们将重点放在扩展X-X10和HabaneroJava(HJ)中的动态异步完成任务并行性的工作窃取所需的编译器支持上。我们还将讨论使用工作优先和帮助优先策略进行工作窃取所需的编译器支持。与早期的工作共享运行时相比,使用我们的编译器和HJ工作窃取运行时获得的性能结果显示出显着的改进。然后我们提出并实现了可以在编译器中执行的两个优化,以改进为工作窃取调度程序生成的代码。性能结果表明,帧存储优化可以显着减少代码大小和动态执行的帧存储语句数量,但是这些减少不会导致当前多核系统上执行时间的缩短。我们还表明,“对象为框架”优化可提高少量线程的性能。最后,我们为将来的工作提出了一些主题,包括扩展对其他语言结构的工作窃取以及新的优化。

著录项

  • 作者

    Raman, Raghavan.;

  • 作者单位

    Rice University.;

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

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号