Prioritize earlier layers during download #13349
Unanswered
omerXfaruq
asked this question in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
Within one image, layers compete for the same shared concurrency budget with no priority. If layer 1 and layer 2 are racing for bytes, they split bandwidth evenly, but only layer 1's completion is on the unpack critical path (overlay snapshots commit sequentially by chain id). Prioritizing earlier layers will speed up the unpack critical path, which is the bottleneck most of the time.
Code references
containerd/core/images/handlers.go
Line 156 in 2976f38
containerd/core/remotes/docker/fetcher.go
Line 461 in 2976f38
containerd/core/unpack/unpacker.go
Line 369 in 2976f38
Happy to open up a PR or discuss planned approach if there is interest. cc @samuelkarp @dmcgowan
Beta Was this translation helpful? Give feedback.
All reactions