随着AI技术的开发,壳内越来越多的场景用于为机器学习算法提供服务,例如每天对人的面部识别,在家中的鱼眼监视,在家改善场景,代理商的语音识别以及交易中的图片过程,文本识别等。其中,模型开发培训和模型应用的训练阶段涉及大量矩阵操作,尤其是深度学习模型。因此,在这些情况下,将使用具有自然优势的GPU设备来加速。
但是,并非所有阶段都需要大量的GPU计算能力支持。例如,在算法工程师调试模型的阶段,GPU主要用于验证模型是否合理。验证后,需要大量的计算能力;计算。在这些情况下,如果独家GPU卡将导致资源利用率较低。同时,在线服务将面临峰值和山谷的状况,这将进一步降低资源利用,导致浪费资源并增加AI服务的成本。
在上述背景中,需要一个GPU共享方案,因此多任务或多用户可以共享卡的资源,从而增加了GPU的利用率并节省AI服务的成本。
由于GPUSHARE和GPU-MANAGER的实施依赖于K8的设备 - 包机械,在介绍GPUSHARE和GPU-MANAGER之前,首先简要介绍了K8S-Device-Plugin的概念。
1. k8s device-plugin简介k8s设备插件机制框架,该框架在v1.10版本中引入特征状态β函数。通过此框架,可以将系统硬件资源发布到Kubelet。此框架的出现使我们能够介绍和使用GPU,FPGA,高性能NIC,Infiniband和其他第三方设备资源,而无需修改K8S组件。插件本质上是GRPC服务。它的工作时间显示在下图中。它主要做几件事:
2.2测试和实践:
2.3缺陷:3。Tencent GPU-Manager 3.1解决方案将此解决方案介绍给ShareGPU的基本逻辑,该逻辑也基于K8S设备 - plugin注册的GPU资源,但它隔离了每个容器的资源,包括视频内存和视频内存和计算能力基本结构如图所示。
GPU-Manager主要包含3个模块:
3.2测试和练习以下是三个任务的GPU利用率监视。卡的JOB1的平均利用率约为60%,JOB2和JOB3的平均利用率约为30%和40%。回流隔离。会上下波动。
3.3缺陷3. NVIDIA MIG此解决方案是NVIDIA在硬件级别正式实施的NVIDIA实施的GPU资源隔离。每个GPU实例都有一个独立的上端口端口(对应于独立的系统内存路径),L2缓存,存储控制器和DRMA地址总线。
3.1程序简介基本概念:
GPU引擎:引擎
GPU内存切片:存储器占总内存的1/8
GPU SM切片:流处理器平板电脑,流处理器的总处理器的1/7帐户
GPU切片:= GPU内存切片+GPU SM片
GPU实例:= GPU切片+GPU引擎
计算实例:GPU实例可以分为Acura Compute实例,即其子集,也就是说,一个GI可以分为多个CI,但是多个CIS共享此GI引擎和内存。SM是孤立的。
3.2测试和练习
MIG计划目前正在培训较小的GPU资源,也是一种大规模实践。
3.3一般来说,这三种解决方案具有优势和缺点。由于应用程序方案的不同,我们主要在推理和GPU虚拟开发机中使用GPUSHARE和GPU-MANAGER。NVIDIA的硬件隔离方案限制了A100和A30图形卡,并且资源部门很大。当前的应用范围很小。
将来,考虑将软件隔离和硬件隔离结合在一起,并在MIG的基础上实现进一步的资源部门。
原始:https://juejin.cn/post/7097871172770988063