首页> 外文期刊>Parallel Computing >A general and fast distributed system for large-scale dynamic programming applications
【24h】

A general and fast distributed system for large-scale dynamic programming applications

机译:适用于大规模动态编程应用的通用快速分布式系统

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

Dynamic programming is an important technique widely used in many scientific applications. Due to the massive volume of applications' data in practice, parallel and distributed DP is a must. However, writing a parallel and distributed DP program is difficult and error prone because of its intrinsically strong data dependency. In this paper, we present DPX10, a DAG-based distributed X10 framework aiming at simplifying the parallel programming for DP applications. DPX10 enables users to write highly efficient parallel DP programs without much effort. For DPX10 programming, users only need to do two things: 1) Instantiating a DAG pattern by indicating the dependency between vertices of the DAG; 2) Implementing the DP application's logic in the compute method of the vertices. DPX10 provides eight commonly used DAG patterns and a simple API to allow users to customize their own DAG patterns. All the tiresome work of DP parallelization including DAG distribution, tasks scheduling, and tasks communication are hidden from users and covered by DPX10. Moreover, DPX10 is fault-tolerant and has a mechanism to handle the problem of straggler tasks, which run much slower than other tasks due to unexpected resource contention. Finally, we use four DP applications with up to 2 billion vertices running on 240 cores to demonstrate the simplicity, efficiency, and scalability of our proposed framework. (C) 2016 Elsevier B.V. All rights reserved.
机译:动态编程是许多科学应用中广泛使用的一项重要技术。由于实际上应用程序的数据量很大,因此必须使用并行和分布式DP。但是,编写并行且分布式的DP程序既困难又容易出错,因为它本质上具有很强的数据依赖性。在本文中,我们介绍了DPX10,这是一个基于DAG的分布式X10框架,旨在简化DP应用程序的并行编程。 DPX10使用户可以轻松编写高效的并行DP程序。对于DPX10编程,用户只需要做两件事:1)通过指示DAG的顶点之间的依赖性来实例化DAG模式。 2)在顶点的计算方法中实现DP应用程序的逻辑。 DPX10提供了八个常用的DAG模式和一个简单的API,以允许用户自定义自己的DAG模式。 DP并行化的所有繁琐工作,包括DAG分发,任务调度和任务通信,对用户都是隐藏的,并由DPX10覆盖。而且,DPX10具有容错能力,并具有一种机制来处理任务分散的问题,这些任务由于意外的资源争用而比其他任务运行得慢得多。最后,我们使用四个DP应用程序,在240个内核上运行多达20亿个顶点,以展示我们提出的框架的简单性,效率和可伸缩性。 (C)2016 Elsevier B.V.保留所有权利。

著录项

  • 来源
    《Parallel Computing》 |2016年第12期|1-21|共21页
  • 作者单位

    Tianjin Univ, Sch Comp Sci & Technol, Tianjin, Peoples R China;

    Tianjin Univ, Sch Comp Sci & Technol, Tianjin, Peoples R China;

    Tianjin Univ, Sch Comp Sci & Technol, Tianjin, Peoples R China;

    Tianjin Univ, Sch Comp Software, Tianjin, Peoples R China;

    Tianjin Univ, Sch Comp Sci & Technol, Tianjin, Peoples R China;

    Natl Supercomp Ctr, Tianjin, Peoples R China;

  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    Dynamic programming; Programming framework; X10; APGAS;

    机译:动态编程;编程框架;X10;APGAS;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号