A scalable and extensible checkpointing scheme for massively parallel simulations. (July 2019)