Zhang Aiqing, Mo Zeyao, Yang Zhang. Three-Level Hierarchical Software Architecture for Data-Driven Parallel Computing with Applications[J]. Journal of Computer Research and Development, 2014, 51(11): 2538-2546. DOI: 10.7544/issn1000-1239.2014.20131241
Citation:
Zhang Aiqing, Mo Zeyao, Yang Zhang. Three-Level Hierarchical Software Architecture for Data-Driven Parallel Computing with Applications[J]. Journal of Computer Research and Development, 2014, 51(11): 2538-2546. DOI: 10.7544/issn1000-1239.2014.20131241
Zhang Aiqing, Mo Zeyao, Yang Zhang. Three-Level Hierarchical Software Architecture for Data-Driven Parallel Computing with Applications[J]. Journal of Computer Research and Development, 2014, 51(11): 2538-2546. DOI: 10.7544/issn1000-1239.2014.20131241
Citation:
Zhang Aiqing, Mo Zeyao, Yang Zhang. Three-Level Hierarchical Software Architecture for Data-Driven Parallel Computing with Applications[J]. Journal of Computer Research and Development, 2014, 51(11): 2538-2546. DOI: 10.7544/issn1000-1239.2014.20131241
(Institute of Applied Physics and Computational Mathematics, Beijing 100094) (National Key Laboratory of Science and Technology on Computational Physics, Beijing 100094)
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.