-
Notifications
You must be signed in to change notification settings - Fork 160
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
feat(image): Research nydus/stargz #1176
Comments
In production enviroment, i rarely see images below 20G, some user even put the data in image. I think image accelerate is highlight and practical solutions to user problems. |
Yep, I think so. |
The index generated by https://github.com/awslabs/soci-snapshotter |
|
About what the snapshot is: https://github.com/containerd/containerd/blob/main/docs/content-flow.md |
buildkit can build images with nydus/estargz formats. |
Difference of stargz/nydus: Design report:
Pros & Cons: There seems some difference in image format of them either, need to do more research. |
@cutecutecat Are you interested in this? You can pick it up. And I'd appreciate it. |
@gaocegege As we have known buildkit can built both of them, I think I could build a large image by |
RestrictionNydusNydus is conflict with
ref: https://github.com/moby/buildkit/blob/master/docs/nydus.md and moby/buildkit#2581 Estargz
It seems more acceptable. The cache |
Prefetch
Maybe we could use https://github.com/docker-slim/docker-slim to do a scan of some typical ML training case, in order to pick which file is hotspot and need to be prefetched. |
I think we can verify the benifits of theses tools. For example, we can run a shell in tensorflow. And see the startup time. |
# limit registry pull speed to 200mbps
sudo docker run -d \
--name docker-tc \
--network host \
--cap-add NET_ADMIN \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/docker-tc:/var/docker-tc \
lukaszlach/docker-tc
sudo docker network create test-net
sudo docker run --net test-net --label "com.docker-tc.limit=200mbps" -d -p 5000:5000 --restart=always --name registry registry:2 The package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
} The nerdctl is used to pull, convert and build the image.
traditional-pytorch-example
stargz-pytorch-example
|
It's awesome! |
Description
stargz/nydus can accelerate the image load process on Kubernetes. Let's investigate how to integrate and the benefits to AI/ML use case.
Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.
The text was updated successfully, but these errors were encountered: