CN116991558B - 算力资源的调度方法及多架构集群、装置、存储介质 - Google Patents
算力资源的调度方法及多架构集群、装置、存储介质 Download PDFInfo
- Publication number
- CN116991558B CN116991558B CN202311233661.4A CN202311233661A CN116991558B CN 116991558 B CN116991558 B CN 116991558B CN 202311233661 A CN202311233661 A CN 202311233661A CN 116991558 B CN116991558 B CN 116991558B
- Authority
- CN
- China
- Prior art keywords
- computing
- node
- calculation
- target
- computing power
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004364 calculation method Methods 0.000 claims abstract description 247
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000005259 measurement Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 239000004744 fabric Substances 0.000 claims 7
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012360 testing method Methods 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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
-
- 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
-
- 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)
- Power Sources (AREA)
Abstract
本申请实施例提供了一种算力资源的调度方法及多架构集群、装置、存储介质,其中,该方法包括:确定N个计算节点中每个计算节点的算力值;利用目标计算节点的算力值和目标资源对象的资源需求,计算资源需求对应的标准算力值,其中,目标计算节点是N个计算节点中的任一计算节点,标准算力值用于表示目标资源对象需求的算力资源,目标资源对象设置在多架构集群中;基于标准算力值为目标资源对象调度N个计算节点的算力资源。通过本申请,解决了相关技术中存在的无法等价调度算力资源的问题,达到实现算力资源等价调度的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种算力资源的调度方法及多架构集群、装置、存储介质。
背景技术
现有技术中,一个多架构集群的内部可能包含多种中央处理器(CentralProcessing Unit,简称为CPU)规格的节点,应用通过构建显示(manifest)镜像实现在不同架构节点间的迁移,但应用资源对象pod的Request和Limit规格不会改变;因此将出现一个pod迁移到不同架构或不同型号的节点上,都会申请同样规格的节点资源的情况;对于算力差距较大的两台节点,这将导致pod中的应用性能表现不同,最终带来应用运行时的风险;
同时,针对节点资源,多架构集群只会根据节点上报的节点核的个数进行调度,无法考虑节点型号的差异带来的算力差异,从节点角度来看,同样核数的节点所能支撑的实际业务数量也会不同。例如,Arm架构的CPU核数往往较多,但单核算力要低于x86架构,但k8s只根据核数调度,造成Arm架构节点上的pod过多,但实际节点算力并不足以等量支撑2倍的pod,最终造成应用卡顿等异常情况。
发明内容
本申请实施例提供了一种算力资源的调度方法及多架构集群、装置、存储介质,以至少解决相关技术中无法等价调度算力资源的问题。
根据本申请的一个实施例,提供了一种算力资源的调度方法,包括:确定N个计算节点中每个上述计算节点的算力值,其中,每个上述计算节点的算力值用于表示每个上述计算节点中的内核对应的算力,N个上述计算节点设置在多架构集群中,上述N是大于或等于1的自然数;利用目标计算节点的算力值和目标资源对象的资源需求,计算上述资源需求对应的标准算力值,其中,上述目标计算节点是N个上述计算节点中的任一计算节点,上述标准算力值用于表示上述目标资源对象需求的算力资源,上述目标资源对象设置在上述多架构集群中;基于上述标准算力值为上述目标资源对象调度N个上述计算节点的算力资源。
根据本申请的另一个实施例,提供了一种多架构集群,包括:节点控制器,算力计算器和调度器,其中,上述节点控制器,用于通过多架构集群中的服务接口获取到N个计算节点创建的情况下,向每个上述计算节点发送测算任务,其中,每个上述计算节点对应的测算任务用于测算每个上述计算节点的算力值,每个上述计算节点的算力值用于表示每个上述计算节点中的内核对应的算力,上述N是大于或等于1的自然数;算力计算器,用于通过上述服务接口获取到目标资源对象在上述多架构集群中创建的情况下,利用目标计算节点的算力值和上述目标资源对象的资源需求,计算上述资源需求对应的标准算力值,其中,上述目标计算节点是N个上述计算节点中的任一计算节点,上述标准算力值用于表示上述目标资源对象需求的算力资源;上述调度器,用于基于上述标准算力值为上述目标资源对象调度N个上述计算节点的算力资源。
在一个示例性实施例中,上述节点控制器,还用于生成与每个上述计算节点的节点架构匹配的上述测算任务,并将上述测算任务发送至对应的上述计算节点,其中,上述测算任务中包括测算上述计算节点的算力的测算程序。
在一个示例性实施例中,上述计算节点,用于运行对应的上述测算程序,得到运行结果,其中,上述运行结果用于确定上述计算节点的算力值。
在一个示例性实施例中,上述计算节点,还用于将上述运行结果进行数值转换,得到目标分值,并将上述目标分值转换为与上述计算节点的节点信息的格式对应的信息,得到上述计算节点的算力值,其中,上述目标分值为整数。
在一个示例性实施例中,上述算力计算器,还用于计算上述目标计算节点的算力值和上述目标计算节点的内核数量之间的比值,计算上述目标资源对象需求的内核数和上述比值之间的乘积值,并利用上述乘积值和预设系数计算上述标准算力值。
在一个示例性实施例中,上述预设系数为整数,上述预设系数与上述目标计算节点的算力资源相对应。
在一个示例性实施例中,上述算力计算器,还用于将上述标准算力值附加至上述目标资源对象的资源声明字段中。
在一个示例性实施例中,上述调度器,还用于利用上述标准算力值和每个上述计算节点的算力值确定每个上述计算节点允许承载上述目标资源对象的数量,并按照每个上述计算节点允许承载上述目标资源对象的数量为上述目标资源对象调度每个上述计算节点的算力资源。
在一个示例性实施例中,上述调度器,还用于将上述标准算力值和每个上述计算节点的算力值之间的差值确定为每个上述计算节点的剩余算力值,并将每个上述计算节点的剩余算力值和上述标准算力值之间的比值确定为每个上述计算节点允许承载上述目标资源对象的数量。
根据本申请的另一个实施例,提供了一种算力资源的调度装置,包括:第一确定模块,用于确定N个计算节点中每个上述计算节点的算力值,其中,每个上述计算节点的算力值用于表示每个上述计算节点中的内核对应的算力,N个上述计算节点设置在多架构集群中,上述N是大于或等于1的自然数;第一计算模块,用于利用目标计算节点的算力值和目标资源对象的资源需求,计算上述资源需求对应的标准算力值,其中,上述目标计算节点是N个上述计算节点中的任一计算节点,上述标准算力值用于表示上述目标资源对象需求的算力资源,上述目标资源对象设置在上述多架构集群中;第一调度模块,用于基于上述标准算力值为上述目标资源对象调度N个上述计算节点的算力资源。
在一个示例性实施例中,上述第一确定模块,包括:第一获取单元,用于在确定上述多架构集群中创建上述计算节点的情况下,获取上述计算节点的节点架构;第一生成单元,用于生成与上述计算节点的节点架构匹配的测算任务,其中,上述测算任务中包括测算上述计算节点的算力的测算程序;第一发送单元,用于将上述测算任务发送至上述计算节点,以在上述计算节点中运行上述测算程序,得到运行结果;第一确定单元,用于基于上述运行结果确定上述计算节点的算力值。
在一个示例性实施例中,上述第一确定单元,包括:第一转换子单元,用于将上述运行结果进行数值转换,得到目标分值,其中,上述目标分值为整数;第二转换子单元,用于将上述目标分值转换为与上述计算节点的节点信息的格式对应的信息,得到上述计算节点的算力值。
在一个示例性实施例中,上述第一计算模块,包括:第二获取单元,用于在确定上述多架构集群中创建上述目标资源对象的情况下,获取上述目标资源对象的资源需求;第一换算单元,用于利用上述目标计算节点的算力值将上述资源需求中上述目标资源对象需求的内核数换算为上述标准算力值。
在一个示例性实施例中,上述第一换算单元,包括:第一计算子单元,用于计算上述目标计算节点的算力值和上述目标计算节点的内核数量之间的比值;第二计算子单元,用于计算上述目标资源对象需求的内核数和上述比值之间的乘积值;第三计算子单元,用于利用上述乘积值和预设系数计算上述标准算力值。
在一个示例性实施例中,上述预设系数为整数,上述预设系数与上述目标计算节点的算力资源相对应。
在一个示例性实施例中,上述装置还包括:第一附加模块,用于利用目标计算节点的算力值将上述资源需求中上述目标资源对象需求的内核数换算为上述标准算力值之后,将上述标准算力值附加至上述目标资源对象的资源声明字段中。
在一个示例性实施例中,上述第一调度模块,包括:第二确定单元,用于利用上述标准算力值和每个上述计算节点的算力值确定每个上述计算节点允许承载上述目标资源对象的数量;第一调度单元,用于按照每个上述计算节点允许承载上述目标资源对象的数量为上述目标资源对象调度每个上述计算节点的算力资源。
在一个示例性实施例中,第二确定单元,包括:第一确定子单元,用于将上述标准算力值和每个上述计算节点的算力值之间的差值确定为每个上述计算节点的剩余算力值;第二确定子单元,用于将每个上述计算节点的剩余算力值和上述标准算力值之间的比值确定为每个上述计算节点允许承载上述目标资源对象的数量。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于计算出了多架构集群中的N个计算节点的算力值,并计算出了目标资源对象的资源需求对应的标准算力值,基于标准算力值为目标资源对象调度N个计算节点的算力资源。并不是按照N个计算节点的核数进行算力资源的调度,考虑了不同计算节点的算力差异。因此,可以解决相关技术中存在的无法等价调度算力资源的问题,达到实现算力资源等价调度的效果。
附图说明
图1是本申请实施例的一种算力资源的调度方法的移动终端的硬件结构框图;
图2是根据本申请实施例的算力资源的调度方法的流程图;
图3是根据本申请实施例的相关技术中k8s集群内部的结构示意图一;
图4是根据本申请实施例的相关技术中k8s集群内部的结构示意图二;
图5是根据本申请实施例的podrequest与标准算力换算关系图的流程图;
图6是根据本申请实施例的组件的部署架构示意图;
图7是根据本申请实施例的算力资源的调度装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本实施例中的相关技术描述如下:
k8s/kubernetes,一个开源的容器编排调度平台;
cmpcloudmanageplatform,云管理平台,能够使用户通过统一的管理平台对混合云及多个数据中心的资源进行管理,从而极大的提高了工作效率,降低了维护成本;
kubectlk8s,官方提供的命令行工具;
k8smasterk8,集群中部署了k8s管理组件的节点,例如apiserver、kube-scheduler、controller-manager等;
k8snodek8s集群中部署的管理组件,用于运行工作负载的节点;
api-serverk8s集群中用于提供对外api服务的模块;
list-watch是k8s统一的异步消息处理机制,可以将k8s中资源对象的变化准实时的同步到client端,并保证消息的可靠性、顺序性等。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种算力资源的调度方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的算力资源的调度方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种算力资源的调度方法,图2是根据本申请实施例的算力资源的调度方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定N个计算节点中每个计算节点的算力值,其中,每个计算节点的算力值用于表示每个计算节点中的内核对应的算力,N个计算节点设置在多架构集群中,N是大于或等于1的自然数;
步骤S204,利用目标计算节点的算力值和目标资源对象的资源需求,计算资源需求对应的标准算力值,其中,目标计算节点是N个计算节点中的任一计算节点,标准算力值用于表示目标资源对象需求的算力资源,目标资源对象设置在多架构集群中;
步骤S206,基于标准算力值为目标资源对象调度N个计算节点的算力资源。
其中,上述步骤的执行主体可以为终端、服务器、终端或服务器中设置的具体处理器,或者与终端或者服务器相对独立设置的处理器或者处理设备,但不限于此。
步骤S202和步骤S204的执行顺序是可以互换的,即可以先执行步骤S204,然后再执行S202。
通过上述步骤,由于计算出了多架构集群中的N个计算节点的算力值,并计算出了目标资源对象的资源需求对应的标准算力值,基于标准算力值为目标资源对象调度N个计算节点的算力资源。并不是按照N个计算节点的核数进行算力资源的调度,考虑了不同计算节点的算力差异。因此,可以解决相关技术中存在的无法等价调度算力资源的问题,达到实现算力资源等价调度的效果。
可选地,上述算力资源的调度方法可以但不限于应用于需要调度计算节点的场景中。例如,在k8s(Kubernetes)集群中为Pod调度多个CPU的计算资源的场景。
可选地,算力是计算机设备或计算/数据中心处理信息的能力,是计算机硬件和软件配合共同执行某种计算需求的能力。
可选地,多架构集群包括但不限于是k8s,目标资源对象包括但不限于是pod。k8s是开源的容器集群管理系统。在应用容器引擎Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。k8s是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时k8s提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。随着深度学习研究在各个领域逐渐落地,工业界开始探索完善一套从数据获取到模型训练再到模型落地的完整体系,降低模型训练的计算资源成本,缩短模型开发的周期。为达到这一目的,各大云服务提供商都推出了自己的深度学习云平台。深度学习云平台解决了传统方法直接在个人计算机PC或服务器上训练带来的计算资源成本高、缺少统一的资源监控系统、算法人员需要参与运维(例如,搭建硬件软件环境)等问题;同时,它们基于k8s统一的资源监控和调度,使计算中心的资源利用率大大提升,有效地降低了成本。
可选地,在k8s中,Pod是最小的可调度单元,它可以包含一个或多个容器。在Pod的配置中,有两个重要的字段用于定义容器的资源需求和限制,即resources.requests和resources.limits。
resources.requests:这个字段用于定义容器对资源的请求。它指定了容器在调度时所需的最小资源量。资源可以包括CPU(计算能力)和内存。通过设置resources.requests,k8s调度器可以根据这些需求将Pod分配到合适的计算节点上,以确保容器有足够的资源可用。例如,可以设置容器的CPU请求为500m(表示500毫核)和内存请求为1Gi(表示1GB内存)。
resources.limits:这个字段用于定义容器对资源的限制。它指定了容器能够使用的资源上限。资源的限制有助于保护集群中的其他容器免受某个容器过度使用资源的影响。如果容器超过了设置的限制,k8s会对其进行限制并可能终止容器。类似于resources.requests,resources.limits也可以设置CPU和内存的限制。例如,可以设置容器的CPU限制为1核和内存限制为2GB。
可选地,k8s中pod的request和limit可以定义如下:
requests:
memory:“128Mi”;
CPU:“200m”;
limit:
memory:“1024Mi”。
可选地,k8s中计算节点node的容量capacity可以定义如下:
Capacity:
CPU:48;
mem-hard-eviction-threshold:500Mi;
mem-soft-eviction-threshold:1536Mi;
memory:26319256Ki;
pods:256。
本实施例通过合理设置resources.requests和resources.limits,可以确保容器获得足够的资源来运行,并对计算资源的使用进行适当的限制,从而提高系统的稳定性和性能。这些字段的设置也对k8s集群的资源调度和管理起到重要作用。
可选地,计算节点包括但不限于具备数据处理或数据计算能力的节点,例如,CPU、GPU等。例如,在k8s集群中,存在两种常见的CPU架构,分别是x86和arm;x86 CPU(例如,Intel和AMD的处理器)和ARM CPU(例如,ARM架构的处理器)在性能方面存在一些差距,但具体的差距取决于具体的处理器型号、架构设计和应用场景。以下是一些一般情况下的性能差距:
指令集架构:x86 CPU采用复杂指令集(CISC),而ARM CPU采用精简指令集(RISC)。由于复杂指令集执行更多的指令操作,因此在某些任务上,x86 CPU可能会比ARM CPU具有更高的性能。
单核性能:一般情况下,x86 CPU的单核性能相对较高。这是因为x86 CPU在历史上一直致力于提高单核性能,尤其是在桌面和服务器领域。ARM CPU则更多地专注于功耗效率和多核性能。
多核性能:由于ARM架构在移动设备和嵌入式领域广泛应用,其设计更加注重功耗和多核处理能力。ARM CPU通常在多核配置中表现出色,特别适用于高度并行化的工作负载,如服务器领域的分布式计算。
能效比:ARM CPU通常在功耗效率方面表现优秀,这使其在便携设备、物联网和嵌入式系统中得到广泛应用。相对而言,x86 CPU的功耗较高,适用于需要更高性能的场景,如桌面计算和服务器领域。
如图3所示,目前对于k8s集群来说,一个集群内部可能包含多种CPU规格的节点,应用通过构建manifest镜像实现在不同架构节点间的迁移,但应用pod的request和limit规格不会改变;因此将出现一个pod迁移到不同CPU架构/不同CPU型号的节点上,都会申请同样规格的CPU资源的情况;对于CPU算力差距较大的两台节点,这将导致pod中的应用性能表现不同,最终带来应用运行时的风险。同时,针对CPU资源,k8s只会根据节点上报的CPU核的个数进行调度,无法考虑CPU型号的差异带来的算力差异,从节点角度来看,同样核数的node所能支撑的实际业务数量也会不同。例如,如图4所示,arm架构的CPU核数往往较多,但单核算力要低于x86架构,但k8s只根据核数调度,造成arm架构节点上的pod过多,但实际节点算力并不足以等量支撑2倍的pod,最终造成应用卡顿等异常情况。本实施例可以通过自动化的方式对k8s节点的CPU算力进行评估,并依据CPU型号对节点增加对应的标准算力资源;CPU敏感型的应用在创建、跨节点漂移时可以自动为应用添加对应的CPU标准算力声明,由k8s根据标准算力进行node的预选和优选过程,以此实现应用在一云多芯场景下的CPU算力等价调度,保障应用的平稳运行,在当今供应链风险增大、集群内多种CPU型号并存的场景下具有较高的实用价值。
在一个示例性实施例中,确定N个计算节点中每个计算节点的算力值,包括:在确定多架构集群中创建计算节点的情况下,获取计算节点的节点架构;生成与计算节点的节点架构匹配的测算任务,其中,测算任务中包括测算计算节点的算力的测算程序;将测算任务发送至计算节点,以在计算节点中运行测算程序,得到运行结果;基于运行结果确定计算节点的算力值。
可选地,可以通过k8s中的list-watch机制确定多架构集群中有新增计算节点,并通过apisever获取计算节点的型号、组成结构,例如,计算节点可以是ARM CPU,还可以是x86 CPU。
可选地,测算程序是预先编辑的,基于不同的计算节点的架构将测算程序编译成计算节点可以识别的语言,得到测算任务。计算节点运行测算程序的过程中,就可以获知计算节点的真实计算能力。
可选地,基于运行结果确定计算节点的算力值,包括:将运行结果进行数值转换,得到目标分值,其中,目标分值为整数;将目标分值转换为与计算节点的节点信息的格式对应的信息,得到计算节点的算力值。在本实施例中,测算任务以job的方式运行在k8s的节点上,通过测算任务进行计算节点的算力测算,将算力测算结果换算为整数,并以节点capacity的形式更新到计算节点信息上;capacity的格式固定为key:value格式,例如,intel某型号cpu测算得分为47分,则为节点增加相应的capacity如下所示:
capacity:
cpu:64;
standard-cpu:47000;
mem-hard-eviction-threshold:500Mi;
mem-soft-eviction- threshold:1536Mi;
memory:263192560ki;
pods:256。
本实施例通过CPU标准算力的资源类型,以capacity的形式附加与k8snode对象之上;并通过list-watchnode资源,对于新建的node下发job的方式,为k8s的计算节点实现标准算力的自动测算和capacity资源的修改。
在一个示例性实施例中,利用目标计算节点的算力值和目标资源对象的资源需求,计算资源需求对应的标准算力值,包括:在确定多架构集群中创建目标资源对象的情况下,获取目标资源对象的资源需求;利用目标计算节点的算力值将资源需求中目标资源对象需求的内核数换算为标准算力值。
可选地,在多架构集群中新增目标资源对象时,根据目标资源对象填写的资源需求,换算为对应的标准算力值,附加至目标资源对象的资源声明字段中。
可选地,利用目标计算节点的算力值将资源需求中目标资源对象需求的内核数换算为标准算力值,包括:计算目标计算节点的算力值和目标计算节点的内核数量之间的比值;计算目标资源对象需求的内核数和比值之间的乘积值;利用乘积值和预设系数计算标准算力值。在本实施例中,目标计算节点是执行的任一个计算节点,作为算力基准,后续的标准算力换算将依据目标计算节点的基准进行。例如,通过以下换算公式计算标准算力值:standard-cpu=(cpurequest*(基准节点算力值/基准节点核数))*1000,其中,standard-cpu用于表示标准算力值,cpurequest用于表示资源需求,基准节点算力值用于表示目标计算节点的算力值,基准节点核数用于表示目标计算节点的内核数量。由于k8s的capacity需要整数形式,因此标准算力换算时乘以1000的系数,预设系数为整数,预设系数与目标计算节点的算力资源相对应,实现更加精准的资源分配。例如,用户指定某CPU作为基准算力节点,该节点CPU核数为64核,算力测算得分为47,则标准算力换算系数为47/64=0.734,即以此节点为基准,应用每申请1核的CPU,则代表该应用需要734单位的标准算力值。
本实施例通过目标计算节点的算力值和目标资源对象的资源需求,计算资源需求对应的标准算力值,并通过用户指定基准节点,形成CPU资源与标准算力的换算系数;可以满足需要根据k8s节点上的可量化的资源特性进行特定调度的需求。
在一个示例性实施例中,基于标准算力值为目标资源对象调度N个计算节点的算力资源,包括:利用标准算力值和每个计算节点的算力值确定每个计算节点允许承载目标资源对象的数量;按照每个计算节点允许承载目标资源对象的数量为目标资源对象调度每个计算节点的算力资源。
可选地,利用标准算力值和每个计算节点的算力值确定每个计算节点允许承载目标资源对象的数量,包括:将标准算力值和每个计算节点的算力值之间的差值确定为每个计算节点的剩余算力值;将每个计算节点的剩余算力值和标准算力值之间的比值确定为每个计算节点允许承载目标资源对象的数量。如图5所示,代表一个用户的pod可通过标准算力换算,实现x86和arm节点上的算力等价调度。例如,如果pod调度到CPU64的节点上,CPU64节点剩余标准算力资源即为47000-1468=45532;CPU64节点最大承载2核应用的量为47000/1468=32个,与64核可承载的量一致。如果该pod调度到CPU128节点上,CPU128节点剩余标准算力资源即为37600-1468=36132;CPU128节点最大承载2核应用的量为37600/1468=25个;与该CPU128的实际算力可承载的量一致;即128核arm总算力约为64核*86的80%。
本实施例利用标准算力值和每个计算节点的算力值确定每个计算节点允许承载目标资源对象的数量;按照每个计算节点允许承载目标资源对象的数量为目标资源对象调度每个计算节点的算力资源。实现了在一云多芯场景下的CPU算力的等价调度。
根据本申请的另一个实施例,提供了一种多架构集群,包括:节点控制器,算力计算器和调度器,其中,上述节点控制器,用于通过多架构集群中的服务接口获取到N个计算节点创建的情况下,向每个上述计算节点发送测算任务,其中,每个上述计算节点对应的测算任务用于测算每个上述计算节点的算力值,每个上述计算节点的算力值用于表示每个上述计算节点中的内核对应的算力,上述N是大于或等于1的自然数;算力计算器,用于通过上述服务接口获取到目标资源对象在上述多架构集群中创建的情况下,利用目标计算节点的算力值和上述目标资源对象的资源需求,计算上述资源需求对应的标准算力值,其中,上述目标计算节点是N个上述计算节点中的任一计算节点,上述标准算力值用于表示上述目标资源对象需求的算力资源;上述调度器,用于基于上述标准算力值为上述目标资源对象调度N个上述计算节点的算力资源。
通过上述多架构集群,由于计算出了多架构集群中的N个计算节点的算力值,并计算出了目标资源对象的资源需求对应的标准算力值,基于标准算力值为目标资源对象调度N个计算节点的算力资源。并不是按照N个计算节点的核数进行算力资源的调度,考虑了不同计算节点的算力差异。因此,可以解决相关技术中存在的无法等价调度算力资源的问题,达到实现算力资源等价调度的效果。
可选地,上述多架构集群包括但不限于是k8s(Kubernetes),在k8s集群中为Pod调度多个CPU的计算资源的场景。
可选地,如图6所示,在k8s集群中,节点控制器是Node-controller,算力计算器是webhook。
节点控制器node-controller:通过list-watch机制,获取k8s集群中的节点创建事件,当发现有新的计算节点node对象创建时,自动为该node下发一个CPU算力测算job(对应于上述中的测算任务),通过该job为该新增节点进行算力测算;
可选地CPU算力测算任务job:以job的方式运行在k8s的节点上,由节点控制器node-controller下发,由k8s保证该模块运行完成后自动停止;该模块的核心功能为通过cpu算力测算程序,例如,spec-cpu等进行节点CPU的算力测算,将算力测算结果换算为整数,并以节点capacity的形式更新到节点信息上;
可选地,算力标准capacity格式固定为key:value格式,例如,intel某型号CPU测算得分为47分,则为节点增加相应的capacity如下所示:
capacity:
cpu:64;
standard-cpu:47000;
mem-hard-eviction-threshold:500Mi;
mem-soft-eviction- threshold:1536Mi;
memory:263192560ki;
pods:256。
可选地,标准算力webhook,以webhook的形态注册与k8sapiserver之上,关联pod的创建事件,当有pod创建时,将自动根据pod填写的资源需求cpurequest信息,换算为对应的标准算力值,附加到pod的资源声明字段中。
该webhook需要用户指定一个节点的CPU算力测算结果作为算力基准,后续的标准算力换算将依据该节点的基准进行;其换算公式如下:standard-cpu=(cpurequest*(基准节点算力值/基准节点核数))*1000,其中,standard-cpu用于表示标准算力值,cpurequest用于表示资源需求,基准节点算力值用于表示目标计算节点的算力值,基准节点核数用于表示目标计算节点的内核数量。由于k8s的capacity需要整数形式,因此标准算力换算时乘以1000的系数,预设系数为整数,预设系数与目标计算节点的算力资源相对应,实现更加精准的资源分配。例如,用户指定某CPU作为基准算力节点,该节点CPU核数为64核,算力测算得分为47,则标准算力换算系数为47/64=0.734,即以此节点为基准,应用每申请1核的CPU,则代表该应用需要734单位的标准算力值。
在一个示例性实施例中,上述节点控制器,还用于生成与每个上述计算节点的节点架构匹配的上述测算任务,并将上述测算任务发送至对应的上述计算节点,其中,上述测算任务中包括测算上述计算节点的算力的测算程序。
在一个示例性实施例中,上述计算节点,用于运行对应的上述测算程序,得到运行结果,其中,上述运行结果用于确定上述计算节点的算力值。
在一个示例性实施例中,上述计算节点,还用于将上述运行结果进行数值转换,得到目标分值,并将上述目标分值转换为与上述计算节点的节点信息的格式对应的信息,得到上述计算节点的算力值,其中,上述目标分值为整数。
在一个示例性实施例中,上述算力计算器,还用于计算上述目标计算节点的算力值和上述目标计算节点的内核数量之间的比值,计算上述目标资源对象需求的内核数和上述比值之间的乘积值,并利用上述乘积值和预设系数计算上述标准算力值。
在一个示例性实施例中,上述预设系数为整数,上述预设系数与上述目标计算节点的算力资源相对应。
在一个示例性实施例中,上述算力计算器,还用于将上述标准算力值附加至上述目标资源对象的资源声明字段中。
在一个示例性实施例中,上述调度器,还用于利用上述标准算力值和每个上述计算节点的算力值确定每个上述计算节点允许承载上述目标资源对象的数量,并按照每个上述计算节点允许承载上述目标资源对象的数量为上述目标资源对象调度每个上述计算节点的算力资源。
在一个示例性实施例中,上述调度器,还用于将上述标准算力值和每个上述计算节点的算力值之间的差值确定为每个上述计算节点的剩余算力值,并将每个上述计算节点的剩余算力值和上述标准算力值之间的比值确定为每个上述计算节点允许承载上述目标资源对象的数量。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种算力资源的调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本申请实施例的算力资源的调度装置的结构框图,如图7所示,该装置包括:
第一确定模块72,用于确定N个计算节点中每个上述计算节点的算力值,其中,每个上述计算节点的算力值用于表示每个上述计算节点中的内核对应的算力,N个上述计算节点设置在多架构集群中,上述N是大于或等于1的自然数;
第一计算模块74,用于利用目标计算节点的算力值和目标资源对象的资源需求,计算上述资源需求对应的标准算力值,其中,上述目标计算节点是N个上述计算节点中的任一计算节点,上述标准算力值用于表示上述目标资源对象需求的算力资源,上述目标资源对象设置在上述多架构集群中;
第一调度模块76,用于基于上述标准算力值为上述目标资源对象调度N个上述计算节点的算力资源。
通过上述装置,由于计算出了多架构集群中的N个计算节点的算力值,并计算出了目标资源对象的资源需求对应的标准算力值,基于标准算力值为目标资源对象调度N个计算节点的算力资源。并不是按照N个计算节点的核数进行算力资源的调度,考虑了不同计算节点的算力差异。因此,可以解决相关技术中存在的无法等价调度算力资源的问题,达到实现算力资源等价调度的效果。
在一个示例性实施例中,上述第一确定模块,包括:
第一获取单元,用于在确定上述多架构集群中创建上述计算节点的情况下,获取上述计算节点的节点架构;
第一生成单元,用于生成与上述计算节点的节点架构匹配的测算任务,其中,上述测算任务中包括测算上述计算节点的算力的测算程序;
第一发送单元,用于将上述测算任务发送至上述计算节点,以在上述计算节点中运行上述测算程序,得到运行结果;
第一确定单元,用于基于上述运行结果确定上述计算节点的算力值。
在一个示例性实施例中,上述第一确定单元,包括:
第一转换子单元,用于将上述运行结果进行数值转换,得到目标分值,其中,上述目标分值为整数;
第二转换子单元,用于将上述目标分值转换为与上述计算节点的节点信息的格式对应的信息,得到上述计算节点的算力值。
在一个示例性实施例中,上述第一计算模块,包括:
第二获取单元,用于在确定上述多架构集群中创建上述目标资源对象的情况下,获取上述目标资源对象的资源需求;
第一换算单元,用于利用上述目标计算节点的算力值将上述资源需求中上述目标资源对象需求的内核数换算为上述标准算力值。
在一个示例性实施例中,上述第一换算单元,包括:
第一计算子单元,用于计算上述目标计算节点的算力值和上述目标计算节点的内核数量之间的比值;
第二计算子单元,用于计算上述目标资源对象需求的内核数和上述比值之间的乘积值;
第三计算子单元,用于利用上述乘积值和预设系数计算上述标准算力值。
在一个示例性实施例中,上述预设系数为整数,上述预设系数与上述目标计算节点的算力资源相对应。
在一个示例性实施例中,上述装置还包括:
第一附加模块,用于利用目标计算节点的算力值将上述资源需求中上述目标资源对象需求的内核数换算为上述标准算力值之后,将上述标准算力值附加至上述目标资源对象的资源声明字段中。
在一个示例性实施例中,上述第一调度模块,包括:
第二确定单元,用于利用上述标准算力值和每个上述计算节点的算力值确定每个上述计算节点允许承载上述目标资源对象的数量;
第一调度单元,用于按照每个上述计算节点允许承载上述目标资源对象的数量为上述目标资源对象调度每个上述计算节点的算力资源。
在一个示例性实施例中,第二确定单元,包括:
第一确定子单元,用于将上述标准算力值和每个上述计算节点的算力值之间的差值确定为每个上述计算节点的剩余算力值;
第二确定子单元,用于将每个上述计算节点的剩余算力值和上述标准算力值之间的比值确定为每个上述计算节点允许承载上述目标资源对象的数量。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种算力资源的调度方法,其特征在于,包括:
确定N个计算节点中每个所述计算节点的算力值,其中,每个所述计算节点的算力值用于表示每个所述计算节点中的内核对应的算力,N个所述计算节点设置在多架构集群中,所述N是大于或等于1的自然数;
利用目标计算节点的算力值和目标资源对象的资源需求,计算所述资源需求对应的标准算力值,其中,所述目标计算节点是N个所述计算节点中的任一计算节点,所述标准算力值用于表示所述目标资源对象需求的算力资源,所述目标资源对象设置在所述多架构集群中,其中,利用目标计算节点的算力值和目标资源对象的资源需求,计算所述资源需求对应的标准算力值,包括:在确定所述多架构集群中创建所述目标资源对象的情况下,获取所述目标资源对象的资源需求;计算所述目标计算节点的算力值和所述目标计算节点的内核数量之间的比值;计算所述目标资源对象需求的内核数和所述比值之间的乘积值;利用所述乘积值和预设系数计算所述标准算力值;
基于所述标准算力值为所述目标资源对象调度N个所述计算节点的算力资源,其中,基于所述标准算力值为所述目标资源对象调度N个所述计算节点的算力资源,包括:将所述标准算力值和每个所述计算节点的算力值之间的差值确定为每个所述计算节点的剩余算力值;将每个所述计算节点的剩余算力值和所述标准算力值之间的比值确定为每个所述计算节点允许承载所述目标资源对象的数量;按照每个所述计算节点允许承载所述目标资源对象的数量为所述目标资源对象调度每个所述计算节点的算力资源。
2.根据权利要求1所述的方法,其特征在于,确定N个计算节点中每个所述计算节点的算力值,包括:
在确定所述多架构集群中创建所述计算节点的情况下,获取所述计算节点的节点架构;
生成与所述计算节点的节点架构匹配的测算任务,其中,所述测算任务中包括测算所述计算节点的算力的测算程序;
将所述测算任务发送至所述计算节点,以在所述计算节点中运行所述测算程序,得到运行结果;
基于所述运行结果确定所述计算节点的算力值。
3.根据权利要求2所述的方法,其特征在于,基于所述运行结果确定所述计算节点的算力值,包括:
将所述运行结果进行数值转换,得到目标分值,其中,所述目标分值为整数;
将所述目标分值转换为与所述计算节点的节点信息的格式对应的信息,得到所述计算节点的算力值。
4.根据权利要求1所述的方法,其特征在于,所述预设系数为整数,所述预设系数与所述目标计算节点的算力资源相对应。
5.根据权利要求1所述的方法,其特征在于,利用目标计算节点的算力值将所述资源需求中所述目标资源对象需求的内核数换算为所述标准算力值之后,所述方法还包括:
将所述标准算力值附加至所述目标资源对象的资源声明字段中。
6.一种多架构集群,其特征在于,包括:节点控制器,算力计算器和调度器,其中,
所述节点控制器,用于通过多架构集群中的服务接口获取到N个计算节点创建的情况下,向每个所述计算节点发送测算任务,其中,每个所述计算节点对应的测算任务用于测算每个所述计算节点的算力值,每个所述计算节点的算力值用于表示每个所述计算节点中的内核对应的算力,所述N是大于或等于1的自然数;
算力计算器,用于通过所述服务接口获取到目标资源对象在所述多架构集群中创建的情况下,利用目标计算节点的算力值和所述目标资源对象的资源需求,计算所述资源需求对应的标准算力值,其中,所述目标计算节点是N个所述计算节点中的任一计算节点,所述标准算力值用于表示所述目标资源对象需求的算力资源;所述算力计算器,还用于计算所述目标计算节点的算力值和所述目标计算节点的内核数量之间的比值,计算所述目标资源对象需求的内核数和所述比值之间的乘积值,并利用所述乘积值和预设系数计算所述标准算力值;
所述调度器,用于基于所述标准算力值为所述目标资源对象调度N个所述计算节点的算力资源,所述调度器,还用于利用所述标准算力值和每个所述计算节点的算力值确定每个所述计算节点允许承载所述目标资源对象的数量,并按照每个所述计算节点允许承载所述目标资源对象的数量为所述目标资源对象调度每个所述计算节点的算力资源。
7.根据权利要求6所述的多架构集群,其特征在于,
所述节点控制器,还用于生成与每个所述计算节点的节点架构匹配的所述测算任务,并将所述测算任务发送至对应的所述计算节点,其中,所述测算任务中包括测算所述计算节点的算力的测算程序。
8.根据权利要求7所述的多架构集群,其特征在于,
所述计算节点,用于运行对应的所述测算程序,得到运行结果,其中,所述运行结果用于确定所述计算节点的算力值。
9.根据权利要求8所述的多架构集群,其特征在于,
所述计算节点,还用于将所述运行结果进行数值转换,得到目标分值,并将所述目标分值转换为与所述计算节点的节点信息的格式对应的信息,得到所述计算节点的算力值,其中,所述目标分值为整数。
10.根据权利要求6所述的多架构集群,其特征在于,所述预设系数为整数,所述预设系数与所述目标计算节点的算力资源相对应。
11.根据权利要求6所述的多架构集群,其特征在于,
所述算力计算器,还用于将所述标准算力值附加至所述目标资源对象的资源声明字段中。
12.根据权利要求6所述的多架构集群,其特征在于,
所述调度器,还用于将所述标准算力值和每个所述计算节点的算力值之间的差值确定为每个所述计算节点的剩余算力值,并将每个所述计算节点的剩余算力值和所述标准算力值之间的比值确定为每个所述计算节点允许承载所述目标资源对象的数量。
13.一种算力资源的调度装置,其特征在于,包括:
第一确定模块,用于确定N个计算节点中每个所述计算节点的算力值,其中,每个所述计算节点的算力值用于表示每个所述计算节点中的内核对应的算力,N个所述计算节点设置在多架构集群中,所述N是大于或等于1的自然数;
第一计算模块,用于利用目标计算节点的算力值和目标资源对象的资源需求,计算所述资源需求对应的标准算力值,其中,所述目标计算节点是N个所述计算节点中的任一计算节点,所述标准算力值用于表示所述目标资源对象需求的算力资源,所述目标资源对象设置在所述多架构集群中,其中,所述第一计算模块还用于在确定所述多架构集群中创建所述目标资源对象的情况下,获取所述目标资源对象的资源需求;计算所述目标计算节点的算力值和所述目标计算节点的内核数量之间的比值;计算所述目标资源对象需求的内核数和所述比值之间的乘积值;利用所述乘积值和预设系数计算所述标准算力值;
第一调度模块,用于基于所述标准算力值为所述目标资源对象调度N个所述计算节点的算力资源,其中,所述第一调度模块还用于将所述标准算力值和每个所述计算节点的算力值之间的差值确定为每个所述计算节点的剩余算力值;将每个所述计算节点的剩余算力值和所述标准算力值之间的比值确定为每个所述计算节点允许承载所述目标资源对象的数量;按照每个所述计算节点允许承载所述目标资源对象的数量为所述目标资源对象调度每个所述计算节点的算力资源。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至5任一项中所述的方法的步骤。
15.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至5任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311233661.4A CN116991558B (zh) | 2023-09-22 | 2023-09-22 | 算力资源的调度方法及多架构集群、装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311233661.4A CN116991558B (zh) | 2023-09-22 | 2023-09-22 | 算力资源的调度方法及多架构集群、装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991558A CN116991558A (zh) | 2023-11-03 |
CN116991558B true CN116991558B (zh) | 2024-02-02 |
Family
ID=88525055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311233661.4A Active CN116991558B (zh) | 2023-09-22 | 2023-09-22 | 算力资源的调度方法及多架构集群、装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991558B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656723A (zh) * | 2019-03-13 | 2019-04-19 | 联想(北京)有限公司 | 容器资源调度方法及装置 |
CN113296905A (zh) * | 2021-03-30 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 调度方法、装置、电子设备、存储介质及软件产品 |
CN114637603A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 资源的控制方法、装置、计算机设备及存储介质 |
CN114756340A (zh) * | 2022-03-17 | 2022-07-15 | 中国联合网络通信集团有限公司 | 算力调度系统、方法、装置和存储介质 |
CN115562843A (zh) * | 2022-12-06 | 2023-01-03 | 苏州浪潮智能科技有限公司 | 一种容器集群算力调度方法及相关装置 |
CN116541134A (zh) * | 2023-07-05 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 多架构集群中容器的部署方法及装置 |
-
2023
- 2023-09-22 CN CN202311233661.4A patent/CN116991558B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656723A (zh) * | 2019-03-13 | 2019-04-19 | 联想(北京)有限公司 | 容器资源调度方法及装置 |
CN113296905A (zh) * | 2021-03-30 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 调度方法、装置、电子设备、存储介质及软件产品 |
CN114637603A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 资源的控制方法、装置、计算机设备及存储介质 |
CN114756340A (zh) * | 2022-03-17 | 2022-07-15 | 中国联合网络通信集团有限公司 | 算力调度系统、方法、装置和存储介质 |
CN115562843A (zh) * | 2022-12-06 | 2023-01-03 | 苏州浪潮智能科技有限公司 | 一种容器集群算力调度方法及相关装置 |
CN116541134A (zh) * | 2023-07-05 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 多架构集群中容器的部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116991558A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sotiriadis et al. | SimIC: Designing a new inter-cloud simulation platform for integrating large-scale resource management | |
CN106534318B (zh) | 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法 | |
CN107003887A (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
Souza et al. | Ecovisor: A virtual energy system for carbon-efficient applications | |
CN105808341B (zh) | 一种资源调度的方法、装置和系统 | |
CN110780914A (zh) | 服务发布方法及装置 | |
CN109257399B (zh) | 云平台应用程序管理方法及管理平台、存储介质 | |
CN116541134B (zh) | 多架构集群中容器的部署方法及装置 | |
Singh et al. | Energy based efficient resource scheduling: a step towards green computing | |
Quang-Hung et al. | EPOBF: energy efficient allocation of virtual machines in high performance computing cloud | |
CN103617067A (zh) | 一种基于云计算的电力软件仿真系统 | |
CN106293933A (zh) | 一种支持多大数据计算框架的集群资源配置与调度方法 | |
Lyu et al. | Microservice-based architecture for an energy management system | |
CN106845746A (zh) | 一种支持大规模实例密集型应用的云工作流管理系统 | |
Ghafouri et al. | Mobile-kube: Mobility-aware and energy-efficient service orchestration on kubernetes edge servers | |
CN109960579A (zh) | 一种调整业务容器的方法及装置 | |
CN110532060A (zh) | 一种混合网络环境数据采集方法及系统 | |
CN112948088B (zh) | 一种云计算平台中的云工作流智能管理与调度系统 | |
CN116991558B (zh) | 算力资源的调度方法及多架构集群、装置、存储介质 | |
CN116402318B (zh) | 面向配电网的多级算力资源分配方法、装置及网络架构 | |
Kherbache et al. | Scheduling live-migrations for fast, adaptable and energy-efficient relocation operations | |
CN115373836A (zh) | 计算网络、算力度量方法、调度装置及相关产品 | |
Rudra et al. | Models and algorithms for energy conservation in internet of things | |
Rayan et al. | Resource Prediction for Big Data Processing in a Cloud Data Center: A Machine Learning Approach: A Machine Learning Approach | |
CN110751423A (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 |