容器环境中GPU资源池中可以多种切分方式并用吗?效果如何
收起容器环境中GPU资源池中是不可以同时使用多种切分方式的。每种GPU虚拟化的实现方式不同,且对GPU卡资源的排斥性管理的。 效果能够做到一虚十,即粒度到0.1GPU
一. CUDA劫持是属于时间复用方式的GPU虚拟化技术,通过劫持对Cuda driver API的调用来做到资源隔离。共享模块一般位于在Cuda driver API之上。
二. CUDA聚合:NVIDIA MPS是 属于空间复用方式的GPU共享技术,通过将多个任务合并成一个上下文的方式共享GPU算力,所有任务共同使用显存。位于Cuda driver API和Nvidia Driver之间。
三. 内核劫持: 阿里云 cGPU是属于时间复用方式的GPU容器共享方案,通过新的内核驱动模块,为容器提供了虚拟的GPU设备,劫持了对Nvidia driver的调用。可以严格限制显存,通过时间片的方式限制算力。位于Cuda driver API和Nvidia Driver之间。
四. 虚拟机:Nvidia官方的vGPU属于时间复用方式的共享产品,通过vfio-mdev提供了一个隔离性非常高的的硬件环境,主要面向的是虚拟机产品。其共享模块在Nvidia driver及之下。