Discrete Event Simulation Checkpointing via Intermediary State Capture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Discrete event simulations cannot be effectively saved and restarted without complete implementation details of the simulator and its application threads, as the internal state of application threads is usually inaccessible, making it impossible to capture and restore the simulation state accurately.
Innovation Solution
A method is introduced to create a checkpoint of the simulation process and its application threads at a specific point in time, capturing data elements stored in system components like registers, memories, and file handles, which are then saved to files for later restart, allowing the simulation to resume from that state without needing detailed implementation knowledge.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If every simulation variable value is saved to capture the complete state, then the simulation can be restarted accurately, but complete implementation details of the simulator and application threads are required which are usually not available
Solution Approach 1:
The patent introduces a checkpoint creator as an intermediary component that bridges the gap between the simulator and the state capture mechanism. This checkpoint creator intercepts and captures simulation state information without requiring direct access to internal simulator variables or application thread details, thus resolving the contradiction between accurate state capture and implementation complexity
Solution Approach 2:
Instead of directly accessing and copying internal simulator variables which requires complete implementation details, the patent creates external checkpoints that replicate the essential simulation state. These checkpoints are generated through system calls and file operations that work with the simulator as a black box, eliminating the need for internal variable access
2Ease of operation
If simulation state is saved without complete implementation details, then the system is easier to use, but it becomes impossible to save and restart the simulation
Solution Approach 1:
The patent enables the simulation system to save and restart itself without requiring external intervention or detailed implementation knowledge. The checkpoint creator automatically captures necessary state information through system-level operations, and the simulator can restore from these checkpoints autonomously, making the system self-sufficient while maintaining ease of use
3Adaptability or versatility
If checkpoints include all data elements of process and application threads, then the simulation can be restarted from any point, but more system resources are required to store and manage the checkpoints
Solution Approach 1:
The patent extracts only the essential simulation state information needed for restarting, separating critical data from non-essential data. The checkpoint creator identifies and captures only the minimum necessary information (simulation variables, event queue state, timer state) while excluding redundant data, thus providing restart flexibility without excessive resource consumption
Data Source
AI summary
Method, system, and computer program product for saving and restarting discrete event simulations are provided. A discrete event simulation of a scenario is performed via a process executing on a system. The process includes one or more application threads. A checkpoint of the process is created at a point in time when a command to save the discrete event simulation of the scenario is received. The checkpoint includes data elements of the process and the one or more application threads of the process that are stored in components of the system at the point in time. These data elements reflect a state of the process and the one or more application threads of the process at the point in time. The checkpoint is saved to one or more files in the system that are usable to later restart the discrete event simulation of the scenario from the point in time.


