Balancing CPU Load for Irregular MPI Applications
Keller Jörg, Majeed Mudassar, Christoph W. Keßler · Advances in parallel computing · 2012
MPI applications typically are designed to be run on a parallel machine with one process per core. If processes exhibit different computational load, either the code must be rewritten for load balancing, with negative side-effects on readability and maintainability, or the one-process-per-core philosophy leads to a low utilization of many processor cores. If several processes are mapped per core to increase CPU utilization, the load might still be unevenly distributed among the cores if the mapping is unaware of the process characteristics.