天文海量数据的出现给天文软件的开发带来了诸多挑战。近年来,随着并行计算技术的发展,MPI+GPU逐渐成为当前高性能天文数据处理的主要模式。针对太阳高分辨图像重建中如何提高重建性能这一问题,对其中的数据读取与数据分发方法进行了系统研究。传统的MPI并行处理时,主进程将原图切割成子块,随后将子块发送到各子进程重建,重建后的结果返回主进程。当子进程数量较大且计算节点数量较少时,这种数据分发过程显著增加通讯时长,影响整个重建过程的效率。提出MPI+CUDA的一种树状数据分发方法,给出了算法的基本思路与实现方法。实验结果表明,树状分发方式比一般采用的平行分发方式可以提高速度近一倍,成果对天文海量数据开发处理有一定的借鉴作用。
The appearance of massive astronomical data has brought a lot of challenges to the development of astronomy software. In recent years, with the development of parallel computing technology, MPI + GPU mode has become the main mode for current high performance astronomical data processing gradually. For the problem of how to improve reconstruction performance in reconstruction of solar high resolution image, this paper has made systematic research on data reading and data distribution method. During traditional MPI parallel processing, master process cuts original image into sub-blocks, and then delivers sub-blocks into each sub-process for reconstruction, the results after reconstruction will be returned to the master process. When the number of sub-process is big and calculation nodes are few, this data distribution process will increase the time for communication significantly and affect the efficiency of the whole reconstruction process. This paper has proposed a tree data distribution method under MPI + CUDA and offered basic ideas and realization method of the algorithm. Experimental results have shown that tree distribution mode nearly doubles the speed than generally adopted plane distribution mode; its achievements provide certain reference for the development and processing of massive astronomical data.