开发者社区 > 云原生 > 正文

ECI GPU 的基本实现原理以及容器启动流程是什么样的?

ECI GPU 的基本实现原理以及容器启动流程是什么样的?

展开
收起
1358896759097293 2021-03-23 20:17:08 1508 0
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    大家知道,容器一般是通过内核接口访问主机上的资源。但是对于 GPU 资源,容器 无法直接通过内核接口访问到,只能通过厂商驱动与 GPU 进行交互。 那么,ECI GPU 实例是如何让用户容器实例访问到 GPU 资源的呢?本质上,ECI GPU 就是在用户容器创建时将 GPU 驱动的一些必要的动态库文件挂载到用户容器中, 从而使得用户容器可以通过这些挂载的动态库文件访问到位于 Host 端的 GPU。简单介绍一下 ECI GPU 下的容器启动流程: 1. containerd 从 ContainerAgent 中接收来自管控的创建使用 GPU 的容器的命令 并将该命令下发给 runc;2. runc 创建容器时调用 prestart hook,即 nvidia-container-runtime-hook; 3. hook 调用 libnvidia-container 将必要的 GPU 驱动动态库,如 libcuda.so、 libnvml.so 等文件,挂载到容器上; 4. 容器创建完成后,用户容器进程通过上述挂载的动态库文件访问并使用 GPU 资源。

    2021-03-24 13:58:35
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
DeepStream: GPU加速海量视频数据智能处理 立即下载
阿里巴巴高性能GPU架构与应用 立即下载
GPU在超大规模深度学习中的发展和应用 立即下载