Optimization of applications with non-blocking neighborhood collectives via multisends on the Blue Gene/P supercomputer
Abstract
We explore the multisend interface as a data mover interface to optimize applications with neighborhood collective communication operations. One of the limitations of the current MPI 2.1 standard is that the vector collective calls require counts and displacements (zero and non-zero bytes) to be specified for all the processors in the communicator. Further, all the collective calls in MPI 2.1 are blocking and do not permit overlap of communication with computation in the same thread of execution. However, multisends are non-blocking calls that permit overlap of computation and communication. We present the record replay persistent optimization to the multisend interface that minimizes the processor overhead of initiating the collective. We present four different case studies with the multisend API on Blue Gene/P (i) 3D-FFT, (ii) 4D nearest neighbor exchange as used in Quantum Chromodynamics, (iii) NAMD and (iv) neural network simulator NEURON. Performance results show 1.9x speedup with 323 3D-FFTs, 1.9x speedup for 4D nearest neighbor exchange with the 2 4problem, 1.6x speedup in NAMD and almost 3x speedup in NEURON with 256K cells and 1k connections/cell. ©2010 IEEE.