gpu池化是基于物理机直接池化还是在gpu虚拟化的基础上进行池化?二者优缺点对比?有没有一些指导性原则?
补充一个在GPU池化过程中需要注意的地方。
GPU池化表面看起来CPU池化的效果是一样,但是本质有很大的区别,因为在CPU池化后,CPU直接彼此的工作是很少的,但是GPU完全不同,尤其是多张GPU在一些并行计算密集的地方,还需要集合NVLINK技术实现高速的GPU之间的数据交换。
另外对于通过虚拟化还是裸金属,对于GPU来说都是支持的,虚拟化相对来说技术成熟,尤其是商业软件层面,裸金属管理相对麻烦,同时需要紧跟开源社区的一些技术路线,需要考虑第三方的支持等额外成本。
收起1、此问题应该是指这2者是否引入虚拟化平台的吧。
2、 常见的NVIDIA GPU虚拟化技术方案有:NVIDIA GRID(vGPU),NVIDIA MPS,阿里的cGPU和腾讯开源的vCUDA。其中,在k8s容器上常用的为vCUDA和cGPU方案。
3、GPU虚拟化的基础上池化的方式通常是GPU物理服务器+基于K8S的容器管理平台,此方式的GPU虚拟化可以用NVIDIA的 vGPU device plugin 或者腾讯vCUDA和阿里cGPU 。
4、物理机直接池化的方式,通常是要求虚拟化平台能够透传GPU卡到虚拟机中,然后VMWARE的 Bitfusion产品把 GPU 资源集中起来,组成 GPU 资源池 。
客户也可以使用MIG (muilti-instance-GPU)技术对GPU进行物理切分,可以查看https://www.nvidia.com/en-us/technologies/multi-instance-gpu/
无论客户是用MIG还是vGPU都可以通过NVAIE软件套件的Operator组件进行优化管理