Auto-tuning of dynamic load balancing applied to 3D reverse time migration on multicore systems
Reverse time migration (RTM) is an algorithm widely used in the oil and gas industry to process seismic data. It is a computationally intensive task that suits well in parallel computers. Because of it being massive and regular, this type of task is often equally and statically distributed among the available parallel workers. However, this strategy is often not optimal. When the workers are heterogeneous, and even when most have similar processing power, many of them might still have to wait idly for the slower workers. In this paper, we show that even small performance differences between homogeneous cores can considerably affect the overall performance of a 3D RTM application. We show that dynamic load distribution has a significant advantage over the conventional static distribution. However, the granularity of the dynamically distributed chunks of work plays a key role in harvesting this advantage. In order to find the optimal granularity, we propose a coupled simulated annealing (CSA) based auto-tuning strategy that adjusts the chunk size of work that OpenMP parallel loops assign dynamically to worker threads during the initialization of a 3D RTM application. Experiments performed on computational systems with different processor and RAM specifications and for different sizes of input show that the proposed method is consistently better than two default OpenMP loop schedulers being up to 44
READ FULL TEXT