CN115965517A - 图形处理器资源管理方法及装置、电子设备和存储介质 - Google Patents
图形处理器资源管理方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115965517A CN115965517A CN202310028589.5A CN202310028589A CN115965517A CN 115965517 A CN115965517 A CN 115965517A CN 202310028589 A CN202310028589 A CN 202310028589A CN 115965517 A CN115965517 A CN 115965517A
- Authority
- CN
- China
- Prior art keywords
- type
- graphics processor
- working node
- configuration file
- state
- 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
- 238000007726 management method Methods 0.000 title description 23
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000004590 computer program Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 239000003795 chemical substances by application Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101001128505 Homo sapiens Myocardial zonula adherens protein Proteins 0.000 description 1
- 101000842327 Homo sapiens Protein-cysteine N-palmitoyltransferase HHAT-like protein Proteins 0.000 description 1
- 102100030520 Protein-cysteine N-palmitoyltransferase HHAT-like protein Human genes 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
本公开涉及一种图形处理器资源管理方法及装置、电子设备和存储介质,所述方法包括:根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于使工作节点对应至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;获取工作节点对应的至少一种类型的图形处理器资源的状态信息;然后,在所述状态信息满足更新条件的情况下,根据状态信息对当前状态的配置文件进行更新处理,得到更新状态的配置文件;并根据更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,调整工作节点对应的图形处理器资源的类型。本公开实施例可实现提高对图形处理器资源的利用率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种图形处理器资源管理方法及装置、电子设备和存储介质。
背景技术
Kubernetes(简称K8s)是一个开源的、用于管理云平台中多个主机上的容器化的应用,能够方便地管理跨机器进行容器化的应用。随着越来越多的容器化应用程序参与生产,基于Kubernetes以及各种需求的衍生项目和技术架构方案也层出不穷。基于Kubernetes的多集群的统一管理能力,可以实现容器集群的快速部署交付。
其中,Kubernetes集群对中央处理器(Central Processing Unit,CPU)、存储器(Memory)等资源是预配置的,通过配置Kubelet(节点代理,Kubernetes工作节点上的一个代理组件)的参数,工作节点可以预留一部分资源给别的业务,剩余资源留给Kubernetes。对于图形处理器(Graphics Processing Unit,GPU)等一些扩展资源,通常是通过读取工作节点上已经有的设备数量,比如预先配置了各类型的GPU资源的设备,来给Kubernetes集群提供资源。
预配置产生的问题就是工作节点上的资源是有限的,例如对于CPU、存储器等资源,如果资源不够,就无法去创建一个新的工作负载(也称业务负载)。而GPU预配置带来的问题就是可能工作节点上还有足够的GPU资源,但是通过预配置这种机制,由于已预先为工作节点配置了各类型的GPU资源,工作节点上剩余的GPU资源的类型可能会与工作负载需要的GPU类型不同,无法让工作节点上的GPU资源得到充分的利用。
发明内容
本公开提出了一种图形处理器资源管理技术方案。
根据本公开的一方面,提供了一种图形处理器资源管理方法,包括:根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于为所述工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;获取所述工作节点对应的至少一种类型的图形处理器资源的状态信息;在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置。
在一种可能的实现方式中,所述状态信息用于指示所述工作节点对应的每个图形处理器资源的类型和工作状态,所述工作状态包括空闲状态、占用状态,所述在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件,包括:在所述状态信息指示出所述工作节点上存在至少一种第一类型的图形处理器资源处于空闲状态、存在工作负载请求至少一种第二类型的图像处理器资源且所述第二类型的图像处理资源处于占用状态或不存在的情况下,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;所述第一类型和所述第二类型不同;根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,包括:根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源。
在一种可能的实现方式中,所述方法还包括:在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理;所述节点代理用于根据所述类型发生变化的图形处理器资源,为工作负载分配对应类型的图形处理器资源。
在一种可能的实现方式中,所述在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理,包括:在所述工作节点对应的任一类型图形处理器资源增加的情况下,控制所述工作节点开启所述类型的图形处理器资源的设备插件,向所述节点代理上报增加的图形处理器资源的类型。
在一种可能的实现方式中,所述方法还包括:在所述工作节点对应的第三类型图形处理器资源不存在的情况下,利用所述工作节点关闭所述第三类型的图形处理器资源的设备插件。
在一种可能的实现方式中,根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置,包括:根据预设的初始状态的配置文件,确定工作节点的每个图形处理器资源分别对应的驱动程序类型;根据每个图形处理器资源分别对应的驱动程序类型,分别为每个图形处理器资源安装对应的驱动程序,得到所述工作节点对应的不同类型的图形处理器资源。
在一种可能的实现方式中,根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源,包括:根据所述更新状态的配置文件,确定处于空闲状态的所述第一类型的目标图形处理器资源;为所述目标图形处理器资源安装所述第二类型的驱动程序,得到类型转换后的图形处理器资源。
根据本公开的一方面,提供了一种图形处理器资源管理装置,包括:初始化配置模块,用于根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于为所述工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;获取模块,用于获取所述工作节点对应的至少一种类型的图形处理器资源的状态信息;更新模块,在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;重配置模块,用于根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置。
在一种可能的实现方式中,所述状态信息用于指示所述工作节点对应的每个图形处理器资源的类型和工作状态,所述工作状态包括空闲状态、占用状态,所述更新模块用于:在所述状态信息指示出所述工作节点上存在至少一种第一类型的图形处理器资源处于空闲状态、存在工作负载请求至少一种第二类型的图像处理器资源且所述第二类型的图像处理资源处于占用状态或不存在的情况下,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;所述第一类型和所述第二类型不同;所述重配置模块用于:根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将处于空闲状态的图形处理器资源的类型转换为所述第二类型。
在一种可能的实现方式中,所述装置还用于:在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理;所述节点代理用于根据所述类型发生变化的图形处理器资源,为工作负载分配对应类型的图形处理器资源。
在一种可能的实现方式中,所述在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理,包括:在所述工作节点对应的任一类型图形处理器资源增加的情况下,控制所述工作节点开启所述类型的图形处理器资源的设备插件,向所述节点代理上报增加的图形处理器资源的类型。
在一种可能的实现方式中,所述装置还用于:在所述工作节点对应的第三类型图形处理器资源不存在的情况下,利用所述工作节点关闭所述第三类型的图形处理器资源的设备插件。
在一种可能的实现方式中,所述初始化配置模块用于:根据预设的初始状态的配置文件,确定工作节点的每个图形处理器资源分别对应的驱动程序类型;根据每个图形处理器资源分别对应的驱动程序类型,分别为每个图形处理器资源安装对应的驱动程序,得到所述工作节点对应的不同类型的图形处理器资源。
在一种可能的实现方式中,根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将处于空闲状态的图形处理器资源的类型转换为所述第二类型,包括:根据所述更新状态的配置文件,确定处于空闲状态的目标图形处理器资源;为所述目标图形处理器资源安装所述第二类型的驱动程序,得到类型转换后的图形处理器资源。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,可以根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置,所述初始化配置用于为工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;获取工作节点对应的至少一种类型的图形处理器资源的状态信息;然后,在所述状态信息满足更新条件的情况下,根据状态信息对当前状态的配置文件进行更新处理,得到更新状态的配置文件;并根据更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,调整工作节点对应的图形处理器资源的类型。
通过这种方式,兼容了预配制方式(例如初始化配置)管理GPU资源,而且还可以通过监控工作节点的状态信息来进行GPU资源类型的动态调整,有利于当前工作节点根据自动感知到的工作负载的需求,动态的将各类型的GPU资源转换为工作负载需要的GPU资源,提高对GPU资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出相关技术中图形处理器资源管理方法的示意图。
图2示出根据本公开实施例的图形处理器资源管理方法的流程图。
图3示出根据本公开实施例的初始化配置方法的示意图。
图4示出根据本公开实施例的某一工作节点的初始化配置方法的示意图。
图5示出根据本公开实施例的动态发现图形处理器资源的示意图。
图6示出根据本公开实施例的图形处理器资源管理方法的示意图。
图7示出根据本公开实施例的图形处理器资源管理方法的框图。
图8示出根据本公开实施例的一种电路设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出相关技术中图形处理器资源管理方法的示意图。如图1所示,相关技术中采用预配置的方式为Kubernetes集群中的各工作节点分配图形处理器资源。
示例性地,如图1中的11部分所示,在Kubernetes集群中某一工作节点的工作负载需求为物理GPU(pGPU)的情况下,运维人员(Ops)可以在该工作节点对应的GPU显卡中安装GPU驱动程序,例如用户模式驱动程序(User Mode Driver,UMD)、内核模式驱动程序(Kernel Mode Driver,KMD),使工作节点可提供pGPU类型的GPU资源。这样,终端用户就可以创建对应于pGPU类型的工作负载。
其中,驱动程序是一种可以使操作系统/工作节点和GPU显卡可以进行通信的程序,可以相当于GPU硬件的接口,操作系统/工作节点通过这个接口,可控制GPU显卡的工作,例如,KMD可用于提供访问GPU显卡的物理地址,UMD可用于提供与GPU相关的应用程序编程接口(Application Programming Interface,API)支持。
示例性地,如图1中的12部分所示,在Kubernetes集群中某一工作节点的工作负载需求为虚拟GPU(vGPU)的情况下,运维人员(Ops)可以在该工作节点对应的GPU显卡中安装GPU驱动程序,例如内核模式驱动程序(Kernel Mode Driver,KMD),使工作节点可提供vGPU类型的GPU资源。这样,终端用户就可以创建对应于vGPU类型的工作负载。
示例性地,如图1中的13部分所示,在Kubernetes集群中某一工作节点的工作负载需求为GPU直通(GPU Passthrough)的情况下,运维人员(Ops)可以在该工作节点对应的GPU显卡中安装GPU驱动程序,例如虚拟功能输入输出端口-外围设备互联总线驱动程序(Virtual Function Input Output-Peripheral Component Interconnect,VFIO-PCI),使工作节点可提供GPU Passthrough类型的GPU资源。这样,终端用户就可以创建对应于GPUPassthrough类型的工作负载。
示例性地,如图1中的14部分所示,在Kubernetes集群中某一工作节点的工作负载需求为vGPU和GPU Passthrough的情况下,运维人员(Ops)可以在该工作节点对应的GPU显卡中安装GPU驱动程序,例如在一个GPU显卡中安装驱动程序VFIO-PCI,在另一个GPU显卡中安装驱动程序KMD,使工作节点可提供vGPU、GPU Passthrough这两类的GPU资源。这样,终端用户就可以创建对应于vGPU和/或GPU Passthrough类型的工作负载。
由此可知,对于GPU显卡,可以通过对其加载/切换不同的驱动程序来支持不同的业务类型,以满足终端用户创建对应于不同类型的工作负载。然而,如图1所示的通过预配置的方式为Kubernetes集群中的各工作节点分配各类型GPU资源,当业务类型发送变动(或者存在新的业务类型)的情况下,工作节点提供的GPU资源的类型并不可以自动更改,可能会存在工作节点上还有足够的GPU资源,但是工作节点上剩余的GPU资源的类型可能会与工作负载需要的GPU类型不同,无法让工作节点上的GPU资源得到充分的利用。
例如,某个工作节点可提供的pGPU/vGPU/GPU Passthrough三种类型的GPU资源是1:1:1,有三个工作负载如果都是pGPU的话,有两个就没法启动,处于等待中(pending)状态,GPU资源只能用到30%左右,无法让工作节点上的GPU资源得到充分的利用,造成了资源的浪费。
有鉴于此,本公开提出了一种图形处理器资源管理方法,可以根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置,该初始化配置用于为工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;并获取工作节点对应的至少一种类型的图形处理器资源的状态信息;然后,可在所述状态信息满足更新条件的情况下,根据状态信息对当前状态的配置文件进行更新处理,得到更新状态的配置文件;并根据更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,调整工作节点对应的图形处理器资源的类型。
通过这种方式,兼容了预配制方式管理GPU资源,而且还可以通过监控工作节点来进行GPU资源类型的动态调整,有利于当前工作节点可以根据自动感知到的工作负载的需求,动态的将各类型的GPU资源转换为工作负载需要的GPU资源,提高对GPU资源的利用率。
图2示出根据本公开实施例的图形处理器资源管理方法的流程图,如图2所示,所述图形处理器资源管理方法包括:
在步骤S1中,根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于为所述工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器。
在步骤S2中,获取所述工作节点对应的至少一种类型的图形处理器资源的状态信息。
在步骤S3中,在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件。
在步骤S4中,根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置。
在一种可能的实现方式中,本公开实施例的图形处理器资源管理方法可以应用于一个或者多个电子设备中,每个电子设备可看作一个工作节点,所述工作节点是Kubernetes中最小的计算硬件单元,是集群中单个机器的表示。
所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
在一种可能的实现方式中,可以基于Kubernetes集群实现GPU资源管理,所述Kubernetes集群可包括一个或多个工作节点。每个工作节点可以设置一个守护进程(Agent),每个Kubernetes集群可对应一个第一控制器(Operator Controller),该第一控制器可以是设置在Kubernetes集群中任一工作节点中的应用程序。
其中,第一控制器可以是Kubernetes的Operator模式(一种可利用定制资源管理应用及其组件的模式)下的控制器,第一控制器不仅可以根据接收到的初始状态的配置文件,控制每个工作节点的守护进程对该工作节点的GPU资源执行初始化配置;还可以根据工作负载动态修改配置文件,向每个工作节点的守护进程发送控制命令,以控制每个工作节点的守护进程对该工作节点的GPU资源执行重配置,动态调整每个工作节点对应的GPU资源类型。其中,守护进程可以是一种在后台运行的进程,会与第一控制器可进行通信,用于根据第一控制器的指示为工作节点对应的一个或多个GPU安装不同的驱动程序。
在一种可能的实现方式中,在步骤S1中,可以将预设的初始状态的配置文件提供给设置在Kubernetes集群中主工作节点(可以是Kubernetes集群中任一工作节点)中的第一控制器,第一控制器根据接收到的配置文件向设置在各工作节点的守护进程发送控制命令,以使各工作节点的守护进程对工作节点上的GPU资源进行初始化配置。其中,预设的初始状态的配置文件可以是运维人员采用程序语言根据各工作节点的工作负载需求编写的,所述配置文件可用于对工作节点的GPU资源类型进行配置。
图3示出根据本公开实施例的初始化配置方法的示意图,如图3所示,假设某一Kubernetes集群包括工作节点1~工作节点4,可以将预设的初始状态的配置文件提供给Kubernetes集群对应的第一控制器,该第一控制器可以是设置在工作节点1中的应用程序。
第一控制器接收到配置文件,可以根据配置文件的指示,分别控制每个工作节点的守护进程对该工作节点的GPU资源执行初始化配置,例如,控制守护进程1对工作节点1的GPU资源执行初始化配置、控制守护进程2对工作节点2的GPU资源执行初始化配置、控制守护进程3对工作节点3的GPU资源执行初始化配置、控制守护进程4对工作节点4的GPU资源执行初始化配置。
其中,每个工作节点的守护进程可根据第一控制器指示,分别为每个工作节点对应的一个或多个GPU安装不同的驱动程序,使每个工作节点对应至少一种类型的图形处理器资源,所述图形处理器资源的类型可包括虚拟图形处理器(vGPU)、物理图形处理器(pGPU)、图形处理器直通(GPU Passthrough)等,本公开对此不作限制。
在实际的应用过程中,各工作节点的工作负载的类型会随着业务需求的变化而变化,比如,在对某个工作节点初始化配置后,该工作节点可提供的pGPU/vGPU/GPUPassthrough三种类型的GPU资源是1:1:1,当该工作节点对应的业务需求发生变动,当三个工作负载如果都变成pGPU的话,会存在两个工作负载没法启动,而vGPU类型和GPUPassthrough类型的GPU资源闲置。
在这种情况下,为了可以根据工作负载动态调整GPU资源类型,可以在步骤S2中,获取工作节点对应的每种类型的GPU资源的状态信息,以便于后续可以根据工作节点的各类型的GPU资源的状态信息,对GPU资源进行动态调整。其中,所述状态信息可用于指示所述工作节点对应的每个图形处理器资源的类型和工作状态,所述工作状态包括占用状态、空闲状态。
例如,假设当前工作节点可提供pGPU/vGPU/GPU Passthrough三种类型的GPU资源是1:1:1,当前工作节点待处理的三个工作负载如果都是pGPU类型,该工作节点的状态信息就可以指出该工作节点包括3个类型的GPU资源,pGPU类型的GPU资源处于占用状态,vGPU和GPU Passthrough类型的GPU资源处于空闲状态。
在步骤S3中,在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件。
示例性地,在步骤S2获取到的状态信息满足更新条件的情况下,如图3所示的第一控制器,可以根据状态信息修改配置文件的参数,得到更新状态的配置文件。例如,假设更新前的配置文件的内容是指示守护进程分别为工作节点对应的芯片GUP1~GPU3分别安装对应于pGPU/vGPU/GPU Passthrough三种类型的驱动程序,在状态信息指示出当前的工作节点上vGPU和GPU Passthrough这两种类型的图形处理器资源处于空闲状态、pGPU类型的图形处理器资源处于占用状态,且存在工作负载请求pGPU类型的图像处理器资源,而当前的工作节点由于没有空闲的pGPU类型的图像处理器资源,无法为工作负载提供pGPU类型的图像处理器资源。在这种情况下的状态信息满足更新条件,可响应于状态信息满足更新条件,第一控制器可以根据状态信息修改配置文件的参数,得到更新状态的配置文件,更新后的配置文件可以用于将对应于vGPU和GPU Passthrough这两种类型的驱动程序,均修改为对应于pGPU类型的驱动程序。
在步骤S4中,可以参照图3初始化配置的方式,对工作节点上的GPU资源进行重配置,以调整所述工作节点对应的图形处理器资源的类型。例如,第一控制器可以根据更新状态的配置文件的指示,控制该工作节点的守护进程对该工作节点中需要发生变动的GPU显卡安装更新后的驱动程序,以实现对工作节点上的GPU资源进行重配置。这样,在初始化配置之后,工作节点可根据实际的工作负载,为其动态的提供GPU资源,可以在pGPU/vGPU/GPUPassthrough三种类型的GPU资源之间进行动态切换,提高各工作节点的GPU资源利用率。
通过这种方式,兼容了预配制方式管理GPU资源,而且还可以通过监控工作节点来进行GPU资源类型的动态调整,使当前工作节点可以自动感知工作负载的需求,动态的将各类型的GPU资源转换为工作负载需要的GPU资源,提高对GPU资源的利用率。
下面对本公开实施例的图形处理器资源管理方法进行展开说明。
在步骤S1中,根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于为所述工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器。
在一种可能的实现方式中,根据预设的初始状态的配置文件,确定工作节点的每个图形处理器资源分别对应的驱动程序类型;根据每个图形处理器资源分别对应的驱动程序类型,分别为每个图形处理器资源安装对应的驱动程序,得到所述工作节点对应的不同类型的图形处理器资源。
图4示出根据本公开实施例的某一工作节点的初始化配置方法的示意图,如图4所示,运维人员可以根据用户对工作节点的需求,采用YAML(Yet Another Markup Language)语言编写配置文件,该配置文件也即预设的初始状态的配置文件;然后,运维人员可以将这个YAML语言格式的配置文件提供给第一控制器,第一控制器可以根据配置文件的指示,确定工作节点的每个GPU资源分别对应的驱动程序类型,例如,芯片GPU1对应驱动程序VFIO-PCI、芯片GPU2对应驱动程序KMD、芯片GPU3对应驱动程序KMD。
然后,第一控制器可以控制该工作节点的守护进程对该工作节点对应的GPU显卡安装驱动程序。例如,可以在芯片GPU1中安装驱动程序VFIO-PCI,用于驱动芯片GPU1,为该工作节点提供GPU Passthrough类型的GPU资源;可以在芯片GPU2和GPU3中分别安装驱动程序KMD,用于驱动芯片GPU2和GPU3,为该工作节点提供vGPU类型的GPU资源。这样,该工作节点可对应两种类型的GPU资源(vGPU和GPU Passthrough),终端用户可创建与这两种类型对应的工作负载。
通过这种方式,可以利用配置文件,高效快速地实现对工作节点上的GPU资源的初始化配置。
在步骤S1根据预设的初始状态的配置文件对工作节点上的图形处理器资源进行初始化配置后,可在步骤S2中,获取工作节点对应的至少一种类型的图形处理器资源的状态信息,并在步骤S3中,在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件。
在一种可能的实现方式中,步骤S3可包括:在所述状态信息指示出所述工作节点上存在至少一种第一类型的图形处理器资源处于空闲状态、存在工作负载请求至少一种第二类型的图像处理器资源且所述第二类型的图像处理资源处于占用状态或不存在的情况下,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;所述第一类型和所述第二类型不同,本公开对第一类型、第二类型可包括的类型种类与类型数量不作限制。
示例性地,假设以第一类型包括vGPU类型,第二类型包括GPU Passthrough类型为例,某一工作节点上有三张GPU显卡,其中有两张绑定了对应vGPU类型的驱动程序KMD,具有提供vGPU资源的能力;另外一张绑定了对应GPU Passthrough类型的驱动程序VFIO-PCI,具有提供GPU Passthrough资源的能力。工作节点的状态信息如果指示出:GPU Passthrough类型的GPU显卡已经被占用(或者不存在GPU Passthrough类型的GPU显卡),vGPU类型的两张GPU显卡处于空闲状态,并检测到用户又创建了一个新的请求GPU Passthrough类型的GPU显卡的工作负载。
在此情况下,当前的工作节点没有空闲的GPU Passthrough类型的GPU显卡,无法为用户创建的工作负载提供GPU Passthrough类型的GPU显卡,而工作节点上的其他vGPU类型的显卡却处于空闲状态,状态信息就满足了更新条件,第一控制器可以根据工作节点的状态信息对当前状态的配置文件进行更新处理,修改配置文件的配置参数,得到更新状态的配置文件。
该更新状态的配置文件,可以用于使任一处于空闲状态的GPU显卡,由原来绑定的对应vGPU类型的驱动程序KMD,更新为绑定对应GPU Passthrough类型的驱动程序VFIO-PCI。
通过这种方式,有利于自动根据工作节点的状态信息,动态更新配置文件。
在步骤S3得到更新状态的配置文件,可在步骤S4中,根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,以调整工作节点对应的图形处理器资源的类型。
在一种可能的实现方式中,步骤S4可包括:根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源。其中,重配置之前的工作节点无第二类型的空闲GPU资源(例如工作节点的第二类型的GPU资源全部都被占用,或者,工作节点不存在第二类型的GPU资源),且存在新的工作负载请求该类型的GPU资源。
示例性地,假设以第一类型包括vGPU类型,第二类型包括GPU Passthrough类型为例,第一控制器可以根据更新状态的配置文件的指示,控制各工作节点对应的守护进程,对该工作节点中需要发生变动的GPU显卡安装更新后的驱动程序,例如,在重配置之前,工作节点的当前用户提交的工作负载需要GPU Passthrough类型的资源,而该工作节点没有空闲的GPU Passthrough类型资源,但是存在空闲的vGPU类型的资源。重配置之后,第一控制器可以根据更新状态的配置文件,控制守护进程将空闲的GPU显卡(例如提供vGPU类型资源的显卡)与驱动程序VFIO-PCI重新绑定,将vGPU类型的资源转换为工作负载请求的GPUPassthrough类型。其中,第一类型和第二类型不同,本公开对第一类型、第二类型可包括的类型种类与类型数量不作限制。
通过这种方式,可以对工作节点上的GPU资源进行动态调整,有利于提高GPU资源的利用率。
在一种可能的实现方式中,可根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源,也即,将处于空闲状态的图形处理器资源的类型转换为工作负载请求的目标类型,包括:根据所述更新状态的配置文件,确定处于空闲状态的所述第一类型的目标图形处理器资源;为所述目标图形处理器资源安装所述第二类型的驱动程序,得到类型转换后的图形处理器资源。其中,第一类型和第二类型不同,本公开对第一类型、第二类型可包括的类型种类与类型数量不作限制。
示例性地,第一控制器可以根据更新状态的配置文件,确定处于空闲状态的第一类型的目标图形处理器资源,以及工作负载请求的第二类型的图像处理器资源,例如处于空闲状态的第一类型的目标图形处理器资源可以为vGPU类型的GPU显卡,工作负载请求的第二类型的图像处理器资源可以为GPU Passthrough类型的显卡。然后,第一控制器可以根据更新状态的配置文件将GPU Passthrough类型发送至工作节点的守护进程,以使工作节点的守护进程对空闲状态的vGPU类型的GPU显卡安装GPU Passthrough类型的驱动程序VFIO-PCI,将该GPU显卡由原来的可提供vGPU类型的GPU资源,修改为提供GPU Passthrough类型的GPU资源。
通过这种方式,可以将当前处于空闲状态的第一类型的GPU资源作为目标GPU资源,并将目标GPU资源的第一类型转换为工作负载需要的第二类型,有利于提高GPU资源的利用率。
上文介绍了如何根据工作负载动态调整工作节点的GPU资源类型,下面介绍在GPU资源类型发生变化的情况下,如何可以动态发现、发布GPU资源的这种变化。
在一种可能的实现方式中,所述方法还包括:在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理;所述节点代理用于根据所述类型发生变化的图形处理器资源,为工作负载分配对应类型的图形处理器资源。
其中,每类图形处理器资源可以对应一个设备插件,对于工作节点的任一类型的图形处理器资源,如果该类型的图形处理器资源存在,其对应的设备插件处于开启状态,如果该类型的图形处理器资源不存在,其对应的设备插件处于关闭状态。
举例来说,通过上述的步骤S1~S4,当Kubernetes集群中的工作节点上的资源产生变化的情况下,可以分别检测各GPU显卡的驱动程序是否发生变化,工作节点上发生变化的GPU资源对应的设备插件(Device plugin)监测到该变化,即向该工作节点对应的节点代理(Kubelet)进行汇报。其中,设备插件(Device Plugin)是基于Kubernetes提供的设备插件机制实现的自定义插件,该插件实现的目的是为了支持GPU资源细粒度划分和调度功能。例如,假设工作节点上存在3个pGPU资源,1个vGPU资源,如果该工作节点的某个pGPU变化为vGPU,pGPU对应的设备插件会上报减少了一个pGPU,vGPU对应的设备插件会上报增加了一个vGPU。
节点代理(Kubelet)根据所述类型发生变化的图形处理器资源,为工作负载分配对应类型的GPU资源。例如,假设当前的工作负载需要GPU Passthrough类型的资源,当工作节点的某一空闲显卡由提供其他类型(例如vGPU)的资源转换为提供GPU Passthrough类型的资源,节点代理(Kubelet)相应于工作节点存在空闲的GPU Passthrough类型的资源,可以将该GPU Passthrough类型的资源分配给工作负载,以使工作负载可以继续工作。
通过这种方式,可以实时监控工作节点的设备变化,有利于为工作节点上不同类型的GPU资源(pGPU/vGPU/GPU Passthrough)提供动态发现、动态发布扩展资源的能力。
图5示出根据本公开实施例的动态发现图形处理器资源的示意图。如图5所示,在所述工作节点对应的任一类型图形处理器资源增加的情况下,控制所述工作节点开启所述类型的图形处理器资源的设备插件,向所述节点代理上报增加的图形处理器资源的类型;其中,在所述工作节点对应的第三类型图形处理器资源不存在的情况下,利用所述工作节点关闭所述第三类型的图形处理器资源的设备插件。其中,第三类型为工作节点在当前状态下不具有的GPU类型,本公开对第三类型可包括的类型种类与类型数量不作限制。
具体来说,针对任一GPU显卡,第二控制器(Device Controller)可以分别设置多种检测程序用于发现新的GPU资源,例如可以分别设置监测pGPU/vGPU/GPU Passthrough的应用程序,用于检测GPU显卡是否安装了对应于pGPU/vGPU/GPU Passthrough资源的驱动程序。其中,第二控制器可以是设置在Kubernetes集群中用于监控各工作节点的GPU资源变化的应用程序。
在发现新增的vGPU类型的驱动程序的情况下,可以控制工作节点开启vGPU设备插件,以向节点代理(Kubelet)上报增加的vGPU类型资源;其中,在不存在vGPU类型的驱动程序的情况下,说明工作节点对应的第三类型也即vGPU类型不存在,可关闭vGPU设备插件。
在发现新增的GPU Passthrough类型的驱动程序的情况下,可以控制工作节点开启GPU Passthrough设备插件,以向节点代理(Kubelet)上报增加的GPU Passthrough类型资源;其中,在不存在GPU Passthrough类型的驱动程序的情况下,说明工作节点对应的第三类型也即GPU Passthrough类型不存在,可关闭GPU Passthrough设备插件。
在发现新增的pGPU类型的驱动程序的情况下,可以控制工作节点开启pGPU设备插件,以向节点代理(Kubelet)上报增加的pGPU类型资源;其中,在不存在pGPU类型的驱动程序的情况下,说明工作节点对应的第三类型也即vGPU类型不存在,可关闭pGPU设备插件。
其中,设备插件还可以向节点代理上报各类型图形处理资源的数量和使用情况(例如该类图形处理资源的占用和空闲情况),本公开对此不作限制。
这样,节点代理(Kubelet)可以根据各设备插件提供的资源类型,实时动态地发现可扩展资源,以向工作负载提供对应的GPU资源,使工作负载可以正常工作。
图6示出根据本公开实施例的图形处理器资源管理方法的示意图。如图6所示,提供了准入控制(Admission Control)或者实现Kubernetes调度器筛选(SchedulerPostFilter)扩展点实现通知机制,来观察工作负载的创建。
如图6所示,工作节点上有三张GPU显卡,其中,GPU0和GPU1绑定了vGPU的驱动程序KMD,用于提供vGPU资源;GPU2绑定了GPU Passthrough的驱动程序VFIO-PCI,用于提供GPUPassthrough资源。
在终端用户创建了一个需要匹配目标类型为GPU Passthrough类型的工作负载,如果当前工作节点中存在空闲的GPU Passthrough资源,例如GPU2处于空闲状态,可以不对工作节点执行重配置处理,GPU0、GPU1和GPU2的驱动程序保持不变。在此情况下,节点代理(Kubelet)可以直接将空闲的GPU Passthrough资源提供给工作负载。
如果当前工作节点中不存在空闲的GPU Passthrough资源,例如GPU2处于占用状态,缺少空闲的GPU Passthrough资源。第一控制器检测到安装了驱动程序KMD的GPU1(提供vGPU资源)处于空闲状态,可以通过对工作节点进行重配置处理,为GPU1绑定驱动程序VFIO-PCI,使GPU1由原来的提供vGPU资源变为提供GPU Passthrough资源。在此情况下,第二控制器可将发现的新的GPU Passthrough资源(GPU1)上报给节点代理(Kubelet),节点代理(Kubelet)可以将该GPU Passthrough资源提供给工作负载。这样,第一控制器与第二控制器之间可以相互配合,第一控制器用于根据工作负载动态调整工作节点的GPU资源类型,第二控制器用于动态发现工作节点的GPU资源类型的变化,并将这种变化上报至节点代理,以使节点代理可以更高效地为工作负载提供对应所需类型的空闲GPU资源,以有利于提高GPU的资源利用率。
综上所述,本公开提出了一种图形处理器资源管理方法,可以根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置,所述初始化配置用于为工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;并获取工作节点对应的至少一种类型的图形处理器资源的状态信息,该状态信息用于指示工作节点对应的每个图形处理器资源的类型和工作状态;然后,在所述状态信息满足更新条件的情况下,根据状态信息对当前状态的配置文件进行更新处理,得到更新状态的配置文件;并根据更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,调整工作节点对应的图形处理器资源的类型。
通过这种方式,兼容了预配制方式管理GPU资源,而且还可以通过监控工作节点来进行GPU资源类型的动态调整,有利于当前工作节点根据自动感知到的工作负载的需求,动态的将各类型的GPU资源转换为工作负载需要的GPU资源,提高对GPU资源的利用率。并进一步通过监控工作负载需要的GPU资源,提高工作节点对GPU资源类型的发布、发现的能力,提高了GPU资源的利用率。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了图形处理器资源管理装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种图形处理器资源管理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图7示出根据本公开实施例的图形处理器资源管理装置的框图,如图7所示,所述装置包括:初始化配置模块71,用于根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于为所述工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;获取模块72,用于获取所述工作节点对应的至少一种类型的图形处理器资源的状态信息;更新模块73,用于在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;重配置模块74,用于根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置。
在一种可能的实现方式中,所述状态信息用于指示所述工作节点对应的每个图形处理器资源的类型和工作状态,所述工作状态包括空闲状态、占用状态,所述更新模块73用于:在所述状态信息指示出所述工作节点上存在至少一种第一类型的图形处理器资源处于空闲状态、存在工作负载请求至少一种第二类型的图像处理器资源且所述第二类型的图像处理资源处于占用状态或不存在的情况下,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;所述第一类型和所述第二类型不同;所述重配置模块74用于:根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源。
在一种可能的实现方式中,所述装置还用于:在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理;所述节点代理用于根据所述类型发生变化的图形处理器资源,为工作负载分配对应类型的图形处理器资源。
在一种可能的实现方式中,所述在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理,包括:在所述工作节点对应的任一类型图形处理器资源增加的情况下,控制所述工作节点开启所述类型的图形处理器资源的设备插件,向所述节点代理上报增加的图形处理器资源的类型。
在一种可能的实现方式中,所述装置还用于:在所述工作节点对应的第三类型图形处理器资源不存在的情况下,利用所述工作节点关闭所述第三类型的图形处理器资源的设备插件。
在一种可能的实现方式中,所述初始化配置模块71用于:根据预设的初始状态的配置文件,确定工作节点的每个图形处理器资源分别对应的驱动程序类型;根据每个图形处理器资源分别对应的驱动程序类型,分别为每个图形处理器资源安装对应的驱动程序,得到所述工作节点对应的不同类型的图形处理器资源。
在一种可能的实现方式中,根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源,包括:根据所述更新状态的配置文件,确定处于空闲状态的所述第一类型的目标图形处理器资源;为所述目标图形处理器资源安装所述第二类型的驱动程序,得到类型转换后的图形处理器资源。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图8示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图8,电子设备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 (10)
1.一种图形处理器资源管理方法,其特征在于,包括:
根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于为所述工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;
获取所述工作节点对应的至少一种类型的图形处理器资源的状态信息;
在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;
根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置。
2.根据权利要求1所述的方法,其特征在于,所述状态信息用于指示所述工作节点对应的每个图形处理器资源的类型和工作状态,所述工作状态包括空闲状态、占用状态;
所述在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件,包括:
在所述状态信息指示出所述工作节点上存在至少一种第一类型的图形处理器资源处于空闲状态、存在工作负载请求至少一种第二类型的图像处理器资源且所述第二类型的图像处理资源处于占用状态或不存在的情况下,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;所述第一类型和所述第二类型不同;
根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,包括:
根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理;
所述节点代理用于根据所述类型发生变化的图形处理器资源,为工作负载分配对应类型的图形处理器资源。
4.根据权利要求3所述的方法,其特征在于,所述在所述工作节点对应的任一图形处理器资源的类型发生变化的情况下,控制所述工作节点通过变化后的图形处理器资源对应的设备插件将变化后的类型上报至节点代理,包括:
在所述工作节点对应的任一类型图形处理器资源增加的情况下,控制所述工作节点开启所述类型的图形处理器资源的设备插件,向所述节点代理上报增加的图形处理器资源的类型。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述工作节点对应的第三类型图形处理器资源不存在的情况下,利用所述工作节点关闭所述第三类型的图形处理器资源的设备插件。
6.根据权利要求1所述的方法,其特征在于,根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置,包括:
根据预设的初始状态的配置文件,确定工作节点的每个图形处理器资源分别对应的驱动程序类型;
根据每个图形处理器资源分别对应的驱动程序类型,分别为每个图形处理器资源安装对应的驱动程序,得到所述工作节点对应的不同类型的图形处理器资源。
7.根据权利要求2所述的方法,其特征在于,根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置,将所述第一类型的图形处理器资源转换为所述第二类型的图形处理器资源,包括:
根据所述更新状态的配置文件,确定处于空闲状态的所述第一类型的目标图形处理器资源;
为所述目标图形处理器资源安装所述第二类型的驱动程序,得到类型转换后的图形处理器资源。
8.一种图形处理器资源管理装置,其特征在于,包括:
初始化配置模块,用于根据预设的初始状态的配置文件,对工作节点上的图形处理器资源进行初始化配置;所述初始化配置用于为所述工作节点初始化至少一种类型的图形处理器资源,每种类型的图形处理器资源包括至少一个图形处理器;
获取模块,用于获取所述工作节点对应的至少一种类型的图形处理器资源的状态信息;
更新模块,用于在所述状态信息满足更新条件的情况下,根据所述状态信息,对当前状态的所述配置文件进行更新处理,得到更新状态的配置文件;
重配置模块,用于根据所述更新状态的配置文件,对工作节点上的图形处理器资源进行重配置。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310028589.5A CN115965517B (zh) | 2023-01-09 | 2023-01-09 | 图形处理器资源管理方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310028589.5A CN115965517B (zh) | 2023-01-09 | 2023-01-09 | 图形处理器资源管理方法及装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115965517A true CN115965517A (zh) | 2023-04-14 |
CN115965517B CN115965517B (zh) | 2023-10-20 |
Family
ID=87357991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310028589.5A Active CN115965517B (zh) | 2023-01-09 | 2023-01-09 | 图形处理器资源管理方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115965517B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755843A (zh) * | 2023-08-17 | 2023-09-15 | 摩尔线程智能科技(北京)有限责任公司 | 虚拟资源创建方法及装置、电子设备、芯片、存储介质 |
CN117236457A (zh) * | 2023-11-13 | 2023-12-15 | 国开启科量子技术(安徽)有限公司 | 用于运行及使用量子模拟器的方法、系统、电子设备 |
CN117519984A (zh) * | 2023-12-04 | 2024-02-06 | 沐曦科技(北京)有限公司 | 基于K8s的GPU虚拟化动态配置方法、电子设备和介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713725A (zh) * | 2013-12-30 | 2014-04-09 | 优视科技有限公司 | 图形处理方法和装置 |
CN111367659A (zh) * | 2020-02-24 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种Kubernetes中节点的资源管理方法、设备以及介质 |
CN111880936A (zh) * | 2020-07-31 | 2020-11-03 | 广州华多网络科技有限公司 | 资源调度方法、装置、容器集群、计算机设备和存储介质 |
CN113110938A (zh) * | 2021-05-08 | 2021-07-13 | 网易(杭州)网络有限公司 | 一种资源分配方法、装置、计算机设备及存储介质 |
US20210279157A1 (en) * | 2018-07-19 | 2021-09-09 | Namu Tech Co., Ltd. | Method for monitoring plurality of clusters and applications in cloud platform |
CN113641457A (zh) * | 2021-08-20 | 2021-11-12 | 北京百度网讯科技有限公司 | 容器创建方法、装置、设备、介质及程序产品 |
WO2022088659A1 (zh) * | 2020-10-26 | 2022-05-05 | 北京市商汤科技开发有限公司 | 资源调度方法及装置、电子设备、存储介质和程序产品 |
CN114637603A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 资源的控制方法、装置、计算机设备及存储介质 |
CN115048216A (zh) * | 2022-05-31 | 2022-09-13 | 苏州浪潮智能科技有限公司 | 一种人工智能集群的资源管理调度方法、装置和设备 |
US20220337417A1 (en) * | 2021-04-16 | 2022-10-20 | Dell Products, Lp | System and method for computing cluster seeding and security using kubernetes immutable resource log |
-
2023
- 2023-01-09 CN CN202310028589.5A patent/CN115965517B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713725A (zh) * | 2013-12-30 | 2014-04-09 | 优视科技有限公司 | 图形处理方法和装置 |
US20210279157A1 (en) * | 2018-07-19 | 2021-09-09 | Namu Tech Co., Ltd. | Method for monitoring plurality of clusters and applications in cloud platform |
CN111367659A (zh) * | 2020-02-24 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种Kubernetes中节点的资源管理方法、设备以及介质 |
CN111880936A (zh) * | 2020-07-31 | 2020-11-03 | 广州华多网络科技有限公司 | 资源调度方法、装置、容器集群、计算机设备和存储介质 |
WO2022088659A1 (zh) * | 2020-10-26 | 2022-05-05 | 北京市商汤科技开发有限公司 | 资源调度方法及装置、电子设备、存储介质和程序产品 |
US20220337417A1 (en) * | 2021-04-16 | 2022-10-20 | Dell Products, Lp | System and method for computing cluster seeding and security using kubernetes immutable resource log |
CN113110938A (zh) * | 2021-05-08 | 2021-07-13 | 网易(杭州)网络有限公司 | 一种资源分配方法、装置、计算机设备及存储介质 |
CN113641457A (zh) * | 2021-08-20 | 2021-11-12 | 北京百度网讯科技有限公司 | 容器创建方法、装置、设备、介质及程序产品 |
CN114637603A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 资源的控制方法、装置、计算机设备及存储介质 |
CN115048216A (zh) * | 2022-05-31 | 2022-09-13 | 苏州浪潮智能科技有限公司 | 一种人工智能集群的资源管理调度方法、装置和设备 |
Non-Patent Citations (1)
Title |
---|
ZHIAOO: "kubernetes-云原生技术进阶 第20讲:GPU管理和Device Plugin工作机制", Retrieved from the Internet <URL:https://blog.csdn.net/u014073556/article/details/115308753> * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755843A (zh) * | 2023-08-17 | 2023-09-15 | 摩尔线程智能科技(北京)有限责任公司 | 虚拟资源创建方法及装置、电子设备、芯片、存储介质 |
CN116755843B (zh) * | 2023-08-17 | 2023-12-19 | 摩尔线程智能科技(北京)有限责任公司 | 虚拟资源创建方法及装置、电子设备、芯片、存储介质 |
CN117236457A (zh) * | 2023-11-13 | 2023-12-15 | 国开启科量子技术(安徽)有限公司 | 用于运行及使用量子模拟器的方法、系统、电子设备 |
CN117519984A (zh) * | 2023-12-04 | 2024-02-06 | 沐曦科技(北京)有限公司 | 基于K8s的GPU虚拟化动态配置方法、电子设备和介质 |
CN117519984B (zh) * | 2023-12-04 | 2024-07-26 | 沐曦科技(北京)有限公司 | 基于K8s的GPU虚拟化动态配置方法、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115965517B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413288B (zh) | 应用部署方法、装置、服务器及存储介质 | |
CN115965517B (zh) | 图形处理器资源管理方法及装置、电子设备和存储介质 | |
US10044795B2 (en) | Methods and apparatus for rack deployments for virtual computing environments | |
CN107959582B (zh) | 一种切片实例的管理方法及装置 | |
Im et al. | IoT mashup as a service: cloud-based mashup service for the Internet of things | |
US8141090B1 (en) | Automated model-based provisioning of resources | |
CN117897691A (zh) | 在Kubernetes中使用远程POD | |
CN113296950B (zh) | 处理方法、装置、电子设备及可读存储介质 | |
US20070180280A1 (en) | Controlling the allocation of power to a plurality of computers whose supply of power is managed by a common power manager | |
US20090204961A1 (en) | Systems and methods for distributing and managing virtual machines | |
US20200358666A1 (en) | Releasing and retaining resources for use in a nfv environment | |
JP2015204614A (ja) | オブジェクト指向のネットワーク仮想化 | |
KR102313432B1 (ko) | 다중―단일―테넌트 SaaS 서비스들의 관리 | |
CN111984270A (zh) | 应用部署方法和系统 | |
US11343141B2 (en) | Methods and apparatus to migrate physical server hosts between virtual standard switches and virtual distributed switches in a network | |
CN111984269A (zh) | 提供应用构建服务的方法及应用构建平台 | |
CN115774600A (zh) | Kubernetes中的远程Pod中的新容器存储系统 | |
CN114968477A (zh) | 容器热迁移方法及容器热迁移装置 | |
CN103620559B (zh) | 能够在一个主机和多个来宾之间或之中进行配置元素的选择性策略驱动传递 | |
US11349729B2 (en) | Network service requests | |
JP2020017201A (ja) | ネットワークシステム、情報取得装置、情報取得方法およびプログラム | |
US12020038B2 (en) | Peer booting operating systems on an edge network | |
US9798571B1 (en) | System and method for optimizing provisioning time by dynamically customizing a shared virtual machine | |
CN115202820A (zh) | Pod单元的创建方法、装置、设备及存储介质 | |
CN114641973B (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 |