ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2014, Vol. 51 ›› Issue (11): 2538-2546.doi: 10.7544/issn1000-1239.2014.20131241

• 软件技术 • 上一篇    下一篇

数据驱动并行计算的3层软件架构设计及应用

张爱清,莫则尧,杨章   

  1. (北京应用物理与计算数学研究所 北京 100094) (计算物理重点实验室 北京 100094) (zhang_aiqing@iapcm.ac.cn)
  • 出版日期: 2014-11-01
  • 基金资助: 
    基金项目:国家自然科学基金重点项目(61033009);国家“九七三”重点基础研究发展计划基金项目(2011CB309702);国家“八六三”高技术研究发展计划基金项目(2012AA01A309)

Three-Level Hierarchical Software Architecture for Data-Driven Parallel Computing with Applications

Zhang Aiqing, Mo Zeyao, Yang Zhang   

  1. (Institute of Applied Physics and Computational Mathematics, Beijing 100094) (National Key Laboratory of Science and Technology on Computational Physics, Beijing 100094)
  • Online: 2014-11-01

摘要: 数据驱动并行计算是科学与工程计算中普遍存在的一类计算,其执行通常依赖于数据流有向图.在实际应用中,结点调度、数据通信和数值计算紧耦合并发执行,较难解耦编程,这给应用软件的协同研制和代码复用带来困难.借助于统一形式的数据流有向图并行算法框架,分无环有向图调度、无环有向图建模和数值计算3个层次,设计了软件体系结构,实现于并行自适应结构网格应用支撑软件(J parallel adaptive structured mesh applications infrastructure, JASMIN)框架的通量扫描积分构件中,有力地支持了结点调度、数据通信和数值计算的解耦编程.研究成果成功应用于科学计算中典型的中子输运计算,典型的代码开销测试和2 048个处理器核的并行性能测试表明,软件架构及其构件化实现是有效的.

关键词: 数据驱动, 并行计算, 无环有向图, JASMIN框架, 软件体系结构, 解耦

Abstract: Data-driven parallel computing is widely used in scientific and engineering computation. Most of these computations are based on data dependency diagraphs. In real word applications, vertex scheduling, data communication and numerical computation are executed concurrently in a tightly coupled way, and it is hard to implement in a decoupled manner, which imposes difficulties for both application software co-design and code reuse. To address these problems, in this paper, we propose a hierarchical software architecture and implement it in sweeping integrator component, which is the part of the J adaptive structured mesh infrastructure (JASMIN). The hierarchical architecture is based on a unified algorithm framework for data dependency diagraph computation. It consists of three levels, including directed acyclic graph (DAG) scheduling level, DAG modeling level and numerical computation level. This design provides strong support for decoupled implementation of vertex scheduling, data communication and numerical computation, which are essential in data-driven parallel computing. We apply this result in typical scientific computing applications such as neutron transportation. The sequential implementation overhead and parallel performance results are obtained on a parallel computer with 2048 CPU cores. These results suggest that our hierarchical software architecture and component-based implementation are both effective and efficient.

Key words: data driven, parallel computing, directed acyclic graph, J adaptive structured mesh infrastructure (JASMIN), software architecture, decoupling

中图分类号: