论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
虚拟化.超融合.云计算
›
虚拟化与私有云
›
Nvidia GPU池化-长途GPU
Nvidia GPU池化-长途GPU
自由的羽毛
金牌会员
|
2024-9-25 23:31:12
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
907
|
帖子
907
|
积分
2721
目次
1 背景
2 长途GPU
2.1 Fungible
2.2 rCUDA
2.3 Bitfusion
2.4 OrionX
3 其他
3.1 技术难点
3.2 GPU热迁徙
1 背景
Nvidia GPU得益于在深度学习范畴强大的盘算能力,使其在数据中心常年处于绝对的统治职位。只管借助GPU虚拟化实现多任务混布,提高了GPU的利用率,缓解了长尾效应,但是GPU利用率的绝对值还是不高,长尾征象依然存在。
网卡池化、存储池化、内存池化、CPU池化等一系列相近根本设施范畴的技术演进,让大家对GPU池化也产生了一些想法。面对依赖PCIe和NVLink实现小范围连接的GPU呆板,人们迫切盼望能跨TOR、跨机房以致跨地区调用GPU,从而低落集群团体的GPU碎片率,GPU池化应运而生,而其中关键的技术难点在于实现长途GPU。
此外,GPU池化不仅可以结合GPU虚拟化实现GPU资源的极致共享,也可以突破CPU与GPU的配比极限,理论上可以实现恣意配比。
2 长途GPU
在深度学习范畴,Nvidia GPU的软件调用栈大致如下图所示,从上至下分别为:
User APP:业务层,如练习或推理任务等
Framework:框架层,如tensorflow、pytorch、paddle、megengine等
CUDA Runtime:CUDA Runtime及周边生态库,如cudart、cublas、cudnn、cufft、cusparse等
CUDA User Driver:用户态CUDA Driver,如cuda、nvml等
CUDA Kernel Driver:内核态CUDA Driver,参考官方开源代码,如nvidia.ko等
Nvidia GPU HW:GPU硬件
现在长途GPU主要通过DPU大概在CUDA Runtime/Driver层拦截API实现。
2.1 Fungible
Fungible通过DPU和PCI vSwitch经网络连接GPU,替代传统的PCIe直连方式,GPU连接数目也超过传统的8:1,到达了55:1。
经过测试,连接2个GPU的DPU方案对性能的影响较小。在某些情况下,DPU解决方案的延长更高,带宽也比PCIe低。假如将10个GPU连接到一个DPU上,那么物理带宽就会减少。
23年1月份,Fungible被微软收购,加入微软的数据中心根本设施工程团队,专注于提供多种DPU解决方案、网络创新和硬件体系改进。
2.2 rCUDA
西班牙Universitat Politecnica de Valencia并行架构组的一个开发项目,提供了一套长途GPU虚拟化解决方案,支持以透明的方式并发长途使用支持CUDA的设备。不仅可以部署在集群中,允许单个非MPI应用步伐使用集群中的全部GPU,从而提高GPU利用率并低落总体成本,而且还可以在虚拟机中运行应用步伐访问安装在长途物理机中的GPU。其最新的研究成果和计划都会放在官网,有兴趣的可以访问官网详细了解。
2.3 Bitfusion
Bitfusion提供的GPU资源池的工作原理是在CUDA Driver层面上截获了全部的CUDA服务访问,然后把这些服务请求和数据通过网络传递给Bitfusion Server,在服务器这一端再把这些服务请求交给真正的CUDA Driver来处理。
19年7月份,戴尔旗下的云盘算公司VMware收购Bitfusion,之后这套方案被集成到vSphere平台中,主要分为两部分:
Bitfusion Server:把GPU安装在vSphere服务器上(要求vSphere 7以上版本),然后在上面运行Bitfusion Server,Bitfusion Server可以把物理GPU资源虚拟化,共享给多个用户使用。
Bitfusion Client:Bitfusion Client是运行在其他vSphere服务器上的Linux虚机(要求 vSphere 6.7 以上版本),呆板学习工作负载运行在这些虚拟机上,Bitfusion会把它们对于GPU的服务请求通过网络传输给Bitfusion Server,盘算完成后再返回结果。对于呆板学习工作负载来说,长途GPU是完全透明的,它就像是在使用本地的GPU硬件。
2.4 OrionX
19年4月份,国内AI加速器虚拟化及资源池化服务商趋动科技成立,初创团队来自于Dell EMC中国研究院,主要为用户提供AI加速器虚拟化和资源池化软件及解决方案。其研发的Orion vGPU软件是一个为云大概数据中心的GPU提供资源池化和虚拟化能力的体系软件。通过高效的通讯机制,使得CUDA应用可以运行在云大概数据中心内任何一个物理机,容器大概虚拟机内无需挂载物理GPU,同时为这些应用步伐提供在GPU资源池中的硬件算力。
OrionX主要通过拦截CUDA Runtime/Driver及其周边生态库的API实现,核心分为以下几个部分:
Orion Controller:负责整个GPU资源池的资源管理。其响应Orion Client的vGPU请求,并从GPU资源池中为Orion Client端的CUDA应用步伐分配并返回Orion vGPU资源。
Orion Server:负责GPU资源化的后端服务步伐,部署在每一个CPU以及GPU节点上,接管本机内的全部物理GPU。当Orion Client端应用步伐运行时,通过Orion Controller的资源调度,创建和Orion Server的连接。Orion Server为其应用步伐的全部CUDA调用提供一个隔离的运行环境以及真实GPU硬件算力。
Orion Client:模仿了NVidia CUDA的运行库环境,为CUDA步伐提供了API接口兼容的全新实现。通过和Orion其他功能组件的配合,为CUDA应用步伐虚拟化了一定数目的虚拟GPU(Orion vGPU)。使用CUDA动态链接库的CUDA应用步伐可以通过操纵体系环境设置,使得一个CUDA应用步伐在运行时由操纵体系负责链接到Orion Client提供的动态链接库上。由于Orion Client模仿了NVidia CUDA运行环境,因此CUDA应用步伐可以透明无修改地直接运行在Orion vGPU之上。
3 其他
3.1 技术难点
由于Nvidia的闭源性,长途GPU存在不少的技术难点,比如Kernel Launch机制、Context机制、隐蔽API等,同时工程上也存在一些难点,比如数以千计API拦截的开发和维护等,可参考cuda hook开源代码。
3.2 GPU热迁徙
GPU池化配合虚拟化可以更好地实现云服务的弹性伸缩,但在集群资源紧张大概碎片率较高时,弹性伸缩的成功率偏低,此时亟需GPU任务的热迁徙技术,配合集群的统筹调度,提高云服务弹性伸缩的成功率。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
自由的羽毛
金牌会员
这个人很懒什么都没写!
楼主热帖
JDBC p2 JDBC API
【MySQL】MySQL的安装、卸载、配置、登 ...
.MD语法入门,教你写好readme文档 ...
Vue使用ajax(axios)请求后台数据 ...
线程本地存储 ThreadLocal
【python】标准库(第四讲)
MongoDB学习笔记:配置文件
go学习笔记(一)
neo4j
iOS 组件化及二进制化的探索 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表