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

Partial Checkpoints #25

Open
jdeans289 opened this issue Jul 21, 2023 · 0 comments
Open

Partial Checkpoints #25

jdeans289 opened this issue Jul 21, 2023 · 0 comments

Comments

@jdeans289
Copy link
Owner

Currently the MemoryManager::writeCheckpoint always passes everything into the checkpoint agent. We want to be able to checkpoint a subset of the allocations. Need to think about how to deal with pointers here, and what options we want to make available to the user.

For example, a class that looks something like this might be common:

class MyClass {
// normal members
int x[5];

// a pointer that we manage
int * my_resource;

// a pointer that is just used to reference some other big object that we don't manage
SomeOtherBigManager * manager;
}

If an instance of MyClass is being checkpointed, it would make sense that we also want to fully checkpoint my_resource as well, but we probably don't want to checkpoint the entirety of manager, but we want to be able to restore the pointer to it. This determination will probably have to be up to the user, if they're using the partial checkpoint capability. But we do need to be able to resolve the pointers even if they aren't in the variables being checkpointed. I think the solution to this will be adding another parameter to CheckpointAgentBase::dump and CheckpointAgentBase::restore for allocs to search, but not checkpoint.

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

No branches or pull requests

1 participant