Preload Docker Image on AWS Batch Instance

2

Hello, We are using AWS Batch for running Nvidia Cuda based container images hosted on ECR. This containers weight is over 12GB and our AWS Batch instances takes to much time to init (6-7min).

Is there any way to preload the image may be on a custom AMI so the start time is reduced considerably? The AMI currently used has neither access from cloudshell nor SSH.

Thank you!

  • Did you manage to do this? I had a similar problem, and created a custom AMI with my image loaded into docker. However i am not able to strat form this one in my AWS Batch jobs that use this compute environment. Not sure how to tell Batch to use local, and not even sure it is able to see it.

1 Answer
0

I asked a similar question at re:Invent and found much of the time is cleanup / downloading the image each invocation / start of a job. In the ECS cluster you can change the pull policy to use cached image if available or validate the cached image. This would allow the pull to be FAR faster, at the risk of running an old image if you aggressively cache (if your nodes fully turn off when the batch is done this may be OK). The settings aren't in batch however.

Unless the nodes generally only run one job then terminate then the only difference between caching and preloading would be the time to run the first job.

Good luck, hope it helps.

profile picture
answered 2 years ago
  • Hello. Is this cache policy configurable if using a managed compute environment ? I have not seen such configuration

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions