A Case for More Adaptivity in HPC Systems - Even despite MPI
Current HPC environments and applications are rather rigid and inflexible, and MPI’s inability to efficiently support malleability, i.e., the ability to grow and shrink the computational resources associated with a job at runtime, is a significant part of the problem. While this is likely not going to change for exascale systems anymore, in a Post-Exascale world, however, we will require a more flexible approach, e.g., to support a greater level of fault tolerance, to adjust to changing levels of available resources, or to match more complex workflows. In order for MPI to maintain its dominant role in HPC, it will have to change and become more adaptive. In this talk I will discuss the challenges facing MPI in these scenarios as well as several approaches that are first steps towards supporting malleability in MPI. They will open the door for MPI to both support a new generation of applications as well as to provide more flexible runtime support for higher level programming models.