  Reverse time migration (RTM) is a prominent technique in seismic imaging. Its
resulting subsurface images are used in the industry to investigate with higher
confidence the existence and the conditions of oil and gas reservoirs. Because
of its high computational cost, RTM must make use of parallel computers.
Balancing the workload distribution of an RTM is a growing challenge in
distributed computing systems. The competition for shared resources and the
differently-sized tasks of the RTM are some of the possible sources of load
imbalance. Although many load balancing techniques exist, scaling up for large
problems and large systems remains a challenge because synchronization overhead
also scales. This paper proposes a cyclic token-based work-stealing (CTWS)
algorithm for distributed memory systems applied to RTM. The novel cyclic token
approach reduces the number of failed steals, avoids communication overhead,
and simplifies the victim selection and the termination strategy. The proposed
method is implemented as a C library using the one-sided communication feature
of the message passing interface (MPI) standard. Results obtained by applying
the proposed technique to balance the workload of a 3D RTM system present a
factor of 14.1% speedup and reductions of the load imbalance of 78.4% when
compared to the conventional static distribution.
