Toward Performance Models of MPI Implementations for Understanding Application Scaling Issues
|Title||Toward Performance Models of MPI Implementations for Understanding Application Scaling Issues|
|Publication Type||Conference Paper|
|Year of Publication||2010|
|Authors||Hoefler, T, Gropp, WD, Thakur, R, Traff, JL|
Designing and tuning parallel applications with MPI, particularly at large scale, requires understanding the performance implications of different choices of algorithms and implementation options. Which algorithm is better depends in part on the performance of the different possible communication approaches, which in turn can depend on both the system hardware and the MPI implementation. In the absence of detailed performance models for different MPI implementations, application developers often must select methods and tune codes without the means to realistically estimate the achievable performance and rationally defend their choices. In this paper, we demonstrate that by constructing upper and lower bounds on performance and by taking into account the effects of limits on network-injection rates and effective bisection bandwidth, useful performance models can be constructed. Since collective communication plays a crucial role in enabling scalability, we also provide analytical models for scalability of collective communication algorithms, such as broadcast, allreduce, and all-to-all. We apply these models to an IBM Blue Gene/P system and compare the analytical performance estimates with experimentally measured values.