揭秘GPU技术新趋势:从虚拟化到池化

2024-06-05 00:12

本文主要是介绍揭秘GPU技术新趋势:从虚拟化到池化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 6d5b70533e997f4890e0e0d2dad61d7e.jpeg 

从GPU虚拟化到池化

   

大模型兴起加剧GPU算力需求,企业面临GPU资源有限且利用率不高的挑战。为打破这一瓶颈,实现GPU算力资源均衡与国产化替代,GPU算力池化成为关键。本文深入探讨GPU设备虚拟化途径、共享方案及云原生实现,旨在优化资源利用,推动算力革命。

汪照辉,中国银河证券杰出架构师,深耕容器云、微服务、DevOps等数据转型技术,见解独到。他倡导的“平台融合”观点广受认可,并发表多篇技术文章,涵盖容器平台、微服务、DevOps、数字化转型等领域,展现了其深厚的软件规划与设计能力,备受业界瞩目。

智能化应用如人脸识别、语音识别、文本识别、智能推荐、智能客服、智能风控等已广泛应用于各行各业,这些应用被称为判定式AI的范畴,通常和特定的业务场景相绑定,因此在使用GPU(Graphics Processing Unit)卡的时候也通常各自独立,未考虑业务间GPU共享能力,至多实现vGPU 虚拟化切分,从而一张物理GPU卡虚拟出多张vGPU,可以运行多个判定式AI 应用。

随着大模型的兴起,对GPU算力的需求越来越多,而当前现实情况使企业往往受限于有限的GPU卡资源,难以支撑众多的业务需求,同时由于业务特性等,即便进行了虚拟化,往往难以充分使用GPU卡资源或持续使用资源,从而也造成有限的卡资源也无法有效利用。

从GPU虚拟化需求到池化需求

智能化应用数量的增长对GPU算力资源的需求越来越多。NVIDIA虽然提供了GPU虚拟化和多GPU实例切分方案等,依然无法满足自由定义虚拟GPU和整个企业GPU资源的共享复用需求。TensorFlow、Pytorch等智能化应用框架开发的应用往往会独占一张GPU整卡(AntMan框架是为共享的形式设计的),从而使GPU卡短缺,另一方面,大部分应用却只使用卡的一小部分资源,例如身份证识别、票据识别、语音识别、投研分析等推理场景,这些场景GPU卡的利用率都比较低,没有业务请求时利用率甚至是0%,有算力却受限于卡的有限数量。单个推理场景占用一张卡造成很大浪费,和卡数量不足形成矛盾,

因此,算力切分是目前很多场景的基本需求。再者,往往受限于组织架构等因素,GPU由各团队自行采购和使用,算力资源形成孤岛,分布不均衡,有的团队GPU资源空闲,有团队无卡可用。

针对GPU算力资源不均及国产化需求,我们亟需实现算力池化。此举旨在平衡在线与离线、业务高峰与低峰的资源需求,同时满足训练、推理及开发、测试、生产环境的多样化需求。通过统一管理和调度复用,实现GPU资源的切分、聚合、超分、远程调用及热迁移,大幅提升资源利用率,满足当前迫切的GPU算力池化需求。

GPU设备虚拟化路线

GPU设备虚拟化有几种可行方案。

PCIe直通模式(pGPU)即直接挂载物理主机的整块GPU到虚拟机,然而它属于独占模式,无法实现GPU的虚拟化切分,无法支持多应用共享,因此其实际应用价值有限。

第二是采用SR-IOV技术,允许一个PCIe设备在多个虚拟机之间共享,同时保持较高性能。通过SR-IOV在物理GPU设备上创建多个虚拟 vGPU来实现的,每个虚拟vGPU可以被分配给一个虚拟机,让虚拟机直接访问和控制这些虚拟功能,从而实现高效的I/O虚拟化。NVIDIA早期的vGPU就是这样的实现,不过NVIDIA vGPU需要额外的license,额外增加了成本。SR-IOV虽然实现了1:N的能力,但其灵活性比较差,难以更细粒度的分割和调度。

MPT,即受控的直通模式,乃PCIe设备虚拟化的先进方案。它融合1:N灵活性、卓越性能与功能完整性,但逻辑上类似内核态的device-model。然而,由于厂商通常不公开硬件编程接口,MPT可能带来厂商依赖。尽管如此,其独特的优势仍使其成为虚拟化领域的重要选择。

API转发模式备受青睐,其层次结构涵盖CUDA API(截获CUDA请求,用户态)、GPU Driver API(截取驱动层请求,内核态)和设备硬件层API。设备硬件层API获取难度较大,因此当前市场主流为CUDA API与GPU卡驱动Driver API转发模式。这两种模式分别对应用户态和内核态,确保AI应用的高效调用与数据传输。

AI开发框架常与GPU卡紧密集成,如华为CANN、海光DTK、英伟达TensorFlow和Pytorch等。这些框架不仅支持AI应用开发,还能在框架层实现转发,极大便利了AI应用的迁移与部署,为开发者提供了高效灵活的开发环境。

1abd49944f5edcff9d185af9869498ad.jpeg
AI应用调用层次

GPU虚拟化和共享方案

深入解析GPU设备虚拟化,探讨GPU虚拟化和共享的实现途径。英伟达官方提供vGPU、MIG、MPS等方案,同时非官方方案如vCUDA、rCUDA、内核劫持等也各具特色,共同满足多样化需求。

6088bf3b2b37052d87b02d103fcd7deb.jpeg

NVIDIA VGPU方案

NVIDIA vGPU是NVIDIA的高可靠、安全虚拟化方案,但局限明显:不支持容器,资源分配固定,无法动态调整;共享损耗较高;不支持定制,且需额外license费用。这些限制影响了其使用的灵活性和成本效益。

