关于我们

强劲算力,源源动力

GPU虚拟化现状
发布时间:2023-04-10 20:32:12    来源:吴锡洪

在近些年来,随着我国针对现代新基建的开启,AI人工智能、大数据、5G、工业互联化等多方面构成了现在我国的新基建的核心造成因素。而AI人工智能产业已经开始渗透到不同的领域了,已经起到了基础设施化重要作用。


而根据相关市场分析预测数据来看,在2025年全球的AI人工智能市场份额将会达到了6万亿美元规模,而在中国的AI人工智能的主要产业的市场规模将会增长到1600亿元的市场份额,而在AI人工智能产业带动的相关产业生产规模也将会达到了10000亿元市场规模。


GPU是作为AI人工智能领域中的一个组成重要因素,GPU、FPGA等的AI人工智能配套加速器市场发展也在高速发展中。中国的GPU服务器市场规模也会达到了64亿美元市场份额。


GPU虚拟化背景

从目前来看,大部分的GPU硬件服务公司都是使用了英伟达NVIDIA的公司的算力显卡,可以从以下方面分析基于英伟达NVIDIA的技术情况。


从用户方面分析,GPU虚拟化实现可以分为2种:

一、GPU硬件方面

目前关于英伟达NVIDIA算力显卡的虚拟化方案有NVIDIA GRID与NVIDIA MPS。

从NVIDIA GRID这个技术目前主要针对的是虚拟机平台,在某一些技术特性方面也有明确出了一些功能是没法支持,另外一个因素是因为NVIDIA GRID技术需要购买NVIDIA公司的软件授权才能正常使用,而且授权费成本也是比较高。


NVIDIA MPS的技术是NVIDIA对GPU算力显卡共享时间比较早的一种运作模式,通过了MPS server和MPS client就可以实现了在多个GPU任务共享GPU的计算性能能力。而对于容器平台来说,NVIDIA MPS共享模式方式是一种GPU最好的选择。但是这种指令代理技术也有不好的方面,如果是通过MPS Server挂掉或者其他MPS client端是会出现的非正常性退出的问题,这样就会导致在同一个MPS server下的所有MPS client都会受到推出的影响,这种影响对于提供共享GPU服务平台来说是一个大问题存在,所以从生产环境方面来是没有使用NVIDIA MPS这个方案。


英伟达NVIDIA以上GPU算力显卡2种的共享方式都是不能够很好地根据用户申请的请求对GPU计算能力的时间分片特性,其实GPU的使用就是属于抢占式使用方式,是没有办法能够做到资源的隔离的方式。


二、软件层面

软件层面实现GPU虚拟化又分为两种主要实现方式:

1. 实现在英伟达NVIDIA CUDA Library API基础上,是可以对CUDA API的调用来做到GPU的虚拟化,这种的方案缺点也是存在有得,就是兼容性依赖于厂商,而且每个版本都是需要对上,同时需要重新编译AI人工智能应用,对于用户来说使用成本也是比较高。


2. 可以实现在内核NVIDIA Driver。可以采用零侵入式的设计方式,在使用方面是对用户可以做到无感知,对于CUDA的版本的依赖性影响相对来说是比较小些。但是这个解决方案整体实现的难度也是比较大些,是需要对Linux内核和GPU架构的原理和实现要有比较深的研究和理解。。