一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向云计算的GPU虚拟化系统和方法与流程

2022-02-22 04:02:05 来源:中国专利 TAG:

技术特征:
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虚拟化系统,其特征在于,所述vcuda服务端通过远程调用接口接收来自vcuda客户端的数据,并解析出调用和参数;分配给服务端的来自不同客户端的不同应用的作业将经统一格式编码后按照用户请求的先后的顺序分发给gpu,并等待资源分配和执行。8.如权利要求1所述的面向云计算的gpu虚拟化系统,其特征在于,vcuda服务端将作业结果编码,通过远程调用接口返回给vcuda客户端,vcuda客户端还对vcuda服务端返回的数据进行解码,将作业结果返回给cuda应用程序。9.如权利要求1-8任一项所述的面向云计算的gpu虚拟化系统,其特征在于,所述vcuda服务端得到了计算结果之后,将状态同步请求和gpu状态信息发送给vcuda客户端,vcuda客户端完成vgpu状态同步后返回成功确认信号;然后vcuda服务端才能将计算结果发送给vcuda客户端。10.一种基于如权利要求1-9任一项所述的系统的面向云计算的gpu虚拟化方法,其特征在于,该方法包括如下步骤:s1、vcuda客户端拦截客户虚拟机中cuda应用程序发送的cuda调用请求;
s2、vcuda客户端对cuda调用请求进行编码,将编码后的请求通过远程调用模块发送到安装在主虚拟机中的vcuda服务端的远程调用模块;vcuda服务端的远程调用模块接收来自vcuda客户端的信息,进行解码后获取cuda调用请求;s3、vcuda服务端利用原生cuda库生成计算作业,通过原生驱动将计算作业发送到物理gpu完成计算作业;s4、物理gpu将计算结果返回给vcuda服务端;s5、vcuda服务端通过远程调用模块将gpu状态更新和运行结果返回给vcuda客户端,vcuda服务端先将编码后的状态同步请求和gpu状态信息发送给vcuda客户端,vcuda客户端解码并完成vgpu状态同步后返回成功确认信号,然后vcuda服务端才能将编码后的计算结果发送给vcuda客户端;s6、vcuda客户端将解码后的计算结果返还给cuda应用程序。

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


技术研发人员:许健 邹琴 钟生海 杨飞 侯明月
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2021.11.01
技术公布日:2022/1/28
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献