1. One or more non-transitory computing device readable medium which store one or more computing device executable instructions which when executed by one or more computing devices perform a method comprising: shutting down a plurality of peer processes coupled to a simulation process and each of one or more user code modules of the simulation process, wherein at least one of the peer processes or user code modules are registered with the simulation process before a checkpoint, and wherein the registration of each peer process and user code module includes a class of the respective peer process or user code module and an instance identifier; storing an image of the simulation process as the checkpoint after the plurality of peer processes and one or more user code modules are shutdown; storing information on control instance of each of the peer process into the checkpoint using the class and instance identifier of the peer process; and restoring the simulation from the checkpoint, including re-starting user code modules and peer processes, wherein the one or more peer processes available before the checkpoint are mapped to one or more peer processes active during restoring the simulation based upon the class and the instance identifier of each registered peer process.