一种面向云计算的GPU虚拟化系统和方法技术方案

技术编号:32131390 阅读:33 留言:0更新日期:2022-01-29 19:31
本发明专利技术涉及一种面向云计算的GPU虚拟化系统和方法,属于计算机领域。本发明专利技术将CUDA改造成为适用于多虚拟机系统的vCUDA。通过vCUDA多模块设计解决多虚拟机间资源通信和调度、在用户层拦截和重定向CUDA API、使用远程过程调用作为特殊的域间通信机制等方式,实现本专利GPU虚拟化技术。本发明专利技术设计vCUDA在云计算平台虚拟机上的实现方式,满足不同用户对GPU资源的复用,在虚拟机上实现通用并行计算。本发明专利技术通过用户层拦截和重定向CUDA API,不改变虚拟机和GPU自身内核,对原装软件和硬件无侵入。对于客户虚拟机上部署的CUDA应用程序而言,所有的操作都像发生在本地。可使云计算平台成为一个虚拟化GPU资源可用复用、可进行并行计算任务分发、调度可行有效率的计算平台。调度可行有效率的计算平台。调度可行有效率的计算平台。

【技术实现步骤摘要】
一种面向云计算的GPU虚拟化系统和方法


[0001]本专利技术属于计算机领域,具体涉及一种面向云计算的GPU虚拟化系统和方法。

技术介绍

[0002]GPU即图形处理器,是相对于CPU提出的处理器概念。随着桌面虚拟技术和云计算技术的发展,GPU虚拟化技术成为了研究的重点。在虚拟机系统中使用GPU的方式主要包括GPU直通和GPU虚拟化。
[0003]GPU直通模式是最成熟的方案,可以直接将物理GPU分配个某一虚拟机,只有该虚拟机拥有对物理GPU访问的权限,该方式称为独占设备。这种方式保存了虚拟机访问GPU的功能完整性和独立性,因为绕过了虚拟机监视器,所以执行效率很高;缺点就是独占设备使其他虚拟机无法共享使用GPU,失去了复用的功能。
[0004]GPU虚拟化能够将GPU进行切片,包括在资源维度上切片和在时间维度上切片,并分配给多台虚拟机使用。当前GPU虚拟化技术还存在许多难点,技术实现上也存在多种技术路线。
[0005]GPU设备构造复杂,GPU硬件研发是各厂家的核心技术,GPU驱动开发也基本上属于闭源状态。因此,针对GP本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向云计算的GPU虚拟化系统,其特征在于,该系统采用Xen虚拟化架构,包括三个模块:vCUDA客户端、vCUDA服务端和vGPU,Xen虚拟化架构中包括一个主虚拟机和若干个客户虚拟机;主虚拟机运行在Xen中的特权域,安装vCUDA服务端以及GPU原生驱动;vCUDA服务端包括原生CUDA库和远程调用模块,其中原生CUDA库能够通过原生驱动使用物理GPU,远程调用模块是主虚拟机与客户虚拟机进行通信的特殊通道;主虚拟机是唯一可以直接访问到物理GPU的虚拟机;客户虚拟机运行在Xen中的非特权域,客户虚拟机是供用户使用的虚拟机,安装CUDA应用程序、vCUDA客户端和vGPU;vCUDA客户端包括vCUDA库和远程调用模块;远程调用模块用于与主虚拟机通信,vCUDA库是面向GPU虚拟化定制的伪库,通过重定向库函数,将CUDA应用的请求转发到vCUDA服务端执行;客户虚拟机无法直接访问物理GPU,必须通过主虚拟机来使用GPU;vGPU用来维护与GPU相关的软硬件状态。2.如权利要求1所述的面向云计算的GPU虚拟化系统,其特征在于,所述特权域为Domain 0,所述非特权域为Domain U。3.如权利要求1所述的面向云计算的GPU虚拟化系统,其特征在于,vGPU是客户虚拟机中维护的一个字典数据结构,其中存储了当前使用物理GPU的地址空间、内存对象和纹理结构,同时记录了CUDA库的调用次序。4.如权利要求3所述的面向云计算的GPU虚拟化系统,其特征在于,当主虚拟机的计算结果返回时,vCUDA客户端会根据结果及时更新vGPU。5.如权利要求1所述的面向云计算的GPU虚拟化系统,其特征在于,vCUDA客户端中的vCUDA库改写了原生CUDA库的接口代码,使得来自CUDA应用程序的调用请求会被vCUDA库捕获。6.如权利要求5所述的面向云计算的GPU虚拟化系统,其特征在于,vCUDA客户端还对CUDA调用的接口和参数重新进行封装、编码,编写成可在远程调用模块中传递的数据格式,传递到vCUDA服务端。7.如权利要求6所述的面向云计算的GPU...

【专利技术属性】
技术研发人员:许健邹琴钟生海杨飞侯明月
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1