第一次运行nvidia-docker2容器非常慢

问题描述 投票:0回答:1

在EC2 p2.xlarge实例上运行支持GPU的docker容器时,在容器开始运行之前会遇到30到90秒的延迟。后续容器快速启动(延迟1秒)。

EC2运行ubuntu 18.04与NVIDIA驱动程序版本396.54和nvidia-docker2(遵循官方安装指南:https://github.com/NVIDIA/nvidia-docker

我正在测试使用最新的官方CUDA图像:docker run --rm nvidia / cuda nvidia-smi

在我的机器上启用了Persinstence模式。正如https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#how-do-i-install-the-nvidia-driver所说:“为什么我的容器从2.0开始缓慢?”它应该是解决方案,但对我不起作用。

任何想法可能导致延迟和如何解决它是值得赞赏的。

docker amazon-ec2 nvidia nvidia-docker
1个回答
0
投票

我在评论中看到你已经从互联网上删除了Docker镜像,但你确定图像没有保存到EBS快照吗?例如,在使用NVIDIA Docker创建AMI期间,您可能已将该图像拉出并保存到根AMI卷。

如果是这种情况,那么由于从快照恢复EBS卷的方式,您会遇到此延迟。

来自AWS文档(Initializing Amazon EBS Volumes):

...必须初始化从快照还原的卷上的存储块(从Amazon S3下拉并写入卷),然后才能访问该块。此初步操作需要时间,并且可能在第一次访问每个块时导致I / O操作的延迟显着增加。

因此,当您第一次运行Docker容器时,AWS正在将数据从S3下载到您的EBS卷,这需要一些时间。第二次容器快速启动,因为数据已经在卷上。

© www.soinside.com 2019 - 2024. All rights reserved.