CN115964167A - 异构计算平台的资源池化方法、装置、设备、介质和产品 - Google Patents
异构计算平台的资源池化方法、装置、设备、介质和产品 Download PDFInfo
- Publication number
- CN115964167A CN115964167A CN202211622416.8A CN202211622416A CN115964167A CN 115964167 A CN115964167 A CN 115964167A CN 202211622416 A CN202211622416 A CN 202211622416A CN 115964167 A CN115964167 A CN 115964167A
- Authority
- CN
- China
- Prior art keywords
- resource pool
- resource
- resource block
- user program
- gpu
- 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
Images
Classifications
-
- 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
- Stored Programmes (AREA)
Abstract
本公开涉及一种异构计算平台的资源池化方法、装置、设备、介质和产品。所述异构计算平台包括CPU和GPU,所述方法包括:响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块;控制所述第一用户程序基于所述第一资源池运行。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种异构计算平台的资源池化方法、异构计算平台的资源池化装置、电子设备、存储介质和程序产品。
背景技术
目前,GPU(Graphics Processing Unit,图形处理器)一般对于图形处理(graphic)和通用计算(compute)较为割裂,即,一款GPU对于图形处理或通用计算通常有较强的侧重点,一般分为偏重图形处理的图形GPU和偏重通用计算的GPGPU(General PurposeGraphics Processing Unit,通用图形处理器)。并且,图形处理和通用计算的技术栈的区别较大,因此,对于资源管理的要求的差异也较大。相关技术中,若在使用图形处理功能的同时,使用GPU做通用计算,则将使图形处理和通用计算的资源使用产生风险和冲突。
发明内容
本公开提供了一种异构计算平台的资源池化技术方案。
根据本公开的一方面,提供了一种异构计算平台的资源池化方法,所述异构计算平台包括CPU和GPU,所述方法包括:
响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块;
控制所述第一用户程序基于所述第一资源池运行。
在一种可能的实现方式中,所述第一资源池还包括功能资源块。
在一种可能的实现方式中,所述第一资源池包括第一下层资源池和至少一个第一上层资源池,所述第一下层资源池包括所述GPU端内存资源块和所述CPU端内存资源块,所述第一上层资源池包括所述功能资源块。
在一种可能的实现方式中,所述方法还包括:
响应于所述第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,且所述GPU端内存资源块和所述GPU端内存资源块的任一邻居GPU端内存资源块处于空闲状态,合并所述GPU端内存资源块与所述邻居GPU端内存资源块;
和/或,
响应于所述第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,且所述CPU端内存资源块和所述CPU端内存资源块的任一邻居CPU端内存资源块处于空闲状态,合并所述CPU端内存资源块与所述邻居CPU端内存资源块。
在一种可能的实现方式中,所述方法还包括:
响应于所述第一用户程序关闭,销毁所述第一资源池,释放所述第一资源池中的资源块。
在一种可能的实现方式中,所述方法还包括:
响应于所述第一用户程序调用第二用户程序提供的应用程序编程接口,获取所述第二用户程序对应的第二资源池中的资源块的句柄,以基于所述句柄使用所述第二资源池。
在一种可能的实现方式中,所述方法还包括:
响应于所述第一用户程序关闭,断开与所述第二资源池的连接。
在一种可能的实现方式中,所述方法还包括:
根据所述第一资源池中的资源块的使用率,对所述第一资源池进行扩容或者减容。
根据本公开的一方面,提供了一种异构计算平台的资源池化装置,所述异构计算平台包括CPU和GPU,所述装置包括:
创建模块,用于响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块;
控制模块,用于控制所述第一用户程序基于所述第一资源池运行。
在一种可能的实现方式中,所述第一资源池还包括功能资源块。
在一种可能的实现方式中,所述第一资源池包括第一下层资源池和至少一个第一上层资源池,所述第一下层资源池包括所述GPU端内存资源块和所述CPU端内存资源块,所述第一上层资源池包括所述功能资源块。
在一种可能的实现方式中,所述装置还包括合并模块,所述合并模块用于:
响应于所述第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,且所述GPU端内存资源块和所述GPU端内存资源块的任一邻居GPU端内存资源块处于空闲状态,合并所述GPU端内存资源块与所述邻居GPU端内存资源块;
和/或,
响应于所述第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,且所述CPU端内存资源块和所述CPU端内存资源块的任一邻居CPU端内存资源块处于空闲状态,合并所述CPU端内存资源块与所述邻居CPU端内存资源块。
在一种可能的实现方式中,所述装置还包括:
销毁和释放模块,用于响应于所述第一用户程序关闭,销毁所述第一资源池,释放所述第一资源池中的资源块。
在一种可能的实现方式中,所述装置还包括:
调用管理模块,用于响应于所述第一用户程序调用第二用户程序提供的应用程序编程接口,获取所述第二用户程序对应的第二资源池中的资源块的句柄,以基于所述句柄使用所述第二资源池。
在一种可能的实现方式中,所述装置还包括:
断开模块,用于响应于所述第一用户程序关闭,断开与所述第二资源池的连接。
在一种可能的实现方式中,所述装置还包括:
容量管理模块,用于根据所述第一资源池中的资源块的使用率,对所述第一资源池进行扩容或者减容。
根据本公开的一方面,提供了一种电子设备,包括:一个或多个处理器;用于存储可执行指令的存储器;其中,所述一个或多个处理器被配置为调用所述存储器存储的可执行指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
根据本公开的一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
在本公开实施例中,通过响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块,并控制所述第一用户程序基于所述第一资源池运行,由此通过第一用户程序对应的第一资源池,对分配给第一用户程序的GPU端内存和CPU端内存进行统一管理,从而能够实现通用计算与图形处理之间的交互。例如,计算运行时(Compute Runtime)中可以调用图形处理API(例如纹理API等)进行加速,图形处理运行时(Graphics Runtime)中可以调用通用计算API进行加速运算,而不会导致图形处理与通用计算的资源使用产生冲突,进而能够提高第一用户程序运行的稳定性。并且,通过采用第一资源池,由此无需频繁向操作系统申请释放内存,从而能够提高第一用户程序运行的效率,并能够减少相关技术中因频繁申请释放物理内存而导致的内存碎片。对于计算密集型的用户程序而言,采用本公开实施例提供的异构计算平台的资源池化方法能够较大程度地提高运行效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出本公开实施例提供的异构计算平台的资源池化方法的流程图。
图2示出本公开实施例提供的异构计算平台的资源池化方法的一示意图。
图3示出本公开实施例提供的异构计算平台的资源池化装置的框图。
图4示出本公开实施例提供的电子设备1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
相关技术中,通常分开管理GPU端内存(即显存)和CPU(Central ProcessingUnit,中央处理器)端内存,且对图形处理和通用计算分开管理。另外,许多运行时(runtime)驱动中的管理模块会同时申请CPU端内存和GPU端内存。若在使用图形处理功能的同时,使用GPU做通用计算,则将使图形处理和通用计算的资源使用产生风险和冲突。
另外,在相关技术中,用户程序在每次调用运行时API(Application ProgrammingInterface,应用程序并接口)时,驱动都会即时申请所需的CPU端内存和GPU端内存,因此,API调用的延时包括申请CPU端内存和GPU端内存所需的时间。
本公开实施例提供了一种异构计算平台的资源池化方法,通过响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块,并控制所述第一用户程序基于所述第一资源池运行,由此通过第一用户程序对应的第一资源池,对分配给第一用户程序的GPU端内存和CPU端内存进行统一管理,从而能够实现通用计算与图形处理之间的交互。例如,计算运行时(ComputeRuntime)中可以调用图形处理API(例如纹理API等)进行加速,图形处理运行时(GraphicsRuntime)中可以调用通用计算API进行加速运算,而不会导致图形处理与通用计算的资源使用产生冲突,进而能够提高第一用户程序运行的稳定性。并且,通过采用第一资源池,由此无需频繁向操作系统申请释放内存,从而能够提高第一用户程序运行的效率,并能够减少相关技术中因频繁申请释放物理内存而导致的内存碎片。对于计算密集型的用户程序而言,采用本公开实施例提供的异构计算平台的资源池化方法能够较大程度地提高运行效率。
下面结合附图对本公开实施例提供的异构计算平台的资源池化方法进行详细的说明。
图1示出本公开实施例提供的异构计算平台的资源池化方法的流程图。所述异构计算平台包括CPU(Central Processing Unit,中央处理器)和GPU(Graphics ProcessingUnit,图形处理器)。其中,GPU可以提供图形处理API(Application ProgrammingInterface,应用程序并接口)和通用计算API。在一种可能的实现方式中,所述异构计算平台的资源池化方法的执行主体可以是异构计算平台的资源池化装置,例如,所述异构计算平台的资源池化方法可以由终端设备或服务器或其它电子设备执行。其中,终端设备可以是用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备或者可穿戴设备等。在一些可能的实现方式中,所述异构计算平台的资源池化方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,所述异构计算平台的资源池化方法包括步骤S11至步骤S12。
在步骤S11中,响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块。
在步骤S12中,控制所述第一用户程序基于所述第一资源池运行。
在本公开实施例中,第一用户程序可以为任意用户程序。第一资源池可以表示第一用户程序对应的资源池。第一用户程序对应的第一资源池的数量可以为一个或两个以上。第一资源池可以包括多个资源块,其中,资源块可以至少包括内存资源块,内存资源块包括GPU端内存资源块和CPU端内存资源块。其中,GPU端内存也可以称为显存,CPU端内存也可以称为内存。
在本公开实施例中,第一资源池可以响应于第一用户程序启动而创建。另外,还可以响应于第一用户程序启动,创建第一用户程序的上下文。
在一种可能的实现方式中,可以对第一资源池中的资源块进行权限设置,以提高安全性。
在一种可能的实现方式中,所述第一资源池还包括功能资源块。
其中,功能资源可以表示能够实现一种或两种以上功能的资源。
例如,功能资源块可以包括事件对象、纹理对象、数组对象等中的至少之一。
在该实现方式中,通过第一资源池管理分配给第一用户程序的功能资源,由此第一用户程序无需频繁向操作系统申请释放功能资源,从而能够提高第一用户程序运行的效率。
作为该实现方式的一个示例,所述第一资源池包括第一下层资源池和至少一个第一上层资源池,所述第一下层资源池包括所述GPU端内存资源块和所述CPU端内存资源块,所述第一上层资源池包括所述功能资源块。
在该示例中,第一下层资源池可以表示第一用户程序对应的下层资源池,第一上层资源池可以表示第一用户程序对应的上层资源池。在一些应用场景中,下层资源池也可以称为内存资源池,上层资源池也可以称为功能资源池,在此不做限定。
在该示例中,在第一用户程序启动后,可以通过GPU驱动创建第一下层资源池,以通过第一下层资源池对分配给所述第一用户程序的GPU端内存和CPU端内存进行统一管理。其中,第一下层资源池中的内存资源块的数量和容量,可以根据第一用户程序的实际情况灵活设置。
在第一下层资源池创建完成后,可以创建至少一个第一上层资源池,以通过至少一个第一上层资源池对运行时(runtime)中的资源进行池化管理。例如,第一上层资源池可以包括事件(event)资源池、纹理(texture)资源池、数组(array)资源池、显示(display)资源池等,在此不做限定。其中,事件资源池也可以称为事件池,且事件资源池中的功能资源块可以为事件对象;纹理资源池也可以称为纹理池,且纹理资源池中的功能资源块可以为纹理对象;数组资源池也可以称为数组池,且数组资源池中的功能资源块可以为数组对象;显示资源池也可以称为显示池,且显示资源池中的功能资源块可以为显示对象(即display对象)。其中,第一上层资源池所需的内存资源从第一下层资源池中获取。
上层资源池的类型可以根据需求进行扩充,在此不做限定。
其中,第一上层资源池的初始化的过程可以由GPU驱动定义。GPU驱动定义的初始化过程可以将第一上层资源池中的功能资源块内的变量赋初始值,也可以执行自定义的构造方法。
在第一上层资源池初始化后,第一上层资源池中的各个功能资源块均处为未使用状态,即,第一上层次中的各个功能资源块的使用状态均为可用。可以响应于第一用户程序调用接口使用功能资源块,从第一上层资源池中获取合适的功能资源块返回给第一用户程序,并可以将该功能资源块的使用状态更改为使用中。例如,可以采用标志位标记功能资源块的使用状态。例如,可以采用1表示资源块为使用中,采用0表示资源块可用。
在该示例中,通过响应于第一用户程序启动,创建所述第一用户程序对应的第一下层资源池和至少一个第一上层资源池,其中,所述第一下层资源池包括GPU端内存资源块和CPU端内存资源块,所述第一上层资源池包括功能资源块,并控制所述第一用户程序基于所述第一下层资源池和至少一个所述第一上层资源池运行,由此通过第一用户程序对应的第一下层资源池,对分配给第一用户程序的GPU端内存和CPU端内存进行统一管理,从而能够实现通用计算与图形处理之间的交互,且无需频繁向操作系统申请释放内存,从而能够提高第一用户程序运行的效率,并能够减少相关技术中因频繁申请释放物理内存而导致的内存碎片。通过第一用户程序对应的至少一个第一上层资源池对分配给第一用户程序的功能资源块进行管理,由此第一用户程序无需频繁向操作系统申请释放功能资源,从而能够提高第一用户程序运行的效率。
在本公开实施例中,第一用户程序基于第一资源池运行。例如,第一用户程序可以基于第一下层资源池和至少一个第一上层资源池运行。
在一种可能的实现方式中,在第一用户程序调用销毁(destroy)接口销毁资源块时,可以将指定销毁的资源块放回第一资源池中。例如,在第一用户程序调用销毁接口销毁内存资源块时,可以将指定销毁的内存资源块放回第一下层资源池中。又如,在第一用户程序调用销毁接口销毁功能资源块时,可以将指定销毁的功能资源块放回其所属的第一上层资源池中。
在一种可能的实现方式中,可以设计异步的销毁接口。配合第一资源池,该异步的销毁接口可以用于将指定销毁的资源块标注为销毁中状态,之后马上返回。资源块销毁的收尾工作可以在后台进行,这使得销毁过程可以很快返回并交还CPU执行权。
其中,在资源块销毁的过程中,可以对资源块进行重新初始化,以便后续使用。并且,在资源块销毁的过程中,多余的内存可以回归第一下层资源池。
在一种可能的实现方式中,所述方法还包括:响应于所述第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,且所述GPU端内存资源块和所述GPU端内存资源块的任一邻居GPU端内存资源块处于空闲状态,合并所述GPU端内存资源块与所述邻居GPU端内存资源块;和/或,响应于所述第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,且所述CPU端内存资源块和所述CPU端内存资源块的任一邻居CPU端内存资源块处于空闲状态,合并所述CPU端内存资源块与所述邻居CPU端内存资源块。
在该实现方式中,第一预设容量与第二预设容量可以相同或不同。
在该实现方式中,若第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,则可以将所述GPU端内存资源块与所述GPU端内存资源块的邻居GPU端内存资源块合并。若第一资源池中的任一GPU端内存资源块的容量大于第一预设容量,则可以将所述GPU端内存资源块作为一个独立的GPU端内存资源块。小于或等于第一预设容量的GPU端内存资源块可以与独立的GPU端内存资源块合并。
在该实现方式中,若第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,则可以将所述CPU端内存资源块与所述CPU端内存资源块的邻居CPU端内存资源块合并。若第一资源池中的任一CPU端内存资源块的容量大于第二预设容量,则可以将所述CPU端内存资源块作为一个独立的CPU端内存资源块。小于或等于第二预设容量的CPU端内存资源块可以与独立的CPU端内存资源块合并。
相关技术中,当所申请的CPU端内存和GPU端内存无效或无需时,用户程序会调用相应的接口进行释放操作,驱动会即时将其占用的内存释放。此时,如果释放的资源不可被后续操作复用或只能被部分复用,则将产生内存碎片,而内存碎片的增长将会影响用户程序运行的稳定性,并会导致延时增大。
在上述实现方式中,通过响应于所述第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,且所述GPU端内存资源块和所述GPU端内存资源块的任一邻居GPU端内存资源块处于空闲状态,合并所述GPU端内存资源块与所述邻居GPU端内存资源块,由此能够减少GPU端内存碎片,并能够提高第一用户程序运行的稳定性;通过响应于所述第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,且所述CPU端内存资源块和所述CPU端内存资源块的任一邻居CPU端内存资源块处于空闲状态,合并所述CPU端内存资源块与所述邻居CPU端内存资源块,由此能够减少CPU端内存碎片,并能够提高第一用户程序运行的稳定性。
在一种可能的实现方式中,所述方法还包括:根据所述第一资源池中的资源块的使用率,对所述第一资源池进行扩容或者减容。
作为该实现方式的一个示例,可以响应于第一资源池中的资源块的使用率大于或等于第一预设使用率,对第一资源池进行扩容;可以响应于第一资源池中的资源块的使用率小于或等于第二预设使用率,对第一资源池进行减容;其中,第一预设使用率大于第一预设使用率。
例如,可以响应于第一下层资源池中的资源块的使用率大于或等于第一预设使用率,对第一下层资源池进行扩容;可以响应于第一下层资源池中的资源块的使用率小于或等于第二预设使用率,对第一下层资源池进行减容。其中,下层资源池的扩容方式可以为直接扩充或者重新分配一段更大的空间。下层资源池的减容方式可以为直接回收多余部分或者重新分配一段更小的空间。下层资源池的扩容和减容均在内存池中进行,代价较小。
又如,可以响应于任一第一上层资源池中的资源块的使用率大于或等于第一预设使用率,对所述第一上层资源池进行扩容;可以响应于任一第一上层资源池中的资源块的使用率小于或等于第二预设使用率,对所述第一上层资源池进行减容。
作为该实现方式的一个示例,可以周期性地根据所述第一资源池中的资源块的使用率,对所述第一资源池进行扩容或者减容。
在该实现方式中,通过根据所述第一资源池中的资源块的使用率,对所述第一资源池进行扩容或者减容,由此能够实现资源池的动态调整,从而能够提高资源的利用率。另外,对第一资源池进行扩容或者减容是在后台完成的,用户无感知。
在一种可能的实现方式中,所述方法还包括:响应于所述第一用户程序关闭,销毁所述第一资源池,释放所述第一资源池中的资源块。
在该实现方式中,可以在第一用户程序终止或者第一用户程序对应的上下文销毁时,确定第一用户程序关闭,并触发第一资源池的销毁流程。
作为该实现方式的一个示例,可以响应于第一用户程序关闭,销毁第一上层资源池,以释放功能资源块,并在第一上层资源池销毁完成后,销毁第一下层资源池,以释放GPU端内存资源块和CPU端内存资源块。
在该实现方式中,通过响应于所述第一用户程序关闭,销毁所述第一资源池,释放所述第一资源池中的资源块,由此能够对第一资源池中的资源进行回收,以便其他用户程序使用。
在一种可能的实现方式中,所述方法还包括:响应于所述第一用户程序调用第二用户程序提供的应用程序编程接口,获取所述第二用户程序对应的第二资源池中的资源块的句柄,以基于所述句柄使用所述第二资源池。
在该实现方式中,第二用户程序与第一用户程序为不同的用户程序。第二用户程序可以提供应用程序编程接口(Application Programming Interface,API)以供其他用户程序调用。第二资源池可以表示第二用户程序对应的资源池。第二用户程序对应的第二资源池的数量可以为一个或两个以上。第二资源池可以包括多个资源块,其中,资源块可以至少包括内存资源块,内存资源块包括GPU端内存资源块和CPU端内存资源块。另外,第二资源池还可以包括功能资源块。
作为该实现方式的一个示例,第二资源池可以包括第二下层资源池和至少一个第二上层资源池,其中,第二下层资源池可以包括GPU端内存资源块和CPU端内存资源块,第二上层资源池可以包括所述功能资源块。
在该实现方式中,在第一用户程序调用第二用户程序提供的API的情况下,可以查询第二资源池中的资源块的使用状态和权限。若第二资源池中的资源块的使用状态为正在使用,且权限为有权使用,则可以获取第二资源池中的资源块的句柄。其中,对于第二资源池中的内存资源块,可以映射为共享内存。
在该实现方式中,通过响应于所述第一用户程序调用第二用户程序提供的应用程序编程接口,获取所述第二用户程序对应的第二资源池中的资源块的句柄,由此第一用户程序能够基于所述句柄使用所述第二资源池。
作为该实现方式的一个示例,所述方法还包括:响应于所述第一用户程序关闭,断开与所述第二资源池的连接。在该示例中,任一资源池在所述资源池对应的用户程序关闭时销毁。对于第一用户程序调用的API对应的资源池,则可以采用断开连接的方式。
下面通过一个具体的应用场景说明本公开实施例提供的异构计算平台的资源池化方法。图2示出本公开实施例提供的异构计算平台的资源池化方法的一示意图。
在该应用场景中,资源管理模块可以响应于第二用户程序启动,通过GPU驱动创建第二下层资源池,其中,第二下层资源池包括GPU端内存资源块和CPU端内存资源块。在第二下层资源池创建完成后,资源管理模块可以创建至少一个第二上层资源池。例如,可以创建纹理池、显示池等。其中,任一第二上层资源池包括多个功能资源块。第二用户程序可以提供图形处理API。
在该应用场景中,资源管理模块可以响应于第一用户程序启动,通过GPU驱动创建第一下层资源池,其中,第一下层资源池包括GPU端内存资源块和CPU端内存资源块。在第一下层资源池创建完成后,资源管理模块可以创建至少一个第一上层资源池。例如,可以创建数组池、事件池等。其中,任一第一上层资源池包括多个功能资源块。第一用户程序可以提供通用计算API。并且,资源管理模块可以响应于第一用户程序调用第二用户程序提供的图形处理API,获取第二用户程序对应的第二资源池(包括第二下层资源池和第二上层资源池)中的资源块的句柄,以使第一用户程序基于所述句柄使用第二资源池。
在该应用场景中,第一上层资源池的初始化的过程可以由GPU驱动定义。在第一上层资源池初始化后,第一上层资源池中的各个功能资源块均处为未使用状态。资源管理模块可以响应于第一用户程序调用接口使用功能资源块,从第一上层资源池中获取合适的功能资源块返回给第一用户程序。
在第一用户程序调用销毁接口销毁资源块时,资源管理模块可以将指定销毁的资源块放回第一资源池中。例如,在第一用户程序调用销毁接口销毁内存资源块时,资源管理模块可以将指定销毁的内存资源块放回第一下层资源池中。又如,在第一用户程序调用销毁接口销毁功能资源块时,资源管理模块可以将指定销毁的功能资源块放回其所属的第一上层资源池中。
在第一用户程序运行的过程中,资源管理模块可以根据第一资源池中的资源块的使用率,对第一资源池进行扩容或者减容。
另外,资源管理模块可以响应于第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,且所述GPU端内存资源块和所述GPU端内存资源块的任一邻居GPU端内存资源块处于空闲状态,合并所述GPU端内存资源块与所述邻居GPU端内存资源块,并且,资源管理模块可以响应于第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,且所述CPU端内存资源块和所述CPU端内存资源块的任一邻居CPU端内存资源块处于空闲状态,合并所述CPU端内存资源块与所述邻居CPU端内存资源块。
资源管理模块可以响应于第一用户程序关闭,销毁第一资源池,释放第一资源池中的资源块,并断开与第二资源池的连接。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了异构计算平台的资源池化装置、电子设备、计算机可读存储介质、计算机程序产品,上述均可用来实现本公开提供的任一种异构计算平台的资源池化方法,相应技术方案和技术效果可参见方法部分的相应记载,不再赘述。
图3示出本公开实施例提供的异构计算平台的资源池化装置的框图。所述异构计算平台包括CPU和GPU。如图3所示,所述异构计算平台的资源池化装置包括:
创建模块31,用于响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块;
控制模块32,用于控制所述第一用户程序基于所述第一资源池运行。
在一种可能的实现方式中,所述第一资源池还包括功能资源块。
在一种可能的实现方式中,所述第一资源池包括第一下层资源池和至少一个第一上层资源池,所述第一下层资源池包括所述GPU端内存资源块和所述CPU端内存资源块,所述第一上层资源池包括所述功能资源块。
在一种可能的实现方式中,所述装置还包括合并模块,所述合并模块用于:
响应于所述第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,且所述GPU端内存资源块和所述GPU端内存资源块的任一邻居GPU端内存资源块处于空闲状态,合并所述GPU端内存资源块与所述邻居GPU端内存资源块;
和/或,
响应于所述第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,且所述CPU端内存资源块和所述CPU端内存资源块的任一邻居CPU端内存资源块处于空闲状态,合并所述CPU端内存资源块与所述邻居CPU端内存资源块。
在一种可能的实现方式中,所述装置还包括:
销毁和释放模块,用于响应于所述第一用户程序关闭,销毁所述第一资源池,释放所述第一资源池中的资源块。
在一种可能的实现方式中,所述装置还包括:
调用管理模块,用于响应于所述第一用户程序调用第二用户程序提供的应用程序编程接口,获取所述第二用户程序对应的第二资源池中的资源块的句柄,以基于所述句柄使用所述第二资源池。
在一种可能的实现方式中,所述装置还包括:
断开模块,用于响应于所述第一用户程序关闭,断开与所述第二资源池的连接。
在一种可能的实现方式中,所述装置还包括:
容量管理模块,用于根据所述第一资源池中的资源块的使用率,对所述第一资源池进行扩容或者减容。
在本公开实施例中,通过响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块,并控制所述第一用户程序基于所述第一资源池运行,由此通过第一用户程序对应的第一资源池,对分配给第一用户程序的GPU端内存和CPU端内存进行统一管理,从而能够实现通用计算与图形处理之间的交互。例如,计算运行时中可以调用图形处理API(例如纹理API等)进行加速,图形处理运行时中可以调用通用计算API进行加速运算,而不会导致图形处理与通用计算的资源使用产生冲突,进而能够提高第一用户程序运行的稳定性。并且,通过采用第一资源池,由此无需频繁向操作系统申请释放内存,从而能够提高第一用户程序运行的效率,并能够减少相关技术中因频繁申请释放物理内存而导致的内存碎片。对于计算密集型的用户程序而言,采用本公开实施例提供的异构计算平台的资源池化装置能够较大程度地提高运行效率。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现和技术效果可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。其中,所述计算机可读存储介质可以是非易失性计算机可读存储介质,或者可以是易失性计算机可读存储介质。
本公开实施例还提出一种计算机程序,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
本公开实施例还提供一种电子设备,包括:一个或多个处理器;用于存储可执行指令的存储器;其中,所述一个或多个处理器被配置为调用所述存储器存储的可执行指令,以执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图4示出本公开实施例提供的电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图4,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
若本公开实施例的技术方案涉及个人信息,应用本公开实施例的技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本公开实施例的技术方案涉及敏感个人信息,应用本公开实施例的技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (12)
1.一种异构计算平台的资源池化方法,其特征在于,所述异构计算平台包括CPU和GPU,所述方法包括:
响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块;
控制所述第一用户程序基于所述第一资源池运行。
2.根据权利要求1所述的方法,其特征在于,所述第一资源池还包括功能资源块。
3.根据权利要求2所述的方法,其特征在于,所述第一资源池包括第一下层资源池和至少一个第一上层资源池,所述第一下层资源池包括所述GPU端内存资源块和所述CPU端内存资源块,所述第一上层资源池包括所述功能资源块。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括:
响应于所述第一资源池中的任一GPU端内存资源块的容量小于或等于第一预设容量,且所述GPU端内存资源块和所述GPU端内存资源块的任一邻居GPU端内存资源块处于空闲状态,合并所述GPU端内存资源块与所述邻居GPU端内存资源块;
和/或,
响应于所述第一资源池中的任一CPU端内存资源块的容量小于或等于第二预设容量,且所述CPU端内存资源块和所述CPU端内存资源块的任一邻居CPU端内存资源块处于空闲状态,合并所述CPU端内存资源块与所述邻居CPU端内存资源块。
5.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括:
响应于所述第一用户程序关闭,销毁所述第一资源池,释放所述第一资源池中的资源块。
6.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括:
响应于所述第一用户程序调用第二用户程序提供的应用程序编程接口,获取所述第二用户程序对应的第二资源池中的资源块的句柄,以基于所述句柄使用所述第二资源池。
7.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于所述第一用户程序关闭,断开与所述第二资源池的连接。
8.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括:
根据所述第一资源池中的资源块的使用率,对所述第一资源池进行扩容或者减容。
9.一种异构计算平台的资源池化装置,其特征在于,所述异构计算平台包括CPU和GPU,所述装置包括:
创建模块,用于响应于第一用户程序启动,创建所述第一用户程序对应的第一资源池,其中,所述第一资源池包括GPU端内存资源块和CPU端内存资源块;
控制模块,用于控制所述第一用户程序基于所述第一资源池运行。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
用于存储可执行指令的存储器;
其中,所述一个或多个处理器被配置为调用所述存储器存储的可执行指令,以执行权利要求1至8中任意一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。
12.一种计算机程序产品,其特征在于,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求1至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211622416.8A CN115964167B (zh) | 2022-12-16 | 2022-12-16 | 异构计算平台的资源池化方法、装置、设备、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211622416.8A CN115964167B (zh) | 2022-12-16 | 2022-12-16 | 异构计算平台的资源池化方法、装置、设备、介质和产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115964167A true CN115964167A (zh) | 2023-04-14 |
CN115964167B CN115964167B (zh) | 2023-09-01 |
Family
ID=87358104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211622416.8A Active CN115964167B (zh) | 2022-12-16 | 2022-12-16 | 异构计算平台的资源池化方法、装置、设备、介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964167B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692751A (zh) * | 2023-08-02 | 2024-03-12 | 上海荣耀智慧科技开发有限公司 | 一种图像处理方法、终端、存储介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107250980A (zh) * | 2015-03-26 | 2017-10-13 | 英特尔公司 | 具有图形和系统存储器冲突检查的计算方法和设备 |
US20190121674A1 (en) * | 2017-10-20 | 2019-04-25 | EMC IP Holding Company LLC | Method, apparatus and computer program product for allocating processing resource to application |
CN113485832A (zh) * | 2021-07-09 | 2021-10-08 | 支付宝(杭州)信息技术有限公司 | 用于对物理内存池进行分配管理的方法及装置、物理内存池 |
CN114979024A (zh) * | 2022-05-11 | 2022-08-30 | 中国电信股份有限公司 | 算力网络交易方法、装置、计算机可读介质及电子设备 |
CN115202836A (zh) * | 2022-06-15 | 2022-10-18 | 南京云玑信息科技有限公司 | 一种提高gpu利用效率的算力池化系统 |
CN115296994A (zh) * | 2022-08-12 | 2022-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种池化异构计算资源的启动配置方法、装置以及介质 |
CN115421787A (zh) * | 2022-08-26 | 2022-12-02 | 阿里巴巴(中国)有限公司 | 指令执行方法、装置、设备、系统、程序产品及介质 |
-
2022
- 2022-12-16 CN CN202211622416.8A patent/CN115964167B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107250980A (zh) * | 2015-03-26 | 2017-10-13 | 英特尔公司 | 具有图形和系统存储器冲突检查的计算方法和设备 |
US20190121674A1 (en) * | 2017-10-20 | 2019-04-25 | EMC IP Holding Company LLC | Method, apparatus and computer program product for allocating processing resource to application |
CN113485832A (zh) * | 2021-07-09 | 2021-10-08 | 支付宝(杭州)信息技术有限公司 | 用于对物理内存池进行分配管理的方法及装置、物理内存池 |
CN114979024A (zh) * | 2022-05-11 | 2022-08-30 | 中国电信股份有限公司 | 算力网络交易方法、装置、计算机可读介质及电子设备 |
CN115202836A (zh) * | 2022-06-15 | 2022-10-18 | 南京云玑信息科技有限公司 | 一种提高gpu利用效率的算力池化系统 |
CN115296994A (zh) * | 2022-08-12 | 2022-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种池化异构计算资源的启动配置方法、装置以及介质 |
CN115421787A (zh) * | 2022-08-26 | 2022-12-02 | 阿里巴巴(中国)有限公司 | 指令执行方法、装置、设备、系统、程序产品及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692751A (zh) * | 2023-08-02 | 2024-03-12 | 上海荣耀智慧科技开发有限公司 | 一种图像处理方法、终端、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN115964167B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11874919B2 (en) | Hybrid trust execution environment based android security framework, android device equipped with the same and method of executing trust service in android device | |
CN109213611B (zh) | 跨进程通讯方法、装置、终端及存储介质 | |
CN110083399B (zh) | 小程序运行方法、计算机设备及存储介质 | |
WO2013030432A1 (en) | Methods and apparatuses for providing a virtual machine with dynamic assignment of a physical hardware resource | |
CN114418828B (zh) | 显存管理方法、装置、设备、存储介质及程序产品 | |
WO2015085755A1 (zh) | 一种操作系统恢复方法、装置及终端设备 | |
CN116320469B (zh) | 一种虚拟化视频编解码系统及方法、电子设备和存储介质 | |
CN115964167A (zh) | 异构计算平台的资源池化方法、装置、设备、介质和产品 | |
CN111209080A (zh) | 一种图形处理器透传的方法 | |
CN115904761A (zh) | 片上系统、车辆及视频处理单元虚拟化方法 | |
CN113886019B (zh) | 虚拟机创建方法、装置、系统、介质和设备 | |
CN109213591B (zh) | 协程运行栈的分配方法和装置 | |
US10719456B2 (en) | Method and apparatus for accessing private data in physical memory of electronic device | |
CN116610370A (zh) | 一种启动方法、装置、设备及存储介质 | |
US9304874B2 (en) | Virtual machine-guest driven state restoring by hypervisor | |
CN114090090B (zh) | 终端固件的启动方法、装置、电子设备及存储介质 | |
CN108287746B (zh) | 一种对epc网元的虚拟资源扩容或缩容的方法及装置 | |
CN112364343B (zh) | 虚拟机监控器秘密的保护方法、装置和电子设备 | |
CN106203087B (zh) | 注入防护方法、系统、终端以及存储介质 | |
CN115640053A (zh) | 设备启动方法、装置、存储介质及电子设备 | |
CN113515299A (zh) | 软件开发工具包sdk热升级方法、装置、设备及存储介质 | |
KR20180011866A (ko) | 메모리 암호화 제외 방법 및 장치 | |
EP3783484A1 (en) | Data processing method and computer device | |
CN106201508B (zh) | 一种信息显示方法、装置及电子设备 | |
CN115640058B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |