-
Notifications
You must be signed in to change notification settings - Fork 124
vine: clean redundant input replicas upon task completion #4266
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
vine: clean redundant input replicas upon task completion #4266
Conversation
|
Hmm, I am not sure that this is a global behavior that we want. The general function of taskvine is to replicate files on demand, and to only clean them up when Is there a reason to have this behavior in the manager (which doesn't know the future) as opposed to the workflow layer above it? (which may know the future) |
|
The workflow-level pruning removes all replicas for a file, because it has full knowledge of data dependencies. In contrast, this manager-level cleanup only removes extra replicas beyond There will be at least 1 available replica remaining for future usage. |
|
Ok, that makes more sense to me that "redundant" means "in excess of temp_replica_count". I am wondering about the check for whether the file is currently in use. Does that apply in other situations where files are deleted as well? |
No, that check only applies in this situation. |
|
Is it possible not to clear the redundant replica in the first place? |
|
Yeah, I’m on board with not doing it. Just want to make sure the part mentioned in the paper actually shows up in the code. If someone else wants to try it, they can turn the knob on and see the difference. |
|
Closing this as it is incorporated in #4269 |
Proposed Changes
A file may be transferred to another worker because a task that declares it as input is scheduled there, resulting in an extra replica that consumes worker storage space.
This function is called every time a task completes, it evaluates whether its input files have excessive replicas and removes those on workers that do not execute their dependent tasks.
update: make it an tuning parameter
Merge Checklist
The following items must be completed before PRs can be merged.
Check these off to verify you have completed all steps.
make testRun local tests prior to pushing.make formatFormat source code to comply with lint policies. Note that some lint errors can only be resolved manually (e.g., Python)make lintRun lint on source code prior to pushing.