[发明专利]一种基于动态库拦截的通用计算虚拟化实现方法有效
申请号: | 201410034982.6 | 申请日: | 2014-01-25 |
公开(公告)号: | CN103761139B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 李肯立;石林;陈浩 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
代理公司: | 长沙市融智专利事务所43114 | 代理人: | 黄美成 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于动态库拦截的通用计算虚拟化实现方法,针对现有虚拟机技术对通用计算支持的不足,通过实时拦截和重定向通用计算运行时库,将虚拟环境中所有与通用计算相关的功能调用重定向到非虚拟环境,由于非虚拟环境拥有通用计算能力,它将完成实际通用计算任务并将结果返回虚拟环境。本发明对于虚拟环境中的用户而言保持完全透明,在动态库虚拟化的基础上,以GPU资源为分配对象的GPU池,通过空分复用、时分复用技术将一块物理GPU从逻辑上虚拟为多个GPU,支持多个用户多路复用GPU。 | ||
搜索关键词: | 一种 基于 动态 拦截 通用 计算 虚拟 实现 方法 | ||
【主权项】:
一种基于动态库拦截和重定向的通用计算虚拟化实现方法,其特征在于,包括以下步骤:步骤1:构建运行于虚拟环境中的通用计算客户端和建立通用计算服务器;步骤2:利用通用计算客户端截获在虚拟环境中运行的通用计算应用程序发出的虚拟设备请求并将虚拟设备请求转化为物理设备请求,并将该物理设备请求通过传输通道将物理设备请求发送至通用计算服务器上,完成GPU显存的分配;步骤3:通用计算服务器将GPU显存的分配结果返回至通用计算客户端,通用计算客户端将GPU显存的分配结果作为本地调用返回至通用计算应用程序,通用计算应用程序利用显存管理函数申请显存空间,将通用计算应用程序的计算数据复制至显存;步骤4:通用计算应用程序利用KERNEL执行函数向GPU传送KERNEL执行函数的代码,通用计算客户端根据KERNEL执行函数的执行参数,将KERNEL执行函数的代码和执行参数发往通用计算服务器,通用计算服务器设置KERNEL执行函数的执行参数,启动KERNEL执行函数进行计算,并将计算结果返回通用计算客户端;步骤5:通用计算客户端将步骤4得到的计算结果作为本地调用返回通用计算应用程序,实现基于动态库拦截和重定向的通用计算虚拟化;所述运行于虚拟环境中的通用计算客户端负责将通用计算应用程序的本地请求重定向到位于虚拟环境外部的服务器;所述构建运行于虚拟环境中的通用计算客户端的构建过程为通过构建一个与通用计算标准运行库同名的动态库,命名为伪库,将伪库存放在默认的库搜索范围内,使得伪库被通用计算程序和操作系统认定为支持通用计算的标准运行时库;将伪库载入内存,伪库内部函数被操作系统映射到所用通用计算程序的地址空间,使得伪库内的函数取代真库的函数;其中,通用计算标准运行库由显卡生产商提供,简称为真库;伪库中的所有接口的定义、函数名称及函数参数均与真库相同;所述通用计算服务器是一个用户层应用程序,它依据通用计算客户端发来的请求调用原生底层显卡驱动程序,并将请求的计算结果返回通用计算客户端;对伪库中的接口进行封装和虚拟化过程包括以下四种类型;远程执行型:通用计算客户端将原始的函数名和参数传递给服务器,由通用计算服务器执行并将结果返回至通用计算应用程序,作为通用计算应用程序的函数返回值;本地替代型:使用本地函数malloc替代具有耦合特性的mallocHost接口函数,减少远程过程调用和虚拟机切换的开销;远程替代型:通用计算服务器将异步版本的通用计算接口转化为同步版本的通用计算接口;指针同步型:传递指针代表的数据,并在通用计算服务器端重新建立指针与指针所代表数据之间的引用关系;所述步骤2的GPU显存的分配中,通用计算客户端在本地建立虚拟的GPU镜像步骤如下:1)在每一个具备物理GPU的节点设置服用计算服务桩程序,当该节点启动时,自动向通用计算服务器报告该节点所拥有的GPU数量和GPU的计算能力;2)利用通用计算服务器对按照GPU的计算能力对GPU进行归类,为每一个物理GPU建立索引号,标记所有GPU的状态为“空闲”;3)通用计算机应用程序向通用计算客户端请求通用计算设备;4)通用计算客户端向通用计算服务器申请相应数量的设备;5)通用计算服务器选择相应数量的设备,标记该设备状态为“使用中”,将被选中的设备的索引号返回客户端;6)通用计算客户端向通用计算应用程序返回申请结果,获得本地的虚拟GPU镜像。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410034982.6/,转载请声明来源钻瓜专利网。