MIG方案

MIG是多实例GPU方案。只支持Linux操作系统,需要CUDA11/R450或更高版本;支持MIG的卡有A100, H100 等比较高端的卡;支持裸机和容器,支持vGPU模式,一旦GPU卡设置了MIG后,就可以动态管理instance了,MIG设置时persistent 的,即使reboot也不会受影响,直到用户显式地切换。

借助MIG,用户可以在单个GPU卡上获得最多7倍的GPU资源,为研发人员提供了更多的资源和更高的灵活性。优化了GPU的利用率,并支持在单个GPU上同时运行推理、训练和高性能计算(HPC)任务。每个MIG实例对于应用程序都像独立GPU一样运行,使其编程模型没有变化,对开发者友好。

MPS(Multi-Process Scheduling)

MPS多进程调度是CUDA应用程序编程接口的替代二进制兼容实现。从Kepler的GP10 架构开始,NVIDIA 引入了MPS ,允许多个流(Stream)或者CPU 的进程同时向GPU 发射K ernel 函数,结合为一个单一应用程序的上下文在GPU上运行,从而实现更好的GPU利用率。当使用MPS时,MPS Server会通过一个 CUDA Context 管理GPU硬件资源,多个MPS Clients会将他们的任务通过MPS Server 传入GPU ,从而越过了硬件时间分片调度的限制,使得他们的CUDA Kernels 实现真正意义上的并行。

但MPS由于共享CUDA Context也带来一个致命缺陷,其故障隔离差,如果一个在执行kernel的任务退出,和该任务共享share IPC和UVM的任务一会一同出错退出。

rCUDA

rCUDA指remote CUDA,是远程GPU调用方案,支持以透明的方式并发远程使用CUDA 设备。rCUDA提供了非GPU节点访问使用GPU 的方式,从而可以在非GPU 节点运行AI应用程序。rCUDA是一种C/S架构,Client使用CUDA运行库远程调用Server上的GPU接口,Server监控请求并使用GPU执行请求,返回执行结果。在实际场景中,无需为本地节点配置GPU资源,可以通过远程调用GPU资源从而无需关注GPU所在位置,是非常重要的能力,隔离了应用和GPU资源层。

vCUDA

vCUDA采用在用户层拦截和重定向CUDA API的方式,在VM中建立pGPU的逻辑映像,即vGPU,来实现GPU资源的细粒度划分、重组和再利用,支持多机并发、挂起恢复等VM的高级特性。vCUDA库是一个对nvidia-ml和libcuda库的封装库,通过劫持容器内用户程序的CUDA调用限制当前容器内进程对GPU 算力和显存的使用。vCUDA优点是API开源,容易实现;缺点是CUDA库升级快,CUDA 库升级则需要不断适配,成本高;另外隔离不准确无法提供算力精准限制的能力、安全性低用户可以绕过限制等。目前市面上厂商基本上都是采用vCUDA API转发的方式实现GPU算力池化。

GPU算力池化云原生实现

GPU池化(GPU-Pooling)是通过对物理GPU进行软件定义,融合了GPU虚拟化、多卡聚合、远程调用、动态释放等多种能力,解决GPU使用效率低和弹性扩展差的问题。GPU资源池化最理想的方案是屏蔽底层GPU异构资源细节(支持英伟达和国产各厂商GPU) ,分离上层AI 框架应用和底层GPU类型的耦合性。

不过目前AI框架和GPU类型是紧耦合的,尚没有实现的方案抽象出一层能屏蔽异构GPU。基于不同框架开发的应用在迁移到其他类型GPU时,不得不重新构建应用,至少得迁移应用到另外的GPU,往往需要重新的适配和调试。

算力隔离、故障隔离是GPU虚拟化和池化的关键。算力隔离有硬件隔离也就是空分的方式,MPS共享CUDA Context方式和Time Sharing时分的方式。越靠底层,隔离效果越好,如MIG硬件算力隔离方案,是一种硬件资源隔离、故障隔离方式,效果最好。但硬件设备编程接口和驱动接口往往是不公开的,所以对厂商依赖大,实施的难度非常大,灵活性差,如支持Ampere架构的A100等,最多只能切分为7个MIG实例等。

NVIDIA MPS是除MIG外,算力隔离最好的。它将多个CUDA Context合并到一个CUDA Context中,省去Context Switch的开销并在Context内部实现了算力隔离,但也致额外的故障传播。MIG和MPS优缺点都非常明显,实际工程中用的并不普遍。采用API转发的多任务GPU时间分片的实现模式相对容易实现和应用最广。

AI应用通过GPU调用层次,实现多层次资源池化,涵盖CUDA层、Driver层及硬件设备层。这些层次将加速应用精准转发至GPU资源池。底层转发性能损失小,操作空间大,但编程复杂度与难度也随之提升。精准配置,高效利用,助力AI性能飞跃。

7c08cd370c574b645648641f1da76306.jpeg

由于云原生应用的大量部署,GPU算力资源池化需要支持云原生部署能力,比如说支持Kubernetes、Docker服务,通过K8s Pod绑定由GPU资源池按需虚拟出来的 vGPU,执行Pod中的应用。不管是英伟达的GPU卡或者是国产GPU,所有的卡都在算力资源池中,当前可以将不同的卡进行分类,不同框架的应用按需调度到合适的分类GPU算力池上。从而提升资源管理效率。

算力资源池同样需要实现相应的资源、资产管理和运行监控和可观测性,优化调度能力,减少GPU资源碎片。随着AI应用需求的迅速增长,算力资源池化在未来一段时间内将是企业关注的重要的一个方面。

 

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

这篇关于揭秘GPU技术新趋势:从虚拟化到池化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031522

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的