nvidia-docker2容器的首次运行非常慢

时间:2018-08-31 12:06:06

标签: docker amazon-ec2 nvidia nvidia-docker

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

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

我正在使用最新的官方CUDA图像进行测试: 泊坞窗运行--rm nvidia / cuda nvidia-smi

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

感谢任何可能导致延迟的原因以及解决方法。

1 个答案:

答案 0 :(得分:0)

我在评论中看到您已经从互联网上提取了Docker映像,但是您确定该映像没有保存到EBS快照中吗?例如,在使用NVIDIA Docker创建AMI的过程中,您可能已拉出该映像并将其保存到根AMI卷中。

如果是这种情况,则由于从快照还原EBS卷的原因,您会有延迟。

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

  

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

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

相关问题