首页> 外文学位 >Capsules: Expressing composable computations in a parallel programming model.
【24h】

Capsules: Expressing composable computations in a parallel programming model.

机译:胶囊:在并行编程模型中表达可组合的计算。

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

摘要

A well-known problem in designing high-level parallel programming models and languages is the "granularity problem", where the execution of parallel tasks that are too fine-grain incur large overheads in the parallel runtime and adversely affect the speed-up that can be achieved by parallel execution. On the other hand, tasks that are too coarse-grain create load imbalance and do not adequately utilize the parallel machine. In this work we attempt to address the issue of granularity with a concept of expressing "composable computations" within a parallel programming model called "Capsules".;In Capsules, we provide a unifying framework that allows composition and adjustment of granularity for both data and computation over iteration space and computation space.;The Capsules model not only allows the user to express the decision on granularity of execution, but also the decision on the granularity of garbage collection (and therefore, the aggressiveness of the GC optimization), and other features that may be supported by the programming model.;We argue that this adaptability of execution granularity leads to efficient parallel execution by matching the available application concurrency to the available hardware concurrency, thereby reducing parallelization overhead. By matching, we refer to creating coarse-grain Computation Capsules that encompass multiple instances of fine-grain computation instances. In effect, creating coarse-grain computations reduces overhead by simply reducing the number of parallel computations. Reducing parallel computation instances in turn leads to: (1) Reduced synchronization cost such as that required to access and search in shared data-structures; (2) Reduced distribution and scheduling cost for parallel computation instances; and (3) Reduced book-keeping costs consisting of maintain data-structures such as blocked lists for unfulfilled data requests.;Capsules builds on our prior work, TStreams, a data-flow oriented parallel programming framework. Our results on an CMP/SMP machine using real vision applications such as the Cascade Face Detector, and the Stereo Vision Depth applications, and other synthetic applications show benefits in application performance. We use profiling to help determine optimal coarse-grain serial execution granularity, and provide empirical proof that adjusting execution granularity reduces parallelization overhead to yield maximum application performance.
机译:在设计高级并行编程模型和语言时,一个众所周知的问题是“粒度问题”,其中粒度太细的并行任务的执行会在并行运行时中产生大量开销,并且不利地影响可以提高速度的目标。通过并行执行来实现。另一方面,过于粗糙的任务会导致负载不平衡,并且无法充分利用并行机。在这项工作中,我们尝试通过在称为“ Capsules”的并行编程模型中表达“可组合计算”的概念来解决粒度问题。在Capsules中,我们提供了一个统一的框架,该框架允许对数据和数据进行组合和调整粒度。 Capsules模型不仅允许用户表达关于执行粒度的决定,还可以表达关于垃圾收集粒度的决定(以及GC优化的积极性),以及其他我们认为,执行粒度的这种适应性通过将可用的应用程序并发与可用的硬件并发相匹配,从而导致有效的并行执行,从而减少了并行化开销。通过匹配,我们指的是创建包含多个细粒度计算实例实例的粗粒度计算胶囊。实际上,创建粗粒度计算可以通过简单地减少并行计算的数量来减少开销。减少并行计算实例将导致:(1)降低同步成本,例如访问和搜索共享数据结构所需的同步成本; (2)降低了并行计算实例的分发和调度成本; (3)减少簿记成本,包括维护数据结构,例如未完成的数据请求的阻止列表。; Capsules建立在我们先前的工作TStreams(面向数据流的并行编程框架)的基础上。我们在使用Cascade人脸检测器,Stereo Vision Depth应用程序和其他合成应用程序等真实视觉应用程序的CMP / SMP机器上获得的结果显示了应用程序性能的优势。我们使用性能分析来帮助确定最佳的粗粒度串行执行粒度,并提供经验证据证明调整执行粒度可以减少并行化开销,从而获得最大的应用程序性能。

著录项

  • 作者

    Mandviwala, Hasnain A.;

  • 作者单位

    Georgia Institute of Technology.;

  • 授予单位 Georgia Institute of Technology.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2008
  • 页码 180 p.
  • 总页数 180
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号