CN111274044A - Gpu虚拟化资源限制处理方法及装置 - Google Patents
Gpu虚拟化资源限制处理方法及装置 Download PDFInfo
- Publication number
- CN111274044A CN111274044A CN202010034040.3A CN202010034040A CN111274044A CN 111274044 A CN111274044 A CN 111274044A CN 202010034040 A CN202010034040 A CN 202010034040A CN 111274044 A CN111274044 A CN 111274044A
- Authority
- CN
- China
- Prior art keywords
- rendering
- opengles
- renderer
- context
- virtualization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000009877 rendering Methods 0.000 claims abstract description 500
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种GPU虚拟化资源限制处理方法及装置,方法包括:捕获虚拟化渲染指令;将虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。本发明实施例由于渲染指令的处理由独立的OpenglES渲染器控制,因而使得渲染指令的处理存在了控制基础,基于此,在OpenglES渲染器内添加虚拟化渲染资源限制策略,可实现对云操作系统和/或客户端占用虚拟渲染资源的约束,从而实现了对GPU虚拟化资源的限制。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种GPU虚拟化资源限制处理方法及装置。
背景技术
当前操作系统领域对CPU、硬盘、网络等计算机组成单元的虚拟化支持较好,但在GPU相关的虚拟化方面工作尚处于早期阶段,仅有的可查GPU虚拟化相关的技术主要在Google公司的Android模拟器中,Android模拟器采用emulator程序通过emulator内封装的QemuPipe,实现了Android系统OpenglES指令向Qemu虚拟化引擎的传输,并且在Qemu内实现了OpenglES指令的拆解渲染。
OpenglES指令的拆解分发在Qemu虚拟化引擎中实现,导致需要强稳定性的底层渲染引擎不得不调用并不稳定的OpenglES渲染库,易发生未知的Qemu虚拟化引擎崩溃。此外,这种虚拟化引擎执行渲染的方法同样存在无法对单Android实例的GPU计算资源进行限制的问题,即先启动的Android实例可占用全部GPU计算资源,后启动的Android实例则只能等待GPU出现空闲的情况下使用计算资源,这导致对GPU计算资源限制的无力。
发明内容
针对现有技术中的问题,本发明实施例提供一种GPU虚拟化资源限制处理方法及装置。
第一方面,本发明实施例提供了一种GPU虚拟化资源限制处理方法,包括:
捕获虚拟化渲染指令;
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
进一步地,将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作,具体包括:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令所需的渲染流量是否超过预设渲染流量阈值时,将超过所述预设渲染流量阈值的渲染指令存储至内存缓存中并根据所述预设渲染流量阈值从内存缓存中读取渲染数据流并调用物理GPU资源执行渲染操作,同时将渲染结果进行缓存,否则,根据所述渲染指令所需的渲染流量调用物理GPU资源执行渲染操作,并将渲染结果进行缓存;
接收所述OpenglES渲染器按照预设渲染结果回传流量阈值发送的渲染结果缓存数据。
进一步地,将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作,具体包括:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令欲构建的渲染上下文数量超过预设渲染上下文数量阈值时,通过OpenglES渲染上下文句柄,根据所述预设渲染上下文数量阈值读回不活跃的渲染上下文存储至内存缓存中,并对未被读回的渲染上下文进行渲染操作,同时在判断获知欲对已读回的渲染上下文使用时,通过读取内存缓存中的渲染上下文将内存缓存中的渲染上下文恢复并在GPU中构建该渲染上下文,在恢复渲染上下文时,若恢复出的渲染上下文数量超过预设渲染上下文数量阈值,则需要重新从恢复出的渲染上下文中读回不活跃的渲染上下文并对未被读回的渲染上下文进行渲染操作。
进一步地,所述捕获虚拟化渲染指令,具体包括:
捕获云操作系统和/或客户端对GPU用户态驱动和OpenglES动态库调用的虚拟化渲染指令。
第二方面,本发明实施例还提供了一种GPU虚拟化资源限制处理装置,包括:
捕获模块,用于捕获虚拟化渲染指令;
处理模块,用于将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
进一步地,所述处理模块,具体用于:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令所需的渲染流量是否超过预设渲染流量阈值时,将超过所述预设渲染流量阈值的渲染指令存储至内存缓存中并根据所述预设渲染流量阈值从内存缓存中读取渲染数据流并调用物理GPU资源执行渲染操作,同时将渲染结果进行缓存,否则,根据所述渲染指令所需的渲染流量调用物理GPU资源执行渲染操作,并将渲染结果进行缓存;
接收所述OpenglES渲染器按照预设渲染结果回传流量阈值发送的渲染结果缓存数据。
进一步地,所述处理模块,具体用于:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令欲构建的渲染上下文数量超过预设渲染上下文数量阈值时,通过OpenglES渲染上下文句柄,根据所述预设渲染上下文数量阈值读回不活跃的渲染上下文存储至内存缓存中,并对未被读回的渲染上下文进行渲染操作,同时在判断获知欲对已读回的渲染上下文使用时,通过读取内存缓存中的渲染上下文将内存缓存中的渲染上下文恢复并在GPU中构建该渲染上下文,在恢复渲染上下文时,若恢复出的渲染上下文数量超过预设渲染上下文数量阈值,则需要重新从恢复出的渲染上下文中读回不活跃的渲染上下文并对未被读回的渲染上下文进行渲染操作。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述GPU虚拟化资源限制处理方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述GPU虚拟化资源限制处理方法的步骤。
第五方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如第一方面所述GPU虚拟化资源限制处理方法的步骤。
由上面技术方案可知,本发明实施例提供的GPU虚拟化资源限制处理方法及装置,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,使得OpenglES渲染器能够独立承接多个云操作系统的渲染指令进行渲染操作,也即本发明实施例通过在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,实现了多个云操作系统的并行独立渲染功能,同时,由于渲染处理过程在独立于Qemu虚拟化引擎之外的OpenglES渲染器中实现,因而使得渲染指令的处理存在了控制基础,基于此,在OpenglES渲染器内添加渲染资源限制条件,可实现对云操作系统和/或客户端占用渲染资源的约束,从而实现了对GPU虚拟化资源的限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的GPU虚拟化资源限制处理方法的流程图;
图2为本发明一实施例提供的多Android操作系统的并行独立渲染处理过程示意图;
图3为本发明一实施例提供的GPU虚拟化资源限制处理装置的结构示意图;
图4为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
正如背景技术部分所述,当前操作系统领域对CPU、硬盘、网络等计算机组成单元的虚拟化支持较好,但在GPU相关的虚拟化方面工作尚处于早期阶段,仅有的可查GPU虚拟化相关的技术主要在Google公司的Android模拟器中,Android模拟器采用emulator程序通过emulator内封装的QemuPipe,实现了Android系统OpenglES指令向Qemu虚拟化引擎的传输,并且在Qemu内实现了OpenglES指令的拆解渲染。OpenglES指令的拆解分发在Qemu虚拟化引擎中实现,导致需要强稳定性的底层渲染引擎不得不调用并不稳定的OpenglES渲染库,易发生未知的Qemu虚拟化引擎崩溃。此外,这种虚拟化引擎执行渲染的方法同样存在无法对单Android实例的GPU计算资源进行限制的问题,即先启动的Android实例可占用全部GPU计算资源,后启动的Android实例则只能等待GPU出现空闲的情况下使用计算资源,这导致对GPU计算资源限制的无力。为解决该问题,本发明提供了一种GPU虚拟化资源限制处理方法及装置,在本发明中,在Qemu虚拟化引擎之外,独立设置了OpenglES渲染器,使得渲染指令的处理变为由独立的OpenglES渲染器控制,因而使得渲染指令的处理存在了控制基础,基于此,可以在OpenglES渲染器内添加渲染资源限制策略,以实现对云操作系统和/或客户端占用渲染流量的约束,从而实现对GPU虚拟化资源的限制。下面将通过具体实施例对本发明提供的GPU虚拟化资源限制处理方法及装置进行详细解释说明。
此外,为方便理解本发明各实施例的内容,在对本发明各实施例的内容进行介绍之前,先对云操作系统和客户端的含义进行解释说明。云操作系统是指云端智能设备上安装的操作系统。云端智能设备为在云服务器上虚拟出来的虚拟机(云端智能设备可以为云手机、云电脑、云手表等智能设备),客户端是指能够远程操作云端智能设备的客户端(如智能手机、移动设备、汽车、个人电脑、平板电脑和个人数字助理等)。云端智能设备和客户端一般通过分布式网络建立通信,由于云端智能设备为虚拟机,没有输入输出设备,因此在对云端智能设备上的应用进行操作时,需要借助于客户端设备的输入输出设备进行输入和输出操作,例如,通过客户端对云端智能设备上的应用进行输入操作(如点击、滑动等输入操作),并通过客户端对云端智能设备上的应用进行输出操作(如进行云端智能设备上相关应用的内容显示等输出操作)。
图1示出了本发明实施例提供的GPU虚拟化资源限制处理方法的流程图。如图1所示,本发明实施例提供的GPU虚拟化资源限制处理方法包括如下步骤:
步骤101:捕获虚拟化渲染指令;
步骤102:将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
在本实施例中,需要说明的是,所述虚拟化渲染资源限制策略用于在虚拟化渲染资源的调用过程中进行渲染资源的限制。本实施例提供的GPU虚拟化资源限制处理方法的实现过程如下:在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,在OpenglES渲染器内添加虚拟化渲染资源限制策略,捕获各云操作系统和/或客户端对GPU调用的渲染指令,将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据所述虚拟化渲染资源限制策略调用物理GPU资源对接收到的渲染指令执行渲染操作。
在本实施例中,可以理解的是,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,因此,使得渲染处理过程独立于Qemu虚拟化引擎之外实现,从而使得渲染处理过程不会对Qemu虚拟化引擎产生影响,Qemu虚拟化引擎仅需要通过进程间通信与OpenglES渲染器传输渲染指令即可,从而解决了Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题。
在本实施例中,需要说明的是,所述OpenglES渲染器能够独立承接多个云操作系统的渲染指令并将渲染指令并行下发到物理GPU执行渲染操作,这是因为OpenglES渲染器设置在一个独立进程中,因此,OpenglES渲染器具备了一个不受约束的环境前提,因此能够独立承接多个云操作系统和/或客户端的渲染指令,OpenglES渲染器接收到这些渲染指令后,将这些渲染指令并行下发到物理GPU执行渲染操作,从而实现多云操作系统和/或客户端的独立并行渲染操作,具体处理过程如图2所示。这里的云操作系统,一般指云手机Android操作系统(当然也可以为其他操作系统),每个云手机Android操作系统也可以称为一个Android虚拟化实例。
在本实施例中,可以理解的是,由于OpenglES渲染器设置在一个独立进程中,因此Qemu虚拟化引擎通过进程间通信与OpenglES渲染器通信实现渲染指令的传输。
在本实施例中,需要说明的是,云手机为在云服务器上虚拟出来的虚拟机,云手机Android操作系统指虚拟机Android操作系统。此外,客户端是指能够远程操作云手机的客户端,如安装在远程操作设备如智能手机、移动设备、汽车、个人电脑、平板电脑和个人数字助理上的用于操作云手机的应用程序等)。需要说明的是,云手机和远程操作设备之间一般通过分布式网络建立通信。
在本实施例中,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,使得OpenglES渲染器能够独立承接多个云操作系统的渲染指令进行渲染操作,也即本发明实施例通过在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,实现了多个云操作系统的并行独立渲染功能,同时,由于渲染处理过程在独立于Qemu虚拟化引擎之外的OpenglES渲染器中实现,因而使得渲染指令的处理存在了控制基础,基于此,在OpenglES渲染器内添加虚拟化渲染资源限制策略,可实现对云操作系统和/或客户端占用渲染资源的约束,从而实现对GPU虚拟化资源的限制。
在本实施例中,需要说明的是,所述虚拟化渲染资源限制策略可以包括与渲染流量有关的渲染资源限制策略,也可以包括与渲染上下文有关的渲染资源限制策略。
基于上述实施例的内容,在本实施例中,将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作,具体包括:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令所需的渲染流量是否超过预设渲染流量阈值时,将超过所述预设渲染流量阈值的渲染指令存储至内存缓存中并根据所述预设渲染流量阈值从内存缓存中读取渲染数据流并调用物理GPU资源执行渲染操作,同时将渲染结果进行缓存,否则,根据所述渲染指令所需的渲染流量调用物理GPU资源执行渲染操作,并将渲染结果进行缓存;
接收所述OpenglES渲染器按照预设渲染结果回传流量阈值发送的渲染结果缓存数据。
在本实施例中,虚拟化渲染资源限制处理过程可通过渲染流量控制器和渲染结果回传缓冲器这两个逻辑器件实现。具体来说,在OpenglES渲染器的数据接收端添加渲染流量控制器,且在所述渲染流量控制器中添加渲染流量限制条件,使得所述OpenglES渲染器根据所述渲染资源限制条件调用物理GPU资源对接收到的针对各云操作系统和/或客户端的渲染指令执行渲染操作,以及,在OpenglES渲染器的渲染结果输出端添加渲染结果回传缓冲器,其中,所述渲染结果回传缓冲器用于存储所述OpenglES渲染器的渲染结果;相应地,按照预设回传流量限制条件,从所述渲染结果回传缓冲器读取渲染结果并传输至所述虚拟化渲染指令的发送者。
在本实施例中,由于需要将渲染指令发送给OpenglES渲染器进行处理,因此需要捕获各云操作系统和/或客户端对GPU调用的渲染指令。在本实施例中,可以利用渲染数据流捕获器捕获各云操作系统和/或客户端对GPU调用的渲染指令,这里的渲染数据流捕获器是一个篡改过的、被所有执行OpenglES渲染的程序调用的动态库。在本实施例中,可以利用一个数据通讯器将所捕获到的渲染指令发送到OpenglES渲染器,使得所述OpenglES渲染器根据所述渲染资源限制条件调用物理GPU资源对接收到的针对各云操作系统和/或客户端的渲染指令执行渲染操作。
在本实施例中,由于在OpenglES渲染器中添加了与渲染流量相关的渲染资源限制策略,因此在进行渲染时对流量是限制的,同理,在回传渲染结果时,此时回传渲染结果的传输流量也应该是受限的,因此,为避免回传渲染结果时占用过多的流量,需要将渲染结果先存储至渲染结果回传缓冲器中,然后再从所述渲染结果回传缓冲器读取渲染结果,按照回传流量限制将所述渲染结果对应发送给相应的云操作系统和/或客户端,实现一OpenglES渲染器对多云操作系统显示系统的虚拟化。
在本实施例中,需要说明的是,渲染流量限制条件可以为针对所有的云操作系统和/或客户端统一的渲染流量限制条件,例如,针对所有的云操作系统和/或客户端,渲染流量限制条件均为2MB。此外,渲染流量限制条件还可以为分别针对不同云操作系统和客户端的渲染流量限制条件,例如,针对云手机A操作系统的渲染流量限制条件为2MB,针对云手机A客户端的渲染流量限制条件为3MB,针对云手机B操作系统的渲染流量限制条件为1MB,针对云手机B客户端的渲染流量限制条件为0.5MB。同理,对于预设回传流量限制条件的取值也是类似的道理,此处不再举例说明。
需要说明的是,在本实施例中,在实现多Android操作系统的并行独立渲染处理的基础上,基于多操作系统的并行独立渲染处理方式,在OpenglES渲染器的数据接收端添加渲染流量控制器,并相对应地在渲染结果输出端添加渲染结果回传缓冲器,通过渲染流量控制器和渲染结果回传缓冲器协同合作,实现在不对Android实例稳定性产生影响的同时,控制渲染数据流量,进而降低或增加GPU计算资源的分配。由此可见,本实施例通过渲染流量控制器和渲染结果回传缓冲器协同合作合理控制渲染流量,实现了Android操作系统GPU虚拟化的计算资源控制。
在本实施例中,将所述渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据所述渲染流量控制器中的针对不同云操作系统和/或客户端的渲染流量限制条件调用物理GPU资源对接收到的针对不同云操作系统和客户端的渲染指令执行渲染操作。由于本实施例在所述OpenglES渲染器内添加有针对不同云操作系统本身和客户端的渲染资源限制策略,从而使得可以针对不同云操作系统本身和客户端进行个性化的渲染资源约束,或者,使得可以根据不同云操作系统本身和客户端对应的实际渲染需求进行个性化的渲染资源约束。
基于上述实施例的内容,在本实施例中,将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作,具体包括:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令欲构建的渲染上下文数量超过预设渲染上下文数量阈值时,通过OpenglES渲染上下文句柄,根据所述预设渲染上下文数量阈值读回不活跃的渲染上下文存储至内存缓存中,并对未被读回的渲染上下文进行渲染操作,同时在判断获知欲对已读回的渲染上下文使用时,通过读取内存缓存中的渲染上下文将内存缓存中的渲染上下文恢复并在GPU中构建该渲染上下文,在恢复渲染上下文时,若恢复出的渲染上下文数量超过预设渲染上下文数量阈值,则需要重新从恢复出的渲染上下文中读回不活跃的渲染上下文并对未被读回的渲染上下文进行渲染操作。
在本实施例中,需要说明的是,所谓不活跃的渲染上下文是指:之前预设时间段内并无针对此渲染上下文的指令操作,但在之后的预设时间段内会出现对此渲染上下文的操作,因此,需要对其读回并缓存。
在本实施例中,需要说明的是,OpenglES渲染上下文句柄可以理解为一种索引,是一个数字,通过这个数字就可以找到OpenglES渲染上下文,因此,在本实施例中,当需要读回不活跃的渲染上下文时,需要通过OpenglES渲染上下文句柄读回不活跃的渲染上下文存储至内存缓存中。
在本实施例中,将虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令欲构建的渲染上下文数量超过预设渲染上下文数量阈值时,通过OpenglES渲染上下文句柄,根据所述预设渲染上下文数量阈值读回不活跃的渲染上下文存储至内存缓存中,并对未被读回的渲染上下文进行渲染操作,同时在判断获知欲对已读回的渲染上下文使用时(这里的欲对已读回的渲染上下文使用是指:欲对已读回的渲染上下文执行渲染操作时),通过读取内存缓存中的渲染上下文将内存缓存中的渲染上下文恢复并在GPU中构建该渲染上下文,在恢复渲染上下文时,若恢复出的渲染上下文数量超过预设渲染上下文数量阈值,则需要重新从恢复出的渲染上下文中读回不活跃的渲染上下文并对未被读回的渲染上下文进行渲染操作。
在本实施例中,需要说明的是,虚拟化渲染资源限制处理过程可通过渲染上下文限制器和虚拟渲染上下文模块这两个逻辑器件实现。具体来说,在OpenglES渲染器的数据接收端添加渲染上下文限制器,以及,在OpenglES渲染器内添加虚拟渲染上下文模块。
在本实施例中,基于多操作系统的并行独立渲染处理方式,在OpenglES渲染器中可以预先添加虚拟渲染上下文模块和渲染上下文限制器,通过渲染上下文限制器指定Android实例可用的预设渲染上下文数量阈值a,在Android实例保有的渲染上下文数量超出a时,虚拟渲染上下文模块通过将不活跃的GPU的渲染上下文读回并投入将要使用的渲染上下文实现Android实例对GPU计算资源使用量的限制。由此可见,本实施例通过渲染上下文限制器和在OpenglES渲染器添加的虚拟渲染上下文模块,实现了限制Android实例能真实投入GPU的渲染上下文数量,完成了Android操作系统GPU虚拟化的计算资源控制。
在本实施例中,需要说明的是,所述预设渲染上下文数量阈值a可以为针对所有的云操作系统和/或客户端统一的预设渲染上下文数量阈值,例如,针对所有的云操作系统和/或客户端,预设渲染上下文数量阈值均为50。此外,预设渲染上下文数量阈值还可以为分别针对不同云操作系统本身和客户端的预设渲染上下文数量阈值,例如,针对云端智能设备A操作系统的预设渲染上下文数量阈值为50,针对云端智能设备A客户端的预设渲染上下文数量阈值为100,针对云端智能设备B操作系统的预设渲染上下文数量阈值为20,针对云端智能设备B客户端的预设渲染上下文数量阈值为30。
在本实施例中,由于需要将渲染指令发送给OpenglES渲染器进行处理,因此需要捕获各云操作系统和/或客户端对GPU调用的渲染指令。在本实施例中,可以利用渲染数据流捕获器捕获各云操作系统和/或客户端对GPU调用的渲染指令,这里的渲染数据流捕获器是一个篡改过的、被所有执行OpenglES渲染的程序调用的动态库。
在本实施例中,可以利用一个数据通讯器将所捕获到的渲染指令发送到OpenglES渲染器,使得所述OpenglES渲染器根据所述渲染资源限制条件调用物理GPU资源对接收到的针对各云操作系统和/或客户端的渲染指令执行渲染操作。
由上面技术方案可知,本发明实施例提供的GPU虚拟化资源限制处理方法,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,使得OpenglES渲染器能够独立承接多个云操作系统的渲染指令进行渲染操作,也即本发明实施例通过在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,实现了多个云操作系统的并行独立渲染功能,同时,由于渲染处理过程在独立于Qemu虚拟化引擎之外的OpenglES渲染器中实现,因而使得渲染指令的处理存在了控制基础,基于此,在OpenglES渲染器内添加渲染资源限制条件,可实现对云操作系统和/或客户端占用渲染资源的约束,从而实现了对GPU虚拟化资源的限制。
此外,补充说明的是,由于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,因此,使得Qemu虚拟化引擎仅需要通过进程间通信与OpenglES渲染器通信实现渲染指令的传输,从而还可以解决Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题。
基于上述实施例的内容,在本实施例中,所述捕获虚拟化渲染指令,具体包括:捕获云操作系统和/或客户端对GPU用户态驱动和OpenglES动态库调用的虚拟化渲染指令。
在本实施例中,在捕获各云操作系统和/或客户端对GPU调用的虚拟化渲染指令时,可以捕获各云操作系统和/或客户端对GPU用户态驱动和OpenglES动态库调用的渲染指令,从而可以较为方便地捕获到完整的渲染指令。
根据上面描述可知,本实施例通过在独立进程中编写OpenglES渲染器,Qemu虚拟化引擎仅需要通过进程间通信与OpenglES渲染器通信实现渲染指令的传输,解决了Qemu虚拟化引擎由于OpenglES渲染库导致的不稳定问题;渲染指令的传输由OpenglES渲染器控制,使渲染指令执行结果的回传存在了控制基础,即控制先启动实例对GPU计算资源的占用有了机制上的基础支持,也为Android实例的优先级划分提供基础支持。需要说明的是,多Android操作系统的并行独立渲染技术是多Android操作系统虚拟化的基础技术,通过实现一个GPU用户态驱动和OpenglES动态库的渲染数据流捕获器,修改Android操作系统的GPU用户态驱动和OpenglES动态库,即可全部捕获Android操作系统本身以及APP对GPU的调用数据流。另外实现一个数据通讯器即可将所捕获的调用数据流发送给真实执行GPU操作的OpenglES渲染器;OpenglES渲染器是一个独立的可承接多个Android操作系统的GPU渲染需求的应用程序,能够同时将多个Android操作系统的渲染指令并行下发到GPU进行计算,并得到结果;在接收到数据通讯器发来的数据流后,OpenglES渲染器即可执行渲染并将渲染结果传回Android操作系统或APP,即可完成一OpenglES渲染器对多Android操作系统显示系统的虚拟化。如图2所示,在进行多操作系统渲染时共需三部分内容:渲染数据流捕获器:在Android操作系统中运行的捕获Android操作系统本身以及APP调用GPU用户态驱动和OpenglES动态库的渲染数据流捕获器;数据通讯器:一个可以将所捕获数据流发送到OpenglES渲染器并能接收渲染结果的数据通讯器;OpenglES渲染器:一个能够支持多渲染上下文的OpenglES渲染器。在本实施例中,通过能够独立接收渲染数据流并实现多Android操作系统的并行使用的OpenglES渲染器,以及能够捕获Android操作系统和APP渲染数据流并能与数据通讯器结合向OpenglES渲染器发送渲染数据流的渲染数据流捕获器,以及能够连通渲染数据流捕获器和OpenglES渲染器的数据通讯器共同实现了多Android操作系统的并行独立渲染处理。
图3示出了本发明实施例提供的GPU虚拟化资源限制处理装置的结构示意图。如图3所示,本发明实施例提供的GPU虚拟化资源限制处理装置包括:捕获模块21和处理模块22,其中:
捕获模块21,用于捕获虚拟化渲染指令;
处理模块22,用于将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
基于上述实施例的内容,在本实施例中,所述GPU虚拟化资源限制处理装置还包括:设置模块和添加模块,其中:
设置模块,用于在独立于Qemu虚拟化引擎的进程外的进程中设置OpenglES渲染器,其中,所述OpenglES渲染器能够独立承接多个云操作系统和/或客户端的渲染指令并将渲染指令并行下发到物理GPU执行渲染操作;
添加模块,用于在OpenglES渲染器内添加虚拟化渲染资源限制策略。
基于上述实施例的内容,在本实施例中,所述处理模块,具体用于:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令所需的渲染流量是否超过预设渲染流量阈值时,将超过所述预设渲染流量阈值的渲染指令存储至内存缓存中并根据所述预设渲染流量阈值从内存缓存中读取渲染数据流并调用物理GPU资源执行渲染操作,同时将渲染结果进行缓存,否则,根据所述渲染指令所需的渲染流量调用物理GPU资源执行渲染操作,并将渲染结果进行缓存;
接收所述OpenglES渲染器按照预设渲染结果回传流量阈值发送的渲染结果缓存数据。
基于上述实施例的内容,在本实施例中,所述处理模块,具体用于:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令欲构建的渲染上下文数量超过预设渲染上下文数量阈值时,通过OpenglES渲染上下文句柄,根据所述预设渲染上下文数量阈值读回不活跃的渲染上下文存储至内存缓存中,并对未被读回的渲染上下文进行渲染操作,同时在判断获知欲对已读回的渲染上下文使用时,通过读取内存缓存中的渲染上下文将内存缓存中的渲染上下文恢复并在GPU中构建该渲染上下文,在恢复渲染上下文时,若恢复出的渲染上下文数量超过预设渲染上下文数量阈值,则需要重新从恢复出的渲染上下文中读回不活跃的渲染上下文并对未被读回的渲染上下文进行渲染操作。
由于本发明实施例提供的GPU虚拟化资源限制处理装置,可以用于执行上述实施例所述的GPU虚拟化资源限制处理方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图4,所述电子设备具体包括如下内容:处理器401、存储器402、通信接口403和通信总线404;
其中,所述处理器401、存储器402、通信接口403通过所述通信总线404完成相互间的通信;
所述处理器401用于调用所述存储器402中的计算机程序,所述处理器执行所述计算机程序时实现上述GPU虚拟化资源限制处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:捕获虚拟化渲染指令;将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述GPU虚拟化资源限制处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:捕获虚拟化渲染指令;将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上面实施例所述GPU虚拟化资源限制处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:捕获虚拟化渲染指令;将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的GPU虚拟化资源限制处理方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种GPU虚拟化资源限制处理方法,其特征在于,包括:
捕获虚拟化渲染指令;
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
2.根据权利要求1所述的GPU虚拟化资源限制处理方法,其特征在于,将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作,具体包括:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令所需的渲染流量是否超过预设渲染流量阈值时,将超过所述预设渲染流量阈值的渲染指令存储至内存缓存中并根据所述预设渲染流量阈值从内存缓存中读取渲染数据流并调用物理GPU资源执行渲染操作,同时将渲染结果进行缓存,否则,根据所述渲染指令所需的渲染流量调用物理GPU资源执行渲染操作,并将渲染结果进行缓存;
接收所述OpenglES渲染器按照预设渲染结果回传流量阈值发送的渲染结果缓存数据。
3.根据权利要求1所述的GPU虚拟化资源限制处理方法,其特征在于,将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作,具体包括:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令欲构建的渲染上下文数量超过预设渲染上下文数量阈值时,通过OpenglES渲染上下文句柄,根据所述预设渲染上下文数量阈值读回不活跃的渲染上下文存储至内存缓存中,并对未被读回的渲染上下文进行渲染操作,同时在判断获知欲对已读回的渲染上下文使用时,通过读取内存缓存中的渲染上下文将内存缓存中的渲染上下文恢复并在GPU中构建该渲染上下文,在恢复渲染上下文时,若恢复出的渲染上下文数量超过预设渲染上下文数量阈值,则需要重新从恢复出的渲染上下文中读回不活跃的渲染上下文并对未被读回的渲染上下文进行渲染操作。
4.根据权利要求1所述的GPU虚拟化资源限制处理方法,其特征在于,所述捕获虚拟化渲染指令,具体包括:
捕获云操作系统和/或客户端对GPU用户态驱动和OpenglES动态库调用的虚拟化渲染指令。
5.一种GPU虚拟化资源限制处理装置,其特征在于,包括:
捕获模块,用于捕获虚拟化渲染指令;
处理模块,用于将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器根据虚拟化渲染资源限制策略调用物理GPU资源执行渲染操作;
其中,所述OpenglES渲染器运行在独立于虚拟化引擎进程外的进程中,所述虚拟化渲染资源限制策略预先设置在所述OpenglES渲染器中。
6.根据权利要求5所述的GPU虚拟化资源限制处理装置,其特征在于,所述处理模块,具体用于:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令所需的渲染流量是否超过预设渲染流量阈值时,将超过所述预设渲染流量阈值的渲染指令存储至内存缓存中并根据所述预设渲染流量阈值从内存缓存中读取渲染数据流并调用物理GPU资源执行渲染操作,同时将渲染结果进行缓存,否则,根据所述渲染指令所需的渲染流量调用物理GPU资源执行渲染操作,并将渲染结果进行缓存;
接收所述OpenglES渲染器按照预设渲染结果回传流量阈值发送的渲染结果缓存数据。
7.根据权利要求5所述的GPU虚拟化资源限制处理装置,其特征在于,所述处理模块,具体用于:
将所述虚拟化渲染指令发送给OpenglES渲染器,使得所述OpenglES渲染器在判断获知所述虚拟化渲染指令欲构建的渲染上下文数量超过预设渲染上下文数量阈值时,通过OpenglES渲染上下文句柄,根据所述预设渲染上下文数量阈值读回不活跃的渲染上下文存储至内存缓存中,并对未被读回的渲染上下文进行渲染操作,同时在判断获知欲对已读回的渲染上下文使用时,通过读取内存缓存中的渲染上下文将内存缓存中的渲染上下文恢复并在GPU中构建该渲染上下文,在恢复渲染上下文时,若恢复出的渲染上下文数量超过预设渲染上下文数量阈值,则需要重新从恢复出的渲染上下文中读回不活跃的渲染上下文并对未被读回的渲染上下文进行渲染操作。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述GPU虚拟化资源限制处理方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述GPU虚拟化资源限制处理方法的步骤。
10.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求1至4任一项所述GPU虚拟化资源限制处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010034040.3A CN111274044B (zh) | 2020-01-13 | 2020-01-13 | Gpu虚拟化资源限制处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010034040.3A CN111274044B (zh) | 2020-01-13 | 2020-01-13 | Gpu虚拟化资源限制处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274044A true CN111274044A (zh) | 2020-06-12 |
CN111274044B CN111274044B (zh) | 2023-08-15 |
Family
ID=70996882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010034040.3A Active CN111274044B (zh) | 2020-01-13 | 2020-01-13 | Gpu虚拟化资源限制处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274044B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112967171A (zh) * | 2021-03-15 | 2021-06-15 | 深圳市瑞驰信息技术有限公司 | 一种基于arm架构实现gpu虚拟化的系统及方法 |
CN113838180A (zh) * | 2020-06-24 | 2021-12-24 | 华为技术有限公司 | 一种渲染指令处理方法及其相关设备 |
WO2023279993A1 (zh) * | 2021-07-09 | 2023-01-12 | 北京字节跳动网络技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495769A (zh) * | 2010-09-30 | 2012-06-13 | 微软公司 | 动态虚拟设备故障恢复 |
US20130210522A1 (en) * | 2012-01-12 | 2013-08-15 | Ciinow, Inc. | Data center architecture for remote graphics rendering |
CN105653099A (zh) * | 2016-03-01 | 2016-06-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种反馈触摸屏按压力度的方法及装置 |
CN110062924A (zh) * | 2016-12-12 | 2019-07-26 | 亚马逊科技公司 | 用于虚拟化图形处理的容量预留 |
US20190347315A1 (en) * | 2018-05-08 | 2019-11-14 | International Business Machines Corporation | Methods and systems for rendering web pages with restricted features |
-
2020
- 2020-01-13 CN CN202010034040.3A patent/CN111274044B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495769A (zh) * | 2010-09-30 | 2012-06-13 | 微软公司 | 动态虚拟设备故障恢复 |
US20130210522A1 (en) * | 2012-01-12 | 2013-08-15 | Ciinow, Inc. | Data center architecture for remote graphics rendering |
CN105653099A (zh) * | 2016-03-01 | 2016-06-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种反馈触摸屏按压力度的方法及装置 |
CN110062924A (zh) * | 2016-12-12 | 2019-07-26 | 亚马逊科技公司 | 用于虚拟化图形处理的容量预留 |
US20190347315A1 (en) * | 2018-05-08 | 2019-11-14 | International Business Machines Corporation | Methods and systems for rendering web pages with restricted features |
Non-Patent Citations (2)
Title |
---|
吴晓瑜;宋倩倩;: "基于云计算的分布式视频渲染服务平台" * |
李泊文;吴冰;黄陈;: "流量计仿真教学系统开发" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113838180A (zh) * | 2020-06-24 | 2021-12-24 | 华为技术有限公司 | 一种渲染指令处理方法及其相关设备 |
CN112967171A (zh) * | 2021-03-15 | 2021-06-15 | 深圳市瑞驰信息技术有限公司 | 一种基于arm架构实现gpu虚拟化的系统及方法 |
WO2023279993A1 (zh) * | 2021-07-09 | 2023-01-12 | 北京字节跳动网络技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111274044B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210109B2 (en) | Method and system for loading resources | |
US11829787B2 (en) | Multi-process model for cross-platform applications | |
US10120705B2 (en) | Method for implementing GPU virtualization and related apparatus, and system | |
CN112257135B (zh) | 一种基于多线程的模型加载方法、装置、存储介质及终端 | |
CN111274044B (zh) | Gpu虚拟化资源限制处理方法及装置 | |
US20220357990A1 (en) | Method for allocating data processing tasks, electronic device, and storage medium | |
KR102466012B1 (ko) | 프로세서 코어를 스케쥴링하는 방법, 장치, 단말 및 저장 매체 | |
KR101394780B1 (ko) | 오버라이딩 가상 함수 호출에 대한 지원을 포함하는 isa 브릿징 | |
CN108235759B (zh) | 基于多操作系统的输入处理方法、装置及电子设备 | |
CN111400000A (zh) | 网络请求处理方法、装置、设备和存储介质 | |
US20220405385A1 (en) | Secure container construction device and method executable by android application, and computer-readable recording medium on which program thereof is recorded | |
WO2019028682A1 (zh) | 一种多系统共享内存的管理方法及装置 | |
WO2023216461A1 (zh) | 一种任务处理的方法、装置以及计算机设备 | |
US11784946B2 (en) | Method for improving data flow and access for a neural network processor | |
CN113535341B (zh) | Linux下CPU核间中断通信的实现方法及装置 | |
CN111258715B (zh) | 多操作系统渲染处理方法及装置 | |
CN114780211B (zh) | 管理安全容器的方法及基于安全容器的系统 | |
CN116244231A (zh) | 一种数据传输方法、装置、系统、电子设备及存储介质 | |
CN115629809A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN114610485A (zh) | 资源处理系统以及方法 | |
CN114385351A (zh) | 云管理平台负载均衡性能优化方法、装置、设备、介质 | |
CN113986466A (zh) | 一种面向云计算的gpu虚拟化系统和方法 | |
CN111857964A (zh) | 一种虚拟机can口数据透传到物理机can口设备的方法和设备 | |
CN110007863B (zh) | 一种基于lib库接口的存储服务访问方法及相关装置 | |
WO2019119438A1 (zh) | 一种操作系统屏幕锁定的方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |