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

atc: Consider image volumes in volume-locality strategy #8057

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

andy-paine
Copy link
Contributor

Changes proposed by this PR

Often the largest volume that may need streaming is the image that the
container executes in. By considering this volume too, this may allow
for slightly better placement/reduced streaming for some builds (in
particular builds with no inputs or caches will now prefer to be on the
same worker as their image volume rather than a random one)

I think this should also go some of the way to resolving issues like #6218 as volume-locality should do a better job of using the same worker

  • look at the image artifact when considering volumes in volume-locality placement strategy

Often the largest volume that may need streaming is the image that the
container executes in. By considering this volume too, this may allow
for slightly better placement/reduced streaming for some builds (in
particular builds with no inputs or caches will now prefer to be on the
same worker as their image volume rather than a random one)

Signed-off-by: Andy Paine <[email protected]>
@andy-paine andy-paine requested a review from a team as a code owner February 10, 2022 14:36
@evanchaoli
Copy link
Contributor

I think this PR should only be merged once #8070 is fixed. Otherwise it may end up that all containers go to the same worker and image gets no chance to be warmed up on other workers.

@navdeep-pama navdeep-pama added this to the v7.8.0 milestone Feb 14, 2022
@navdeep-pama navdeep-pama modified the milestones: v7.8.0, v7.9.0 May 31, 2022
@evanchaoli
Copy link
Contributor

@andy-paine Can you please rebase this PR? Because it doesn't contain change of #8061 but Github seems not detecting that.

return nil
}

err := updateCountsForArtifact(spec.ImageSpec.ImageArtifact, "/")
Copy link
Contributor

Choose a reason for hiding this comment

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

Usually image is much bigger than other artifacts, can we give image 5 counts?

That way will especially benefit those use case where some job uses huge task images, but the job doesn't run frequently. Current image-get runs on a worker, task runs on the other worker, image streaming take longer time than directly pulling image from registry, because volume streaming involves tar->gzip->ungzip->untar.

@xtremerui xtremerui removed this from the v7.9.0 milestone Sep 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants