1. A non-transitory computer readable storage medium storing instructions comprising instructions for a simulation environment, the instructions when executed cause one or more processors to: notify one or more peers and one or more user modules on a start of a checkpoint in a simulation; receive notification of being ready for checkpointing from the peers after the peers close inter-process communication channels; receive notification from the user modules of being ready for checkpointing after the user modules shutdown operating system dependent resources; save a state of the simulation in response to the received notifications from the peers and user modules; transmit, to the peers and the user modules, notification corresponding to a restore event of the saved state; receive, after the operating system dependent resources are restored by the user modules, notification that the user modules are ready for continuing the simulation; receive, after the peers restore the inter-process communication channels, notification that the peers are ready for continuing the simulation; and after receiving the notification that the user modules are ready and the notification that the peers are ready, continuing the simulation from the checkpoint.