平衡负载:一个基于Voronoi的并行计算方案
Balancing the load: A Voronoi based scheme for parallel computations
摘要:
数值模拟在科学中的应用越来越多,计算量也越来越大。在许多情况下,单处理器不再足够,模拟在多核机器或超级计算机上运行。在多个CPU上运行仿真时的一个关键问题是在整个运行过程中保持适当的负载平衡,并最大限度地减少CPU之间的通信。我们提出了一种新的方法,利用Voronoi图实现一个近乎完美的负载平衡,而不需要任何全球重新分配的数据。作为一个演示案例,我们实现了我们的方法在丰富的,2D移动网格流体动力学代码,但它可以平凡地扩展到其他代码在2D或3D。我们的测试表明,这种方法确实是有效的,可以用于各种现有的流体动力学代码以及其他应用程序。
英文摘要:
The use of numerical simulations in science is ever increasing and with it the computational size. In many cases single processors are no longer adequate and simulations are run on multiple core machines or supercomputers. One of the key issues when running a simulation on multiple CPUs is maintaining a proper load balance throughout the run and minimizing communications between CPUs. We propose a novel method of utilizing a Voronoi diagram to achieve a nearly perfect load balance without the need of any global redistributions of data. As a show case, we implement our method in RICH, a 2D moving mesh hydrodynamical code, but it can be extended trivially to other codes in 2D or 3D. Our tests show that this method is indeed efficient and can be used in a large variety of existing hydrodynamical codes as well as other applications.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。