  MPI applications begin with a fixed number of rank and, by default, the rank
remains constant throughout the application's lifetime. The developer can
choose to increase the rank by dynamically spawning MPI processes. However
doing this manually adds complexity to the MPI application. Making the MPI
applications malleable \cite{b20} would allow HPC applications to have the same
elasticity as that of cloud applications. We propose multiple approaches to
change the rank of an MPI program agnostic to the modification of the user
code. We use checkpointing as a tool to achieve mutability of rank by halting
the execution and resuming the MPI program with a new state. In this paper, we
focus on the scenario of increasing the rank of an MPI program using ExaMPI as
the implementation for MPI.
