Computational load imbalance is a well-known performance issue in multiprocessor reacting flow simulations utilizing directly integrated chemical kinetics. We introduce an open-source dynamic load balancing model named DLBFoam to address this issue within OpenFOAM, an open-source C++ library for Computational Fluid Dynamics (CFD). Due to the commonly applied operator splitting practice in reactive flow solvers, chemistry can be treated as an independent stiff ordinary differential equation (ODE) system within each computational cell. As a result of the highly non-linear characteristics of chemical kinetics, a large variation in the convergence rates of the ODE integrator may occur, leading to a high load imbalance across multiprocessor configurations. However, the independent nature of chemistry ODE systems leads to a problem that can be parallelized easily (called an embarrassingly parallel problem in the literature) during the flow solution. The presented model takes advantage of this feature and balances the chemistry load across available resources. Additionally, a reference mapping model is utilized to further speed-up the simulations. When DLBFoam it utilized with both these features enabled, a speed-up by a factor of 10 is reported for reactive flow benchmark cases. To the best of our knowledge, this model is the first open-source implementation of chemistry load balancing in the literature.
翻译:计算负载不平衡是利用直接整合的化学动能学进行多处理器对流模拟的一个众所周知的性能问题。我们引入了一个名为DLBFOAM的开放源码动态负载平衡模型,以便在OpenFoAM(一个计算流体动态的开放源C++库)内解决这个问题。由于在反应流解器中通常使用的操作者分解做法,化学可以被视为每个计算细胞中独立的硬性普通微分方程(ODE)系统。由于化学动能高度非线性特征,ODE集成器的趋同率可能发生巨大差异,导致多处理器配置之间的高度负载不平衡。然而,化学极量码系统的独立性质导致一个问题,在流动解答过程中很容易(在文献中被称为一个令人尴尬的平行问题 ) 。 所介绍的模型利用这一特性并平衡了所有资源的化学量。此外,一个参考绘图模型被用于进一步加速模拟。当它使用这两个特性时,ODLBFOAM聚合器的趋同率可能发生很大的趋同率,导致多处理器配置结构结构结构结构结构的高度不平衡。然而,因此,一个最快速化模型能够使这个模型的模型得到最佳的同步。