  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.
