CN116880996A - 虚拟计算资源的调度方法及控制面组件 - Google Patents
虚拟计算资源的调度方法及控制面组件 Download PDFInfo
- Publication number
- CN116880996A CN116880996A CN202310653084.8A CN202310653084A CN116880996A CN 116880996 A CN116880996 A CN 116880996A CN 202310653084 A CN202310653084 A CN 202310653084A CN 116880996 A CN116880996 A CN 116880996A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- service
- virtual computing
- component
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000013508 migration Methods 0.000 claims description 6
- 230000005012 migration Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 40
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 239000000243 solution Substances 0.000 description 8
- 230000010354 integration Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 208000029448 Chylomicron retention disease Diseases 0.000 description 4
- 201000006754 cone-rod dystrophy Diseases 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 101100509468 Arabidopsis thaliana JASON gene Proteins 0.000 description 1
- 101100491335 Caenorhabditis elegans mat-2 gene Proteins 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 239000007993 MOPS buffer Substances 0.000 description 1
- 102100033121 Transcription factor 21 Human genes 0.000 description 1
- 101710119687 Transcription factor 21 Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书一个或多个实施例提供一种虚拟计算资源的调度方法及控制面组件。该方法包括:获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;根据算力需求和管理的多种资源类型的物理计算资源的资源状态信息,确定对目标虚拟计算资源的期望状态;其中,期望状态包括与目标虚拟计算资源对应的目标物理计算资源;根据期望状态,采用边车模式在为目标服务分配的第一资源节点部署与目标虚拟计算资源对应第一服务组件,并将目标物理计算资源与目标虚拟计算资源进行绑定;其中,第一服务组件包括用于运行目标服务的主组件和用于辅助目标服务对目标虚拟计算资源进行资源调度的边车组件。
Description
技术领域
本说明书一个或多个实施例涉及资源调度领域,尤其涉及一种虚拟计算资源的调度方法及控制面组件。
背景技术
容器技术的兴起导致了容器自动化编排软件Kubernetes(K8s)的诞生,K8s在获取到用户对服务的资源请求中,可以创建用于运行服务的容器,基于服务对应的资源类型为服务分配相应资源类型的物理计算资源,并与容器进行绑定,还可以根据需求对容器进行扩容或缩容。随着K8s可以管理物理计算资源的数量和资源类型的增加,如何提升整体物理计算资源的统一调度提升集群效率成为了亟需解决的问题。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种虚拟计算资源的调度方法及控制面组件,以解决相关技术中存在的问题。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种虚拟计算资源的调度方法,应用于资源管理平台中部署的用于对虚拟计算资源进行管理的控制面组件,所述虚拟计算资源为采用算力进行描述的自定义虚拟计算资源;包括:
获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;
根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态;其中,所述期望状态包括与所述目标虚拟计算资源对应的目标物理计算资源;
根据所述期望状态,采用边车模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一服务组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
根据本说明书一个或多个实施例的第二方面,提出了一种控制面组件,包括:
控制组件,用于获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;
所述控制组件,还用于根据所述算力需求,从所述资源管理平台管理的多种资源类型的物理计算资源中确定与所述目标虚拟计算资源对应的目标物理计算资源;
调度组件,用于采用边车模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一服务组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
在以上技术方案中,通过统一算力对目标服务的需求算力和各种资源类型的物理计算资源进行度量和描述,创建基于算力进行描述的虚拟计算资源,基于算力将虚拟计算资源与对应的物理计算资源进行绑定,以虚拟计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的物理计算资源的差异性,使物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。
附图说明
图1是一示例性实施例提供的一种虚拟计算资源的调度系统的架构示意图;
图2是一示例性实施例提供的一种虚拟计算资源的调度方法的流程示意图;
图3a-3e是一示例性实施例提供的物理计算资源的分布示意图;
图4是一示例性实施例提供的一种服务组件的结构示意图;
图5是一示例性实施例提供的一种控制面组件的示意图;
图6是一示例性实施例提供的另一种虚拟计算资源的调度方法的流程示意图;
图7是一示例性实施例提供的一种虚拟计算资源的调度装置的结构示意图;
图8是一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
容器技术的兴起导致了容器自动化编排软件Kubernetes(K8s)的诞生,K8s在获取到用户对服务的资源请求后,可以创建用于运行服务的容器,基于资源请求中与服务对应的资源类型为服务分配相应资源类型的物理计算资源,并与容器进行绑定,还可以根据需求对容器进行扩容或缩容。现如今越来越多的企业在进行AI的商业化应用,服务规模也越来越大。随着服务的增加,K8s可以管理物理计算资源的数量和资源类型也在不断增加,最终在达到一定的规模后,如何提升整体物理计算资源的统一调度提升集群效率,成为提升性价比和收益的关键问题。
相关技术在对物理计算资源进行调度,以针对图像处理器(Graphics ProcessingUnit,GPU)的资源调度为例,所采用的技术方案可以包括整卡使用的方案,以及以qGPU、cGPU、vCUDA、rCUDA、gpushare等共享、隔离方案。每套技术方案都实现和部署各自的控制面组件,例如可以包括调度组件(Scheduler)和设备插件(DevicePlugin)等等,每套技术方案各自实现部署,使架构和运维变得非常复杂。其中对物理计算资源的调度均基于指定标量作为资源单元进行调度,调度时基于指定标量进行加减,使资源利用率不高,并且不支持多种资源类型的物理计算资源的统一调度。
有鉴于此,本说明书提出了一种虚拟计算资源的调度方法。通过对物理计算资源的池化技术,用统一算力的方式对各种资源类型的物理计算资源进行描述,资源管理平台支持基于其所能提供的算力进行描述的自定义虚拟计算资源;基于待创建的虚拟计算资源的算力需求,创建基于所述算力需求来描述的目标虚拟计算资源,再从管理的多种类型的物理计算资源中为所述目标虚拟计算资源确定目标物理计算资源,并进行绑定,以将绑定后的目标虚拟计算资源分配给目标服务。
在实现时,获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;根据所述算力需求,根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态;其中,所述期望状态包括与所述目标虚拟计算资源对应的目标物理计算资源;根据所述期望状态,采用边车模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一服务组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
在以上技术方案中,通过统一算力对目标服务的需求算力和各种资源类型的物理计算资源进行度量和描述,创建基于算力进行描述的虚拟计算资源,基于算力将虚拟计算资源与对应的物理计算资源进行绑定,以虚拟计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的物理计算资源的差异性,使物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。
请参见图1,图1是一示例性实施例提供的一种虚拟计算资源的调度系统的架构示意图。如图1所示,该系统可以包括网络10、服务端11、若干电子设备,如终端设备12、终端设备13和终端设备14等。
服务端11可以为包含一独立主机的物理服务器,或者该服务端11可以为主机集群承载的虚拟服务器、云服务器等。终端设备12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。网络10可以包括多种类型的有线或无线网络。
在一实施例中,服务端11可以与终端设备12-14进行配合;其中,可由终端设备12-14进行通过网络10向服务端11申请建立目标服务对应的目标虚拟计算资源,然后由服务端11基于目标服务对应的算力需求,执行本说明书的虚拟计算资源的调度方法,将建立的目标虚拟计算资源分配给所述目标服务。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本说明书中的技术方案进行清楚、完整地描述。
请参见图2,图2是一示例性实施例提供的一种虚拟计算资源的调度方法。所述调度方法应用于资源管理平台中部署的用于对虚拟计算资源进行管理的控制面组件,所述虚拟计算资源为采用算力进行描述的自定义虚拟计算资源。
需要说明的是,所述资源管理平台可以是K8s资源管理平台。所述自定义虚拟计算资源可以为虚拟容器资源,可以为K8s资源管理平台提供的一种自定义资源(CustomResource,CR),自定义资源是对K8s资源管理系统API的扩展。自定义资源定义(CustomResource Definition,CRD)是对自定义资源的定义,是K8s资源管理平台提供给用户的一种扩展资源的方法。资源管理平台可以为自定义虚拟计算资源定义一套原生CRD,向上统一算力接口,基于该定义创建的资源对象实体即为虚拟计算资源vXPU。
资源管理平台为自定义虚拟计算资源vXPU定义的一套原生CRDs,例如可以包括:用描述物理计算资源的XPU、用于描述不同类型的虚拟计算资源的vXPUClass、用于描述虚拟计算资源的vXPU、用于描述与虚拟计算资源对应的用户请求信息的vXPUClaim、用于描述与虚拟计算资源对应的服务的vXPUJob、用于描述与虚拟计算资源对应的服务的声明信息的vXPUJobclaims。
所述资源管理平台可以针对虚拟计算资源部署对应的控制面组件,由该控制面组件对虚拟计算资源进行管理和维护。所述控制面组件可以包括多个组件,分别用于负责针对虚拟计算资源的创建、部署、相关信息的存储、生命周期管理、故障迁移等等。
所述资源管理平台可以管理多种资源类型的物理计算资源,所述多种资源类型的计算资源可以为多种类型的处理器资源,例如可以包括图像处理器(Graphics ProcessingUnit,GPU)、张量处理器(Tensor Processing Unit,TPU)、物理运算处理器(PhysicsProcessing Unit,PPU)、大脑处理器(Brain Processing Unit,BPU)、神经网络处理器(Neural network Processing Unit,NPU)等等。所述多种资源类型的物理计算资源也可以包括采用不同的资源划分方式的处理器资源,例如可以包括采用基于空间或时间进行划分的处理器资源。
可以通过预设的抽象方式,对各种资源类型的物理计算资源进行抽象处理,以能够基于其所能提供的算力对各种类型的物理计算资源理进行描述,获取每个物理计算资源对应的算力信息,以方便基于算力对各种资源类型的物理计算资源进行统一管理。所述算力信息可以包括各个物理计算资源的已用算力、剩余算力等等。控制面组件可以基于算力对各个物理计算资源进行切分和聚合,并基于算力确定可以与虚拟计算资源进行绑定的物理计算资源进行绑定,以使控制面组件可以以虚拟计算资源作为资源单元进行资源调度和分配。
所述资源管理平台可以管理分别位于不同的资源节点上的物理计算资源,多个资源节点可以组成资源集群,在各个资源节点上可以包括如上所述的多种资源类型的物理计算资源中的一种或多种的物理计算资源,例如,在一个资源节点上可以包括2个CPU和8个GPU等。
用于描述物理计算资源和虚拟计算资源的算力可以多种多样,可以为用于表示数据处理能力的计量单位,例如,可以为用于表示每秒浮点运算次数的每秒万亿次浮点运行次数(Tera Floating Point Operations Per Second,TFlops/s)、每秒百万次浮点运行次数(Million Floating Point Operations Per Second,MFlop/s)等;可以为用于表示每秒处理器执行操作的数量的每秒万亿次操作(Tera Operations Per Second,TOPS)、每秒百万次操作(Million Operations Per Second,MOPS)等;可以为用于表示处理单字长定点指令平均执行速度的每秒处理百万指令(Million Instructions Per Second,MIPS)等。为了简便起见,在下面的实施例中均以TFlops/s为例进行举例说明。
所述虚拟计算资源的调度方法,可以包括以下步骤。
S210、获取与目标服务对应的待创建的目标虚拟计算资源的算力需求。
在用户需要部署目标服务时,可以向资源管理平台发送针对该目标服务的资源请求信息。控制面组件在获取到用户的资源请求信息后,可以基于所述资源请求信息获取与所述目标服务对应的待创建的目标虚拟计算资源的算力需求。
其中,所述资源请求信息可以为,用户请求创建用于运行该目标服务的第一服务组件时,针对该第一服务组件的资源请求信息。所述待创建的目标虚拟计算资源对应的算力需求可以为,在确定可以为该第一服务组件分配虚拟计算资源时,根据所述资源请求信息得到的针对第一服务组件的算力需求。
其中,用于运行该目标服务的第一服务组件可以为包括用于运行该目标服务的至少一个容器(container)的容器组(pod),所述算力需求可以为所述目标服务请求创建所述容器组的算力需求。
接收到的资源请求信息的表现形式可以为采用预设的数据序列化语言编辑的数据文件,例如,YAML文件,或者,JASON文件,等等。
所述资源请求信息可以为,用户请求部署用于运行该目标服务的运行组件时,针对该运行组件的资源请求信息。控制面组件可以通过对资源请求信息的解析,确定为所述目标服务分配的资源是否可以为虚拟计算资源;若不是虚拟计算资源,则可以基于所述资源请求信息为所述目标服务分配对应的物理计算资源;若是虚拟计算资源,则可以基于资源请求信息确定与所述目标服务对应的目标虚拟计算资源的算力需求。例如,若用户在YAML文件中声明了请求创建与目标服务对应的目标虚拟计算资源,则控制面组件可以基于所述YAML文件中记载的资源需求信息,确定该目标虚拟计算资源的算力需求。
控制面组件在获取所述目标服务的资源请求信息后,可以基于对所述资源请求信息的解析,得到与所述目标服务对应的目标虚拟计算资源的算力需求。其中,若所述资源请求信息中携带所述目标虚拟计算资源的算力需求mTFlops/s,则控制面组件可以从资源请求信息中提取出与目标服务对应的待创建的目标虚拟计算资源的算力需求为mTFlops/s;若资源请求信息中没有直接给出所述目标虚拟计算资源的算力需求,则可以通过预设的算力预估算法,对所述资源请求信息进行解析,预估得到所述目标虚拟计算资源的算力需求,例如,在资源请求信息中给出的是用于运行目标服务的服务组件pod的硬件需求信息,例如包括物理计算资源的资源类型和资源量等,则可以通过预设的算力预估算法,对该pod的硬件需求信息进行解析,预估得到与目标服务对应的待创建的目标虚拟计算资源的算力需求。
其中,所述算力预估算法,可以为能够对各种资源类型的物理计算资源进行算力画像的方法或服务,能够基于其所能提供的算力对各种资源类型的物理计算资源理进行抽象,以预估得到目标虚拟计算资源的算力需求;例如,若资源请求信息中包括服务组件pod所需的硬件需求信息为A100 GPU的40%,则可以通过算力预估算法,预估得到待分配给目标服务的目标虚拟计算资源的算力需求为mTFlops/s。
S220、根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态;其中,所述期望状态包括与所述目标虚拟计算资源对应的目标物理计算资源。
控制面组件在获取到目标虚拟计算资源的算力需求后,可以基于该算力需求来创建基于该算力需求进行描述的目标虚拟计算资源vXPU。
控制面组件还可以获取由资源管理平台管理的各个物理计算资源的资源状态信息,所述资源状态信息可以包括各个物理计算资源的算力信息、各个物理计算资源对应的拓扑信息等等。所述算力信息可以包括各个物理计算资源的已用算力、剩余算力等等。所述拓扑信息可以包含各个物理计算资源所在的资源节点,以及各个物理计算资源之间的传输方式等等。获取各个物理计算资源的资源状态信息的方式可以多种多样,可以通过如上所述的算力预估算法得到。
控制面组件可以根据与目标虚拟计算资源对应的算力需求,结合获取到的各个物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态。所述期望状态可以包括所述目标虚拟计算资源的硬件需求信息,所述硬件需求信息可以包括与所述目标虚拟计算资源对应的目标物理计算资源等等;所述期望状态还可包括需要在各个资源节点上部署的服务组件的相关信息,例如,部辅的服务组件的名称、类型、位置、拓扑关系等等。
在从所述资源管理平台管理的多种类型的物理计算资源中为所述目标虚拟计算资源确定硬件需求信息时,控制面组件可以基于预先设置的资源选取策略从其管理的所有物理计算资源中选取与目标虚拟计算资源对应的硬件需求信息,例如,资源选取策略可以为从其管理的物理计算资源中选取剩余算力之和可以满足所述目标虚拟计算资源的算力需求的物理计算资源作为目标物理计算资源。
其中,为了能够使目标虚拟计算资源能够更加适配于目标服务,所述资源选取策略中可以包括对目标物理计算资源的资源限制条件,相应的,控制面组件确定的目标虚拟计算资源的期望状态包括满足所述资源限制条件的与所述目标虚拟计算资源对应的目标物理计算资源。
所述资源限制条件可以多种多样,例如,可以包括以下多项中的任意一项或多项的组合:
与所述物理计算资源的资源类型对应的资源限制条件;例如,可以要求目标物理计算资源为GPU、NPU、PPU等资源类型中的指定的一种或多种的组合,等等;
与所述物理计算资源的资源量对应的资源限制条件;所述物理计算资源的资源量可以包括基于算力的算力需求;也可以包括针对各种资源类型的资源量,例如,针对A100GPU的资源量可以为40%;也可以包括对物理计算资源的处理器的数量,例如,一张GPU,或者,不能超过两张GPU等等;
与所述物理计算资源的资源带宽对应的资源限制条件,例如,可以要求不小于50GB/s的带宽;
与所述物理计算资源之间的拓扑关系对应的资源限制条件;所述拓扑关系可以包括对于目标物理计算资源所在资源节点的限制;例如,要求不允许出现跨节点的GPU;所述拓扑关系也可以包括不同的目标物理计算资源之间传输方式的限制,例如,要求GPU之间采用NVlink传输方式,CPU和GPU之间采用pcie传输方式,CPU之间采用IPC/MPI传输方式,节点之间采用tcp传输方式,等等。
其中,所述资源限制条件可以由用户指定,例如接收到的与目标服务对应资源请求信息中包括所述资源限制条件,若获取到用户指定的资源限制条件,则控制面组件将基于用户指定的资源限制条件,从所述资源管理平台管理的多种类型的物理计算资源中为所述目标虚拟计算资源确定满足所述资源限制条件的目标物理计算资源;若用户没有指定资源限制条件,则控制面组件可以根据目标服务的特性或者预设的默认条件,确定出与目标服务对应的资源限制条件,并基于该资源限制条件,从所述资源管理平台管理的多种类型的物理计算资源中为所述目标虚拟计算资源确定满足所述资源限制条件的目标物理计算资源。
可见,通过获取资源限制条件,从所述资源管理平台管理的多种类型的物理计算资源中为所述目标虚拟计算资源确定满足所述资源限制条件的目标物理计算资源,从而在将目标物理计算资源与目标虚拟计算资源进行绑定后,使分配给目标服务的目标虚拟计算资源能够更加适配于运行目标服务,满足目标服务的需求。
需要说明的是,确定与目标虚拟计算资源对应的目标物理计算资源时,还可以基于当前各个物理计算资源的资源使用情况来进行选择;若各个物理计算资源的资源使用率较低,存在大量未使用的物理计算资源,则可以选择相对有利于目标服务运行的目标物理计算资源,例如选择相对更多的目标物理计算资源,使目标虚拟资源存在一定的冗余;若各个物理计算资源的资源使用率较高或者存在大量碎片化的物理计算资源,则可以选择相对有利于提高资源利用率的目标物理计算资源。
需要说明的是,根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,对物理计算资源进行预调度,以确定对所述目标虚拟计算资源的期望状态,具体可以为根据接收到包括的目标服务的资源请求信息YAML文件,在所述YAML文件中写入对所述目标虚拟计算资源的期望状态,例如,可以采用网络钩子(webhook)等方式在所述YAML文件中增加或修改相应的字段,以将所述目标虚拟计算资源的期望状态写入到所述YAML文件中。
S230、根据所述期望状态,采用边车(sidecar)模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一资源组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
在确定出与目标虚拟计算资源对应的期望状态后,可以基于该期望状态,从资源管理平台管理的多个资源节点中确定出为所述目标服务分配的第一资源节点,在所述第一资源节点部署与所述目标虚拟计算资源对应的第一服务组件,所述第一服务组件用于运行目标服务;并且,基于该期望状态,还可以从资源管理平台管理的多个资源节点中确定出各目标物理计算资源所在的资源节点,并将位于各个资源节点上的目标物理计算资源与目标虚拟计算资源进行绑定,相当于将位于各自资源节点上的目标物理计算资源整合成一个基于需求算力进行描述的目标虚拟计算资源。绑定后的目标虚拟计算资源可以被分配给所述目标服务,也即可以被分配给用于运行该目标服务的第一服务组件。
在所述第一资源节点部署的第一服务组件可以采用多种组网方式,例如,在一种实施方式中,可以采用边车模式,所述第一服务组件可以包括主组件和边车组件,其中,所述主组件用于运行所述目标服务,所述边车组件用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度,例如,所述边车组件可以将所述目标服务的资源调度请求路由到对应的目标物理计算资源。其中,所述第一服务组件可以为pod,可以表示为Client pod,所述主组件和边车组件分别为主容器和边车容器。
需要说明的是,与目标虚拟计算资源绑定的目标物理计算资源可以包括一个或多个物理计算资源;相应的,将目标物理计算资源与目标虚拟计算资源进行绑定,其本质是将目标物理计算资源中的全部或部分算力与目标虚拟计算资源进行绑定,因此,对于一个物理计算资源可以与一个或多个虚拟计算资源进行绑定。可见,所述目标虚拟计算资源与目标物理计算资源的映射关系可以为1:n、1:1、或者n:1,等等,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用。
与所述目标虚拟计算资源绑定的目标物理计算资源可以位于一个或多个资源节点上。
其中,若所述第一资源节点上的物理计算资源可以满足目标虚拟计算资源的算力需求,则与目标虚拟计算资源对应的目标物理计算资源可以均位于分配给目标服务的第一资源节点上,这种资源分配方案可以称为本地场景的资源分配方案。如图3a所示,与目标虚拟计算资源对应的目标物理计算资源可以均位于分配给目标服务的第一资源节点上,在第一资源节点上部署第一服务组件,将第一资源节点上的目标物理计算资源与目标虚拟计算资源进行绑定,并分配给所述第一服务组件。
若所述第一资源节点上的物理计算资源无法满足目标虚拟计算资源的算力需求,则与所述目标虚拟计算资源对应的目标物理计算资源中的部分和全部可以位于除第一资源节点外的至少一个第二资源节点上,这种资源分配方案可以称为拉远场景的资源分配方案。
在拉远场景下,可以在所述第二资源节点上部署用于运行对所述第二资源节点上的目标物理计算资源进行资源调度的资源调度逻辑的第二服务组件,并在所述第一服务组件与第二服务组件之间建立链路,以使所述第一服务组件通过所述第二服务组件调用位于所述第二资源节点上的目标物理计算资源。其中,所述第二服务组件可以为pod,可以表示为Server Pod,所述第二服务组件可以包括至少一个容器,用于运行对所述第二资源节点上的目标物理计算资源进行资源调度的资源调度逻辑。
在拉远场景下,控制面组件可以对目标物理计算资源进行灵活配比,可以分别位于一个或多个第二资源节点上。例如,如图3b所示,与目标虚拟计算资源对应的目标物理计算资源可以均源于同一个第二资源节点上,所述目标虚拟计算资源与第二资源节点的配比为1:1;如图3c所示,与目标虚拟计算资源对应的目标物理计算资源可以分别源于多个第二资源节点上,所述目标虚拟计算资源与第二资源节点的配比为1:n;如图3d,与目标虚拟计算资源对应的目标物理计算资源可以分别位于第一资源节点和多个第二资源节点上,所述目标虚拟计算资源与第二资源节点的配比为1:n;如图3e所示,在第一资源节点可以部署有多个目标虚拟计算资源,并分别拉远与多个第二资源节点上的目标物理计算资源进行绑定,所述目标虚拟计算资源与第二资源节点的配比为n:n。
在拉远场景下,如图4所示,部署在第一资源节点上所述第一服务组件ClientPod,所述第一服务组件包括至少一个用于运行所述目标服务的主容器和至少一个用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车容器vXPU-client;部署在至少一个第二资源节点上的所述第二服务组件Server Pod,如图4所示,可以包括分别部署于第二资源节点上的三个第二服务组件Server Pod-1、Server Pod-2和Server Pod-3,在每个第二服务组件中可以包括至少一个容器vXPU-server,容器vXPU-server与vXPU-client建立链接,用于运行对所述第二资源节点上的目标物理计算资源进行资源调度的资源调度逻辑。
在根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态时,所述期望状态可以指示采用如上所述的本地场景或者拉远场景的分配方式,也可以指示各个目标物理计算资源所在的资源节点的数量,甚至还可以指示各个目标物理计算资源所在的资源节点的位置,等等。
需要说明的是,用户也可以在对目标服务的资源调度请求中指出是否使用如上所述的本地场景或者拉远场景的分配方式。
由上可知,控制面组件可以对与目标虚拟计算资源对应的目标物理计算资源进行灵活得配比,根据实际的需要确定采用本地场景或者拉远场景,在拉远场景下合理配置在各个第二资源节点上的目标物理计算资源,从而提高整体物理计算资源的统一调度提升集群效率。
所述控制面组件还可以用于对所述目标虚拟计算资源进行生命周期管理,使目标虚拟计算资源与对应的各个服务组件进行随航,也即同步创建或删除。控制面组件可以根据用户的需求创建或删除所述目标虚拟计算资源vXPU,并同时部辅或删除与所述目标虚拟计算资源对应的各个服务组件。
所述控制面组件还可以对已创建的目标虚拟计算资源进行监测,将监测到的目标虚拟计算资源的当前状态与所述目标虚拟计算资源的期望状态进行比较,来判断是否需要对目标虚拟计算资源进行故障迁移,例如,若目标虚拟计算资源的当前状态不符合目标虚拟计算资源的期望状态,则需要对目标虚拟计算资源进行故障迁移,使其重新满足期望状态。所述故障迁移可以包括在发现第一服务组件崩溃时,可以重新确定第一资源节点,在新的第一资源节点部署新的第一服务组件,并与第二服务组件重新建立链接;也可以在发现第二服务件崩溃时包括重新确定第二资源节点,并在新的第二资源节点部署新的第二服务组件,并与第一服务组件重新建立链接。
由上述实施例的技术方案可知,本申请实施例通过统一算力对目标服务的需求算力和各种资源类型的物理计算资源进行度量和描述,创建基于算力进行描述的虚拟计算资源,基于算力将虚拟计算资源与对应的物理计算资源进行绑定,以虚拟计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的物理计算资源的差异性,使物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。
请参见图5,图5示出了本申请实施例的一种控制面组件的结构示意图;如图5所示,所述控制面组件可以包括控制组件51和调度组件52;
其中,所述控制组件51,用于获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;
所述控制组件51,还用于根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态;其中,所述期望状态包括与所述目标虚拟计算资源对应的目标物理计算资源;
调度组件52,用于根据所述期望状态,采用边车模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一服务组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
所述控制面组件还包括部署在各个资源节点上的资源管理组件53,所述资源管理组件53用于对各个资源节点上的虚拟计算资源进行管理并上报给所述控制组件。
需要说明的是,所述控制面组件中的各个组件可以执行如上所述的实施例中技术方案,并得到相同的技术效果,重复部分此处不再赘述。
请参见图6,图6示出了一种由如上所述的控制面组件执行的虚拟计算资源的调度方法。
用户将经过算力画像生成的用于描述目标服务的相关信息resnet50.oef输入到与控制组件对应的统一的算力入口,生成与目标服务对应的资源请求信息,例如可以为YAML文件,所述YAML文件中包括:目标服务的名称(name):resnet50;声明信息(annotaion),在所述声明信息中指示以采用拉远场景的分配方式请求创建目标虚拟计算资源vxpu.io/env:vxpu-client;与目标服务的相关信息oefinfo;等等。
控制组件可以根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,对物理计算资源进行预调度,确定对所述目标虚拟计算资源的期望状态。其中,物理计算资源的资源状态信息可以由分别部署在各个资源节点上的资源管理组件上报。在确定所述目标虚拟计算资源的期望状态后,可以采用webhook在YAML文件中写入对所述目标虚拟计算资源的期望状态;例如,如图6所示,在YAML文件中增加了如下信息:
vxpu-server:
alibabacloud.com/gpu-core:xx
alibabacloud.com/gpu-memory:xx
containers:sidecar
containers:resnet50
用于表示在第一资源节点部署的第一服务组件中包括两个容器,分别为边车容器sidecar和主容器resnet50;在第二资源节点部署的第二服务组件中包括容器vxpu-server,与该容器绑定的物理计算资源为alibabacloud.com/gpu-core:xx和alibabacloud.com/gpu-memory:xx。
修改后的YAML文件可以存储到数据库ETCD中,所述ETCD为一种分布式统一键值存储。
调度组件可以从ETCD读取该YAML文件,基于YAML文件中对目标虚拟计算资源的期望状态进行资源调度和分配,从资源管理平台管理的多个资源节点中将node1作为第一资源节点、将node2作为第二资源节点;还确定了需要在第一资源节点部辅包括边车容器sidecar和主容器resnet50的第一服务组件,在第二资源节点部署包括容器vxpu-sever的第二服务组件,以及各个容器对应的资源(resource)。
调度组件可以与部辅在第一资源节点和第二资源节点上的资源管理组件配合,分别在第一资源节点上部署第一服务组件,在第二资源节点上部署第二服务组件。
在各个资源节点上的资源管理组件可以对资源节点上的目标虚拟计算资源和物理计算资源的资源状态信息进行上报。
控制组件可以对目标虚拟计算资源和对应的服务组件进行生命周期管理和故障迁移。
如图6所示,基于对目标服务的资源请求信息对目标虚拟计算资源进行创建、部署、调度的过程中,可以基于预先为虚拟计算资源vXPU定义的一套原生CRDs,生成与目标虚拟计算资源相应的信息,包括:vXPUClaim、vXPUClass、vXPU、XPU等等。
由上述实施例的技术方案可知,本申请实施例通过用于对自定义的虚拟计算资源进行管理的控制面组件,基于统一算力对目标服务的需求算力和各种资源类型的物理计算资源进行度量和描述,创建基于算力进行描述的虚拟计算资源,基于算力将虚拟计算资源与对应的物理计算资源进行绑定,以虚拟计算资源作为可分配的资源单元进行调度,从而可以屏蔽不同资源类型的物理计算资源的差异性,使物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。
与前述虚拟计算资源的调度方法的实施例相对应,本申请还提供了虚拟计算资源的调度装置的实施例。
如图7所示,所述虚拟计算资源的调度装置包括:请求接收模块701、资源调度模块702和服务部署模块703。
所述请求接收模块701用于获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;
所述资源调度模块702用于根据所述算力需求和所述资源管理平台管理的多种资源类型的物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态;其中,所述期望状态包括与所述目标虚拟计算资源对应的目标物理计算资源;
所述服务部署模块703用于根据所述期望状态,采用边车模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一服务组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
本申请实施例可以屏蔽不同资源类型的物理计算资源的差异性,使物理计算资源可以基于统一算力进行切分和聚合;在从多种资源类型的物理计算资源中确定出满足算力需求的目标物理计算资源并与虚拟计算资源进行绑定时,可以根据需要将碎片化的物理计算资源与虚拟计算资源进行绑定,从而可以实现对物理计算资源的资源整合,提高对碎片化资源的利用率,使整体的资源使用效率更高。
图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种虚拟计算资源的调度方法,其特征在于,包括:
获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;
根据所述算力需求和管理的多种资源类型的物理计算资源的资源状态信息,确定对所述目标虚拟计算资源的期望状态;其中,所述期望状态包括与所述目标虚拟计算资源对应的目标物理计算资源;
根据所述期望状态,采用边车模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一服务组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
2.根据权利要求1所述的方法,其特征在于,所述获取与目标服务对应的待创建的目标虚拟计算资源的算力需求,包括:
获取所述目标服务的资源请求信息;
基于所述资源请求信息,确定是否为所述目标服务分配虚拟计算资源;若是,则通过预设的算力预估算法,基于所述资源请求信息预估得到与目标服务对应的待创建的目标虚拟计算资源的算力需求。
3.根据权利要求2所述的方法,其特征在于,所述目标物理计算资源包括位于若干个第二资源节点上的目标物理计算资源;
所述方法还包括:
在所述第二资源节点上部署用于运行对所述第二资源节点上的目标物理计算资源进行资源调度的资源调度逻辑的第二服务组件;
在所述第一服务组件与第二服务组件之间建立链路,以使所述第一服务组件通过所述第二服务组件调用位于所述第一资源节点上的目标物理计算资源。
4.根据权利要求3所述的方法,其特征在于,所述资源请求还包括对所述目标物理计算资源的资源限制条件;所述期望状态包括满足所述资源限制条件的与所述目标虚拟计算资源对应的目标物理计算资源。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述目标虚拟计算资源进行生命周期管理;
和/或,
对所述目标虚拟计算资源进行故障迁移。
6.根据权利要求1所述的方法,其特征在于,所述物理计算资源为处理器资源;所述虚拟计算资源为虚拟容器资源;所述服务组件为包括至少一个容器的容器组;所述主组件为用于运行所述目标服务的主容器;所述边车组件为用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车容器;所述算力需求为所述目标服务请求创建容器组的算力需求。
7.一种控制面组件,其特征在于,包括:
控制组件,用于获取与目标服务对应的待创建的目标虚拟计算资源的算力需求;
所述控制组件,还用于根据所述算力需求,从所述资源管理平台管理的多种资源类型的物理计算资源中确定与所述目标虚拟计算资源对应的目标物理计算资源;
调度组件,用于采用边车模式在为所述目标服务分配的第一资源节点部署与所述目标虚拟计算资源对应第一服务组件,并将所述目标物理计算资源与所述目标虚拟计算资源进行绑定;其中,所述第一服务组件包括用于运行所述目标服务的主组件和用于辅助所述目标服务对所述目标虚拟计算资源进行资源调度的边车组件。
8.根据权利要求7所述的控制面组件,其特征在于,所述控制面组件还包括部署在各个资源节点上的资源管理组件,所述资源管理组件用于对各个资源节点上的虚拟计算资源进行管理并上报给所述控制组件。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310653084.8A CN116880996A (zh) | 2023-06-02 | 2023-06-02 | 虚拟计算资源的调度方法及控制面组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310653084.8A CN116880996A (zh) | 2023-06-02 | 2023-06-02 | 虚拟计算资源的调度方法及控制面组件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116880996A true CN116880996A (zh) | 2023-10-13 |
Family
ID=88266934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310653084.8A Pending CN116880996A (zh) | 2023-06-02 | 2023-06-02 | 虚拟计算资源的调度方法及控制面组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880996A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118331751A (zh) * | 2024-06-14 | 2024-07-12 | 济南浪潮数据技术有限公司 | 计算资源分配方法、计算机程序、设备及介质 |
-
2023
- 2023-06-02 CN CN202310653084.8A patent/CN116880996A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118331751A (zh) * | 2024-06-14 | 2024-07-12 | 济南浪潮数据技术有限公司 | 计算资源分配方法、计算机程序、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113377540B (zh) | 集群资源调度方法及装置、电子设备和存储介质 | |
CN115328663A (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
CN109521943B (zh) | 云数据库实例的分配方法及相关产品 | |
US11422858B2 (en) | Linked workload-processor-resource-schedule/processing-system—operating-parameter workload performance system | |
CN112463375A (zh) | 一种数据处理的方法和装置 | |
CN113553178A (zh) | 任务处理方法、装置和电子设备 | |
CN105630683A (zh) | 一种云测试体系架构 | |
CN116880996A (zh) | 虚拟计算资源的调度方法及控制面组件 | |
CN112202829A (zh) | 基于微服务的社交机器人调度系统和调度方法 | |
CN115421924A (zh) | 一种内存分配方法、装置及设备 | |
CN117009069A (zh) | 虚拟云计算资源的调度方法及装置 | |
CN113206876A (zh) | 一种移动边缘计算环境下双标签感知的服务重部署方法 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
Li et al. | On scheduling of high-throughput scientific workflows under budget constraints in multi-cloud environments | |
CN111475277A (zh) | 一种资源分配方法、系统、设备及机器可读存储介质 | |
CN115994029A (zh) | 容器资源调度方法及装置 | |
CN115421926A (zh) | 任务调度方法、分布式系统、电子设备及存储介质 | |
CN114138444A (zh) | 一种任务调度方法、装置、设备、存储介质及程序产品 | |
CN114237902A (zh) | 一种服务部署方法、装置、电子设备及计算机可读介质 | |
Li et al. | SoDa: A Serverless‐Oriented Deadline‐Aware Workflow Scheduling Engine for IoT Applications in Edge Clouds | |
CN116032928B (zh) | 数据协同计算方法、装置、系统、电子装置和存储介质 | |
US20230342200A1 (en) | System and method for resource management in dynamic systems | |
US20240311200A1 (en) | Thread diaphram resource model (tdrm) for real-time access control and dynamic sizing of resource pools | |
JP6020014B2 (ja) | 分散データストア管理装置、分散並列処理実行装置、分散並列処理システム、分散データストア管理方法、分散並列処理実行方法、および、コンピュータ・プログラム |
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 |