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

🚀 Add checkpointing policy #253

Merged
merged 20 commits into from
Nov 21, 2024
Merged

🚀 Add checkpointing policy #253

merged 20 commits into from
Nov 21, 2024

Conversation

MaartenS11
Copy link
Member

@MaartenS11 MaartenS11 commented Aug 26, 2024

Adds a snapshot policy that doesn't take snapshots at every instruction but every x instructions and at primitive calls (for reversibility). Because the debugger has to know when these snapshots were taken in relation to each other it will also report how many instructions were executed since the last checkpoint was made. A checkpoint is also made when the vm is paused so that you know how many instructions were executed after the last checkpoint and so the debugger know the current execution state.

@tolauwae tolauwae changed the title Add checkpointing snapshot policy 🚀 Add checkpointing snapshot policy Sep 24, 2024
@tolauwae tolauwae changed the title 🚀 Add checkpointing snapshot policy 🚀 Add checkpointing policy Sep 24, 2024
@MaartenS11 MaartenS11 force-pushed the feat/checkpointing branch 4 times, most recently from e9a187e to 09b804d Compare October 30, 2024 19:31
@MaartenS11 MaartenS11 changed the base branch from feat/obb-reversible to main October 30, 2024 19:32
A checkpoint is taken at primitives and every x instructions. When the VM is paused it also makes a checkpoint so the debugger knows where the other snapshots are relative to the current point in time and so it can also display what the current state of the vm is.

TODO: Will need to be extended a bit when using multiverse debugging. Choicepoints should have checkpoints right after reading sensor values so you don't have to remember the sensor value.
…eckpoint after instead of before primitive calls
Also send any checkpoints right before the STEP!.
@MaartenS11 MaartenS11 marked this pull request as ready for review October 31, 2024 09:35
@MaartenS11 MaartenS11 requested a review from tolauwae October 31, 2024 09:36
@tolauwae
Copy link
Member

tolauwae commented Oct 31, 2024

Quick question: can I also have the vm only snapshot after primitive calls, so not at regular intervals? @MaartenS11

@tolauwae
Copy link
Member

✨ PR also adds the "continue for" debug operation

@MaartenS11
Copy link
Member Author

Quick question: can I also have the vm only snapshot after primitive calls, so not at regular intervals? @MaartenS11

There is currently no option for this, to simulate this I just used a very large checkpointing interval.

@tolauwae tolauwae enabled auto-merge (squash) November 21, 2024 12:49
Copy link
Member

@tolauwae tolauwae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 👍

I moved over current TODOs to separate issues: #270, #271
These don't need to be fixed for this PR.

@tolauwae tolauwae merged commit c602566 into main Nov 21, 2024
17 checks passed
@tolauwae tolauwae deleted the feat/checkpointing branch November 21, 2024 13:12
tolauwae added a commit that referenced this pull request Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants