Particle advection is the approach for extraction of integral curves from vector fields. Efficient parallelization of particle advection is a challenging task due to the problem of load imbalance, in which processes are assigned unequal workloads, causing some of them to idle as the others are performing compute. Various approaches to load balancing exist, yet they all involve trade-offs such as increased inter-process communication, or the need for central control structures. In this work, we present two local load balancing methods for particle advection based on the family of diffusive load balancing. Each process has access to the blocks of its neighboring processes, which enables dynamic sharing of the particles based on a metric defined by the workload of the neighborhood. The approaches are assessed in terms of strong and weak scaling as well as load imbalance. We show that the methods reduce the total run-time of advection and are promising with regard to scaling as they operate locally on isolated process neighborhoods.
翻译:粒子吸附是从矢量场中提取整体曲线的方法。 粒子吸附的有效平行是一项具有挑战性的任务,因为负荷不平衡问题, 过程分配不均, 导致某些过程在计算其他过程时闲置。 各种负荷平衡方法存在, 但它们都涉及权衡取舍, 如增加过程间通信, 或者需要中央控制结构。 在这项工作中, 我们根据分量平衡的组合, 提出了两种本地粒子吸附平衡方法。 每个过程都可以进入其相邻过程的区块, 从而能够根据附近地区工作量确定的标准动态地分享粒子。 方法从强弱的缩放以及负载不平衡的角度进行评估。 我们表明, 方法可以减少消化的总运行时间, 并且很有希望随着在孤立的相邻之间操作而逐步扩大。