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

Need to deallocate resources by jobid and set of vertices #552

Open
milroy opened this issue Dec 22, 2019 · 4 comments
Open

Need to deallocate resources by jobid and set of vertices #552

milroy opened this issue Dec 22, 2019 · 4 comments

Comments

@milroy
Copy link
Member

milroy commented Dec 22, 2019

To permit deallocation of a subgraph of a running job's resources dfu_impl_t will need to be overloaded:

int dfu_impl_t::rem_dfv (vtx_t u, int64_t jobid)

It will need to take a third argument (vector, associative container, etc.) that represents the subgraph to be removed.

@milroy
Copy link
Member Author

milroy commented Dec 22, 2019

The subgraph container will need to be chosen with removal performance in mind.

@milroy
Copy link
Member Author

milroy commented Dec 22, 2019

Upon further inspection, I don't think rem_dfv requires overloading or modification. The "root" vertex vtx_t u can be considered the root of the subgraph to be removed. It can be a subgraph of the job's resources and the functionality doesn't have to change.

However, this means there needs to be handling of the various root types passed to the dfu_impl_t::rem_dfv call. I think the overloading needs to occur here:

int dfu_traverser_t::remove (int64_t jobid)

which in turn will require modification here:
static int run_remove (std::shared_ptr<resource_ctx_t> &ctx, int64_t jobid)

to handle removal at a specific vertex of the job's resources.

Since run_remove is called by cancel_request_cb and this is not a job cancellation, we probably need a new method in DFU.

@milroy milroy changed the title Need to remove resources by jobid and set of vertices Need to deallocate resources by jobid and set of vertices Jan 3, 2020
@milroy
Copy link
Member Author

milroy commented Jan 4, 2020

Note that since the functionality proposed here is conceptually more aligned with a job cancellation, modifying a job cancellation would be a possible direction. However, in the future deallocation will need to detach resources within the job's resource graph (rather than the parent or top level's).

With that in mind I think deallocation by jobid and vertex subset fits best within graph detach (issue #554).

@trws
Copy link
Member

trws commented Jul 31, 2024

Doing some triage from the bottom of the stack, pretty sure this is partial release and covered by your recent work right @milroy?

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

2 participants