Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restart from a Checkpoint #12

Open
artgoldberg opened this issue Aug 19, 2019 · 0 comments
Open

Restart from a Checkpoint #12

artgoldberg opened this issue Aug 19, 2019 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@artgoldberg
Copy link
Contributor

artgoldberg commented Aug 19, 2019

A general purpose mechanism to checkpoint and restore a simulation, including all of its simulation objects and the state of the simulation will be hard to build.

The easy part will be a mechanism to checkpoint and restore simulation objects whose attributes are all elementary datatypes or collections of elementary datatypes. Then a get_state method could package up the state of a running instance of the class and a restore_state(checkpointed_state) method could restore the state.

But many potential parts of a simulation might not be collections of elementary datatypes. These include:

  • References to methods and functions
  • Open file handles, network sockets, etc.
  • Running subprocesses

These are all hard to checkpoint and restore because it is difficult to obtain the entirety of their states, and it is difficult to restore their states.

We defer this functionality until it is needed.

@artgoldberg artgoldberg self-assigned this Aug 19, 2019
@artgoldberg artgoldberg added the enhancement New feature or request label Dec 2, 2019
@artgoldberg artgoldberg added this to the Q2 2020 milestone Apr 9, 2020
@artgoldberg artgoldberg removed this from the Q2 2020 milestone Aug 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant