预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111399976A(43)申请公布日2020.07.10(21)申请号202010134209.2(22)申请日2020.03.02(71)申请人上海交通大学地址200240上海市闵行区东川路800号(72)发明人戚正伟李凯诗管海兵汤冬劼汪沄李林生(74)专利代理机构上海恒慧知识产权代理事务所(特殊普通合伙)31317代理人张宁展(51)Int.Cl.G06F9/455(2006.01)G06F9/50(2006.01)权利要求书2页说明书7页附图1页(54)发明名称基于API重定向技术的GPU虚拟化实现系统及方法(57)摘要本发明提供了一种基于API重定向技术的GPU虚拟化实现系统,其中:位于客户端的指令代理模块截获客户端的图像应用程序中与OpenGL相关的API调用指令,并对该指令进行处理后,发送至远程服务器端执行渲染任务;任务调度模块将客户端发来的指令数据进行相应处理得到指令流,并分配给各个微GPU模块;微GPU模块完成指令流的渲染任务,并回传至客户端。同时提供了一种基于API重定向技术的GPU虚拟化实现方法。本发明提供了一个通用的加速服务平台,具有较好的通用性,且不需要修改源程序代码,使用简便。CN111399976ACN111399976A权利要求书1/2页1.一种基于API重定向技术的GPU虚拟化实现系统,其特征在于,包括:设置于客户端的指令代理模块;设置于远程服务器端的任务调度模块和一个或多个微GPU模块;设置于客户端和远程服务器端之间用于数据通讯的通信模块;其中:所述指令代理模块:用于截获客户端的图像应用程序中与OpenGL相关的API调用指令,并对该指令进行处理后,通过通信模块发送至远程服务器端执行渲染任务;所述任务调度模块:用于将客户端发来的指令数据进行相应处理得到指令流,并分配给各个微GPU模块;所述微GPU模块:用于完成指令流的渲染任务,并回传至客户端。2.根据权利要求1所述的基于API重定向技术的GPU虚拟化实现系统,其特征在于,所述指令代理模块在客户端被设置为环境变量,从而以共享库的形式,在客户端的图像应用程序启动时加载指令代理模块的OpenGL实现;和/或所述指令代理模块对指令进行压缩处理;相应地,所述任务调度模块用于对压缩后的指令进行解压缩并分发至各个微GPU模块。3.根据权利要求2所述的基于API重定向技术的GPU虚拟化实现系统,其特征在于,所述指令代理模块对指令进行压缩处理,采用如下任意一种或任意多种方法:-采用差量传输方式,在传输前比较相邻的两帧,压缩指令的传输量;-采用浮点数转换方式,压缩顶点数据;和/或所述任务调度模块将指令分发至各个微GPU模块的方法为:每一个微GPU模块将资源使用情况及时反馈给任务调度模块,任务调度模块根据微GPU模块的资源使用情况,使用调度算法进行任务分发;所述调度算法采用多层反馈调度算法,借由微GPU模块反馈的历史请求的资源使用情况判断当前任务请求的分发目标;当接受到新的任务请求时,任务调度模块判断是否接收过该应用的任务请求;若否,则将该任务随机分配给任意微GPU模块,并在运行过程中监控该任务的资源使用情况,判断该任务的资源需求特点并记录;若是,则根据该任务的资源需求特点分配给相应资源最充裕的微GPU模块。4.根据权利要求3所述的基于API重定向技术的GPU虚拟化实现系统,其特征在于,所述指令代理模块还对指令流中的一部分顶点数据进行聚合简化处理;其中,所述顶点数据为指令流传输中涉及到的一种指令数据,用于表述几何对象的顶点信息。5.根据权利要求1所述的基于API重定向技术的GPU虚拟化实现系统,其特征在于,所述微GPU模块完成指令流的渲染任务的方法为:每一个所述微GPU模块通过设置于远程服务器端的GPU驱动模块,将接收到的指令流发送至装载于远程服务器端的GPU设备进行相应的渲染工作;每一个微GPU模块完成的渲染结果存储于设置于GPU设备的GPU内存帧缓存中。6.根据权利要求5所述的基于API重定向技术的GPU虚拟化实现系统,其特征在于,所述GPU内存帧缓存存储对渲染结果采用像素数据的形式进行存储;所述任务调度模块将GPU内存帧缓存存储的渲染结果编码为视频流后回传至客户端,并在客户端解码得到渲染结果后存储在客户端内存的帧缓存中。7.根据权利要求1所述的基于API重定向技术的GPU虚拟化实现系统,其特征在于,所述微GPU程序单元根据接收到的指令流在远程服务器端的缓存情况进行相应处理:如果缓存2CN111399976A权利要求书2/2页命中,微GPU程序单元直接从缓存区域中提取需要的指令流数据进行渲染工作;否则,微GPU程序单元等待指令流传输完成后再借由远程服务器端装载的GPU设备,使用原生