针对现有负载平衡算法的适应度低、可扩展性差、通信开销度量不准确的缺陷,提出一种大规模CFD多区结构网格任务负载平衡算法。通过对网格块的分割、网格块之间的组合映射、进程上网格计算量的调整来实现并行CFD任务负载平衡。实验结果表明,该算法既适应同构平台也适应异构平台,既适应网格块数多于进程数的情况也适应网格块数少于进程数的情况,该算法可使得整个计算空间分配到各进程上的计算量负载平衡,同时使得各进程间的最大通信开销最小。
Aiming at the weakness of low fitness, poor scalability, and inaccurate communication overhead measurement in lraditional parallel Computational Fluid Dynamics (CFD) applications, a new algorithm for the task load balancing in the large-scale CFD with multi-zone structured grids is proposed, which implements balancing the task load in parallel CFD applications by employing a three-phase method containing zone splitting, mapping zones to computation tasks, and adaptive adjustment of intra- task. Experimental results show that the proposed algorithm has better performance than the traditional greedy strategy on both homogeneous and heterogeneous computational platforms. By using the new algorithm, the performance of large-scale parallel CFD applications can be greatly improved.