CN117632509A - 算力管理方法及装置、算力调度设备、存储介质 - Google Patents
算力管理方法及装置、算力调度设备、存储介质 Download PDFInfo
- Publication number
- CN117632509A CN117632509A CN202311694857.3A CN202311694857A CN117632509A CN 117632509 A CN117632509 A CN 117632509A CN 202311694857 A CN202311694857 A CN 202311694857A CN 117632509 A CN117632509 A CN 117632509A
- Authority
- CN
- China
- Prior art keywords
- instance
- target
- cloud resource
- computing power
- resource
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 62
- 238000003860 storage Methods 0.000 title claims abstract description 38
- 238000004364 calculation method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000009467 reduction Effects 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 11
- RYAUSSKQMZRMAI-YESZJQIVSA-N (S)-fenpropimorph Chemical compound C([C@@H](C)CC=1C=CC(=CC=1)C(C)(C)C)N1C[C@H](C)O[C@H](C)C1 RYAUSSKQMZRMAI-YESZJQIVSA-N 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 6
- 239000013585 weight reducing agent Substances 0.000 claims description 2
- 229920002153 Hydroxypropyl cellulose Polymers 0.000 description 49
- 235000010977 hydroxypropyl cellulose Nutrition 0.000 description 49
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000001816 cooling Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/5072—Grid computing
-
- 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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
-
- 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)
- Mathematical Physics (AREA)
- Supply And Distribution Of Alternating Current (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种算力管理方法及装置、算力调度设备、存储介质;所述方法包括:获取算力扩容需求;根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源;向所述目标云资源发送所述实例创建信息。所述方法实现了在混合云资源场景下的统一算力管理,便于用户使用混合云资源,提升了用户体验。
Description
技术领域
本申请实施例涉及高性能计算技术领域,涉及但不限于一种算力管理方法及装置、算力调度设备、存储介质。
背景技术
近年来,随着人工智能和深度学***台和公有云资源平台都能够提供HPC算力资源。由于HPC资源价格高昂,一般采用自动定义规则的方式在云资源上进行算力管理,以降低使用成本。
目前一个云资源平台提供的开箱即用的算力伸缩服务仅支持管理该平台下的算力资源,因此用户在使用多个云资源平台时也只能单独管理各个云资源平台的算力资源,导致用户使用云资源效率低且非常不方便。
发明内容
有鉴于此,本申请实施例提供的算力管理方法及装置、算力调度设备、存储介质,能够在获取算力扩容需求后,根据混合云资源中各个云资源的当前算力确定目标云资源,并在目标云资源上创建与算力扩容需求对应的目标实例,实现了在混合云资源场景下的统一算力管理,便于用户使用混合云资源,提升了用户体验。
第一方面,本申请实施例提供的算力管理方法,应用于算力调度设备,所述算力调度设备连接混合云资源,所述混合云资源包括至少一个私有云资源和至少一个公有云资源,所述方法包括:
获取算力扩容需求;
根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源;
向所述目标云资源发送所述实例创建信息。
第二方面,本申请实施例提供的算力管理装置,应用于算力调度设备,所述算力调度设备连接混合云资源,所述混合云资源包括至少一个私有云资源和至少一个公有云资源,所述装置包括:
需求获取模块,用于获取算力扩容需求;
信息生成模块,用于根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源;
信息发送模块,用于向所述目标云资源发送所述实例创建信息。
第三方面,本申请实施例提供的算力管理设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例第一方面提供的所述算力管理方法的步骤。
第四方面,本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面提供的所述算力管理方法的步骤。
本申请实施例所提供的算力管理方法、装置、算力调度设备和计算机可读存储介质,能够在获取算力扩容需求后,根据混合云资源中各个云资源的当前算力确定目标云资源,并在目标云资源上创建与算力扩容需求对应的目标实例,实现了在混合云资源场景下的统一算力管理,便于用户使用混合云资源,提升了用户体验,从而解决背景技术中所提出的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1a为本申请实施例提供的一种现有算力管理方式的结构示意图;
图1b为本申请实施例提供的另一种现有算力管理方式的结构示意图;
图2为本申请实施例提供的一种算力管理***的场景示意图;
图3为本申请实施例提供的一种算力管理方法的实现流程示意图;
图4为本申请实施例提供的一种生成实例创建信息的方法的流程示意图;
图5为本申请实施例提供的另一种算力管理方法的实现流程示意图;
图6为本申请实施例提供的再一种算力管理方法的实现流程示意图;
图7为本申请实施例提供的又一种算力管理方法的实现流程示意图;
图8为本申请实施例提供的再一种算力管理方法的实现流程示意图;
图9为本申请实施例提供的又一种算力管理方法的实现流程示意图;
图10为本申请实施例提供的一种弹性实例管理方法的总体流程示意图;
图11为本申请实施例提供的一种算力管理装置的结构示意图;
图12为本申请实施例提供的一种算力调度设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
近年来,随着人工智能和深度学***台和公有云资源平台都能够提供高性能计算HPC算力资源。由于HPC资源价格高昂,一般采用自动定义规则的方式在云资源上进行算力管理,以降低使用成本。
图1a为本申请实施例提供的一种现有算力管理方式的结构示意图。如图1a所示,亚马逊弹性计算云自动缩放AWS EC2 Autoscaling和微软云计算虚拟机规模集Azure VMSS仅支持算力弹性至其平台下的资源,且要求弹性资源池的实例规格相同。
图1b为本申请实施例提供的另一种现有算力管理方式的结构示意图。如图1b所示,算力调度商业框架的负载分配设施的资源连接器LSF RC和算力调度开源框架的集群管理器和作业调度***SLURM SchedMD需要为每一个资源供应商分别安装插件,且不支持企业私有数据中心的算力弹性。
可见不论是公有云资源提供的开箱即用的伸缩服务,还是HPC调度框架集成的资源连接器,都存在跨平台算力管理兼容性的缺点。目前一个云资源平台提供的开箱即用的算力伸缩服务仅支持管理该平台下的算力资源,因此用户在使用多个云资源平台时也只能单独管理各个云资源平台的算力资源,导致用户使用云资源效率低且非常不方便。
有鉴于此,本申请实施例提供一种算力管理方法,可以应用于算力管理***中的算力调度设备。
图2为本申请实施例提供的一种算力管理***的场景示意图。如图2所示,该***中包括算力调度设备101和混合云资源102,其中混合云资源102包括私有云资源和若干个公有云资源。在算力调度设备101收到HPC算力需求后,可以根据混合云资源102中各个云资源的算力情况,将HPC算力需求分配到至少一个云资源上。所述算力管理***提供了一种新型的整合私有云、多公有云的HPC算力管理方案。
基于上述算力管理***,本申请实施例提供一种算力管理方法,通过获取算力扩容需求;根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源;向所述目标云资源发送所述实例创建信息。该方法能够在获取算力扩容需求后,根据混合云资源中各个云资源的当前算力确定目标云资源,并在目标云资源上创建与算力扩容需求对应的目标实例,实现了在混合云资源场景下的统一算力管理,便于用户使用混合云资源,提升了用户体验。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图3为本申请实施例提供的一种算力管理方法的实现流程示意图。所述算力管理方法可以应用于算力调度设备,该算力调度设备在实施的过程中可以为各种类型的具有信息处理能力的设备。如图3所示,该方法可以包括以下步骤201至步骤203:
步骤201:获取算力扩容需求。
其中,获取算力扩容需求的方式很多,例如可以是用户输入的,也可以是HPC调度框架输入的等,本申请实施例对获取算力扩容需求的方式不做限定。算力扩容需求是指示需要增加实例的需求。
步骤202:根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源。
需要说明的是,根据混合云资源中各个云资源的当前算力,和算力扩容需求,就可以生成实例创建信息。其中,实例创建信息中包括目标云资源的信息,以及需要创建的目标实例的信息,目标云资源创建的目标实例与所述算力扩容需求匹配。
其中,根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息的方式很多,例如可以根据预设的云资源选择规则确定私有云资源和/或公有云资源作为候选云资源,再从候选云资源中选择满足算力扩容需求的目标云资源、目标实例,还可以将算力扩容需求弹性到私有HPC集群,当私有数据中心资源达到目标利用率后,连接公有云算力等,本申请实施例对根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息的方式不做限定。
步骤203:向所述目标云资源发送所述实例创建信息。
需要说明的是,向目标云资源发送实例创建信息,可以使目标云资源根据所述实例创建信息创建对应的目标实例,以满足算力扩容需求。
本申请实施例提供的方案,将HPC算力弹性由单一云扩展混合云,且无需定制HPC调度框架,允许用户透明使用一套标准接口无缝连接公有云、私有云。实现了在混合云资源场景下的统一算力管理,便于用户使用混合云资源,提升了用户体验。
图4为本申请实施例提供的一种生成实例创建信息的方法的流程示意图。如图4所示,所述算力扩容需求包括需求实例的规格和数量,所述各个云资源的当前算力包括实例的规格以及可用数量,所述步骤202根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,可以包括:
步骤2021:根据所述需求实例的规格以及所述各个云资源包括的当前实例的规格,确定所述目标云资源,所述目标云资源包括的当前实例的规格匹配所述需求实例的规格。
需要说明的是,首先根据需求实例的规格确定目标云资源,确定的目标云资源中包括的当前实例的规格与需求实例的规格相匹配。其中,实例规格字段包括镜像、网络、CPU、内存、GPU、磁盘、初始化脚本、优先级等,初始化脚本字段常用于实例启动文件***格式化,挂载,权限分配,DNS解析部署等。
步骤2022:根据所述需求实例的数量以及所述目标云资源包括的当前实例的可用数量,确定所述目标云资源对应的目标实例的数量。
其中,在已确定目标资源的情况下,需要根据需求实例的数量,和目标云资源包括的当前实例的数量,确定目标云资源对应的目标实例的数量。例如,需求实例的数量为20台,那么目标实例的数量也为20台。
进一步的,当目标云资源包括至少两个目标云资源时,可以根据至少两个目标云资源的负载系数,将需求实例的数量分配到至少两个目标云资源上,以使至少两个目标云资源负载均衡。
在本申请实施例中,所述目标云资源包括至少两个目标云资源,所述根据所述需求实例的数量以及所述目标云资源包括的当前实例的可用数量,确定所述目标云资源对应的目标实例的数量,可以包括:
根据所述至少两个目标云资源中各个目标云资源的负载系数,确定所述至少两个目标云资源中各个所述目标云资源的实例数量配比,所述负载系数用于指示目标云资源中满足需求实例的规格的实例的被使用数量占其总数量的比值;其中,所述目标云资源对应的负载系数越大,其对应的所述实例数量配比越小;根据所述至少两个目标云资源中各个所述目标云资源的实例数量配比,确定所述目标云资源对应的目标实例的数量。
可以理解的是,当一个目标云资源的负载系数较大,即目标云资源中满足需求实例的规格的实例的被使用数量占其总数量的比值较大时,就将较少的需求实例分配到该目标云资源,即目标云资源对应的实例数量配比越小,以实现云资源之间的算力使用均衡,避免由于云资源的负担过重而导致故障。
示例性的,假设96C768G规格在私有云负载系数为0.4,公有云A、B负载系数分别是0.8。当请求8台96C768G规格的实例时,私有云分配4台实例,公有云A、B分别分配2台实例。
以下举例说明通过收集的节点监控指标,计算请求算力的实例规格的分配方式。可以包括以下步骤为:1)根据实例CPU、内存、IO等指标计算节点状态因子(NodeLoadFactorScore),节点状态因子的取值在0到1之间,即0<NodeLoadFactorScore<1。2)计算需求实例规格在集群的负载系数(SpecLoadFactor)。计算公式为 其中,Weightcluster为权重,/>为集群中各个节点的节点状态因子的平均值。3)计算需求实例规格对应的实例(SpecInstances)分配方式,公式为: 其中SpecInstancesj为实例配比。
步骤2023:根据所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息。
其中,在确定目标云资源和目标云资源对应的目标实例的数量、需求实例的规格后,可以生成实例创建信息,所述实例创建信息用于在目标云资源上创建目标实例。根据所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息的方式可以采用现有方式,这里不再赘述。
在一些实施例中,可以对创建目标实例的过程进行监控,以确保在每个目标资源上成功创建目标实例。
图5为本申请实施例提供的另一种算力管理方法的实现流程示意图。如图5所示,在图3所示实施例的基础上,所述实例创建信息包括与所述算力扩容需求对应的唯一标识,所述方法还可以包括:
步骤301:监控所述目标云资源创建所述目标实例的完成情况。
步骤302:在所述目标云资源包括至少两个目标云资源的情况下,若所述至少两个云资源中任一个目标云资源创建实例失败,将所述至少两个云资源中已创建的与所述唯一标识对应的全部实例释放。
可以理解的是,当目标云资源包括至少两个的时候,在弹性扩容的时候是异步创建实例,即异步分别在不同云资源平台上创建实例,全部成功或失败时一起交付,若部分成功退避重试后就会回滚,当作全部失败返回。
示例性的,如果有私有云和2个公有云,算力需求为10台96C768G(CPU 96核,内存768G)。本程序通过以下步骤确保原子性结果:1)生成哈希编号,编号为sha256sum(分布式ID+10+96C768G)。2)计算出私有云和公有云的算力配比,假设本次分配私有云4台、公有云各2台。3)异步分别调用云接口创建对应实例。4)当部分实例创建成功时进入退避重试,重试超限即回滚释放同批次哈希编号所有实例。当10台实例全部成功或失败后返回创建结果。
其中,可以通过实例查询接口查询实例创建结果。退避重试是我们程序会在失败后重试尝试再次创建实例。退避重试是一个术语,比如,失败后分别在第1、2、4、8、16、32分钟后重试,避免连续重试造成***压力。在退避重试过程时,业务方拿到的结果还是创建中。
可以理解的是,本申请实施例提供的方案将弹性能力由单公有云模式扩展至混合云模式,通过统一的接口包装公有云、私有云能力,提供原子级实例批量创删能力。支持批量实例伸缩跨云原子并发。当同时需要在AWS、阿里云、私有云操控多台实例时,原子性并发能够较好的保证实例状态的一致性,减少部分步骤异常引起全局风险。
在一些实施例中,可以通过HPC调度框架获取算力扩容需求,为了便于获取更加准确的算力扩容需求,可以预先将混合云资源的算力组合信息发送给HPC调度框架,以使HPC调度框架根据算力组合信息发送算力扩容需求。
图6为本申请实施例提供的再一种算力管理方法的实现流程示意图。如图6所示,在图3所示实施例的基础上,所述算力扩容需求是高性能计算HPC调度框架发送的,在所述步骤201获取算力扩容需求之前,所述方法还包括:
步骤401:获取算力组合信息,所述算力组合信息是根据所述混合云资源中各个云资源的当前算力确定的。
需要说明的是,算力组合信息是告诉HPC调度框架混合云资源算力的资源余额。本申请的程序提供两种方法,分别实现完整的弹性伸缩功能,即实现本申请的程度与HPC框架的兼容性:1)针对HPC调度框架定制插件。2)提供标准HTTP接口。通过上述方法用户可以以一套标准接口将算力弹性到混合HPC集群。即实现多种HPC调度框架(如负载分配设施LSF、资源调度器SLURM、资源管理框架Kubernetes)无需定制,用户以一套统一的标准透明的接入多云。
其中,算力组合信息比如组合示例1:云资源1:48核386G 100台,96核768G 100台;云资源2:48核386G 200台,96核768G 300台。组合示例2:云资源1:48核386G 200台,96核768G 50台;云资源2:48核386G 100台,96核768G 200台。其中,算力组合信息便于HPC调度框架感知可用资源。
进一步的,所述获取算力组合信息,可以包括:
获取所述混合云资源中各个云资源的当前算力,所述当前算力用于指示所述云资源当前能够提供的实际算力;根据所述混合云资源中各个云资源的资源系数,以及所述各个云资源的当前算力,得到所述各个云资源的目标算力,所述资源系数用于指示云资源中被使用的算力资源在所述云资源的总算力资源中的占比,所述各个云资源的目标算力构成所述算力组合信息;其中,在所述云资源对应的负载系数超过阈值时,得到的所述云资源的目标算力小于当前算力。
可以理解的是,算力调度设备接口可以感知多云负载,根据集群算力水位动态调整可用算力组合信息,实现算力的负载均衡,提升***高可用性、稳定性。通过根据***负载的情况调整算力组合信息的方式,能够减少云资源负载。
步骤402:向所述HPC调度框架发送算力组合信息,以使所述HPC调度框架根据所述算力组合信息生成所述算力扩容需求。
其中,在获取到算力组合信息后,将算力组合信息发送给HPC调度框架。其中发送的方式也可以包括将算力组合信息转换为HPC框架能够识别的格式。本申请实施例对向HPC调度框架发送算力组合信息的方法不做限定。
现有技术中,LSF RC和SchedMD SLURM调度框架插件通过配置阻塞作业量、阻塞时长等阈值连接公有云供应商。而调度插件缺少对多公有云组合使用的性能、成本优势感知,不能最大化实现降本增效的目标。
图7为本申请实施例提供的又一种算力管理方法的实现流程示意图。如图7所示,所述算力管理方法包括:
步骤501:获取算力扩容需求。
步骤502:获取所述目标云资源对应的实例配置策略,所述实例配置策略包括最大量策略、优选策略、成本策略和分配策略中的至少一种策略,其中,所述最大量策略用于定义单位时间内能够创建实例的最大数量,所述优选策略用于定义优先创建实例的实例资源,所述成本策略用于指示根据使用成本确定的优先使用的实例和优先释放的实例,所述分配策略用于指示在实例的负载低于负载阈值的情况下对实例进行降权后再次分配。
步骤503:根据所述实例配置策略、所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息。
步骤504:向所述目标云资源发送所述实例创建信息。
其中,步骤501和步骤504可以参考图3所对应实施例的描述信息,这里不再赘述。在步骤502中,策略是在HPC算力需求计算期间设置的规则,用于限制要创建的最大实例数。策略可定义步长、步长时间、最大量、优选、分配规则等字段。1)步长策略定义用户单次可以启动的最大实例数,控制群集的增长速度。2)步长时间策略指定等待多长时间才会启动由步长值指定的另一组实例。3)最大量策略用于定义单位时间内能够创建实例的最大数量,4)优选策略是在计算需求后设置的规则,以尝试获得更好的结果。对调配结果进行优化。5)分配策略是通过某一模板过滤可分配实例。灵活的策略帮助用户平衡HPC作业的算力效率与成本,最大化提升突发算力利用率。
通过一个例子来具体说明,在请求8台96C768G实例的情况下。策略包括:1)配置步长策略,控制算力增长速度。假设当前调度策略为私有云配置步长为2,公有云配置步长都为1;步长时间为1分钟;那么分别在私有云及公有云创建实例,4台私有云实例创建需要(4/2)*1=2分钟,公有云2台实例创建需要(2/1)*1=2分钟,因为是异步同时创建,8台实例总耗时2分钟。2)配置优选策略,对缓存池中的实例打分,根据打分排序优先分配。先分配缓存实例,其次根据负载均衡分配实例。3)配置成本策略,优先释放高成本实例。4)配置实例复用策略,对低负载实例降权再次分配。
本申请实施例通过自定义灵活的弹性策略,跨云弹性步长、最大实例数等配置有效改善伸缩并发性,缩短作业完成时间。
现有技术中公有云配套的服务如果没有适当的预防措施,伸缩***的冷却功能可能会导致不准确。过短的冷却时间会导致"缩放过度"或"缩放不足"。用户需要确保冷却时间与指标完成缩放事件所需的时间相等。
图8为本申请实施例提供的再一种算力管理方法的实现流程示意图。如图8所示,在图3所示实施例的基础上,在所述步骤201获取算力扩容需求之前,所述方法还包括:
步骤601:获取预测的算力使用需求,所述预测的算力使用需求是根据历史的算力使用数据确定的,所述预测的算力使用需求包括预测实例的使用时间、规格和数量。
需要说明的是,可以根据历史的算力使用数据确定预测的算力使用需求。例如,如果连续三周的每个周二上午10点都有一次算力扩容需求,就可以预测到下个周的周二上午10点也会有一次相同的算力扩容需求。
其中,算力使用数据可以包括1)节点监控代理上报的节点CPU、内存、IO等资源指标。2)各种规格历史周期的伸缩记录。3)私有云、公有云集群周期负载指标。内省式规划伸缩负载是分析历史周期的伸缩记录,提前规划创建实例,放入实例池,从而加速伸缩效率。
步骤602:根据所述预测的算力使用需求,在所述预测实例的使用时间之前,初始化待用实例并放入实例资源池,所述待用实例满足所述预测实例的规格和数量的要求,所述实例资源池用于存放所述待用实例。
步骤603:获取算力扩容需求;
步骤604:所述混合云资源中各个云资源的当前算力包括所述实例资源池中的待用实例,根据所述实例资源池中的所述待用实例以及所述算力扩容需求,生成所述实例创建信息。
步骤605:向所述目标云资源发送所述实例创建信息。
需要说明的是,在混合云资源中设置有实例资源池用于存放完成初始化的待用实例,在获取预测的算力使用需求后初始化待用实例放入实例资源池,由于实例资源池中的待用实例已经完成了创建实例所需的初始化步骤,因此在调用实例资源池的待用实例时,能够减少创建实例的时间,从而减少用户等待时间。例如,可以根据实例优先级、实例最大量字段等,池化相应比例实例,实例初始化后保持就绪状态,可以减少冷启动成本。
本申请实施例采用预测性伸缩的方式,即应用机器学习技术预测HPC算力流量,以便主动、提前准备计算实例,提升***效率。
进一步的,现有技术中无法估算一个完美的实例规格组合,也无法预先确定需要运行的实例的确切数量。如果估算的数量较少,性能就会受到影响。而如果估计过高,实例的利用率降低,将面临高昂的成本。需求总是希望在成本和性能之间进行优化。
进一步的,所述方法还可以包括:在所述实例资源池中未包括待用实例的情况下,初始化备用实例并放入所述实例资源池,所述备用实例的规格和数量满足预设的算力使用需求。
可以理解的是,本申请实施例支持HPC算力按需弹性伸缩,潮汐峰谷特征的HPC集群常态仅需保有少量实例,在计算需求密集时突发上云或其他私有数据中心。即,在没有算力扩容需求的时候,根据实例优先级等规则池化相应实例放入实例资源池中,可以减少实例冷启动带来的耗时。其中,创建实例的时候是真正分配给了实例给业务方。初始化实例对用户是透明的,用户无法感知到实例已经准备好。预先池化少量实例的方案,那个加速弹性效率。对于云资源没有影响,对于用户不算费用的,或者说费用很低可以忽略。
本申请实施例通过监控时序指标接口用于内省式规划备用实例,使总体负载伸缩曲线更加平滑,提升HPC集群利用率。
在一些实施例中,为了进一步提升云资源的利用率,降低使用成本,还可以对实例运行过程进行监控。
图9为本申请实施例提供的又一种算力管理方法的实现流程示意图。如图9所示,在图3所示实施例的基础上,所述方法还包括:
步骤701:获取所述目标云资源中所述目标实例的运行参数,所述运行参数用于指示所述目标实例处于空闲状态、低负载状态或者故障状态。
需要说明的是,运行参数的类型很多,例如可以是CPU利用率、当前运行的算力占总算力的占比等。本申请实施例对运行参数的类型和获取运行参数的方式不做限定。
步骤702:在所述目标实例的运行参数指示所述目标实例处于空闲状态、低负载状态或者故障状态的情况下,向所述目标云资源发送实例释放信息,所述实例释放信息用于释放所述目标实例。
可以理解的是,在目标实例处于空闲状态、低负载状态或者故障状态的情况下,可以及时的将实例释放,以节约使用成本。
进一步的,在所述目标实例的运行参数指示所述目标实例处于故障状态的情况下,所述方法还包括:向所述目标云资源发送实例重建信息,所述实例重建信息用于创建新的实例完成所述目标实例对应的算力任务;或者,
在所述目标实例的运行参数指示所述目标实例处于低负载状态的情况下,所述方法还包括:向所述目标云资源的运行实例发送转移算力任务,所述转移算力任务为所述目标实例对应的算力任务,所述运行实例为所述目标云资源的其中一个正在运行的实例。
可以理解的是,当云资源平台配额达到瓶颈,或者平台实例故障时,本方案自愈组件可无缝切换实例,实现HPC无感知正常作业。
示例性的,若通过指标分析,近7天在凌晨6点请求8台96C768G实例的概率为70%,那么在下一个凌晨6点时,提前创建好指定规格实例放入实例池,当算力请求到来时,快速交付算力。
可以理解的是,监控指标以接口形式提供给算力调度设备,感知用户作业指标的规律性,内省式动态规划作业入队流程以及调整算力组合信息中实例可用量、步长,使负载伸缩曲线尽量平滑,减少算力毛刺。告警机制在***、流量、算力异常时触发自愈规则,实例异常时及时替换实例、恢复作业,保障***运行。
在一些实施例中,在获取到外部发送的算力缩容需求后,及时对***中对应的实例进行释放,以节约使用成本。
本申请实施例提供的算力管理方法还包括:获取算力缩容需求;根据所述算力缩容需求,释放所述目标云资源中与所述算力缩容需求对应的实例。其中,获取算力缩容需求可以是接受用户输入的信息,也可以是通过HPC框架接收的,本申请实施例对获取算力缩容需求的方式不做限定。此外,根据算力缩容需求,可以将目标云资源中对应的实例释放。释放的方式可以采用现有技术,这里不再赘述。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
图10为本申请实施例提供的一种弹性实例管理方法的总体流程示意图。如图10所示,该方法包括如下步骤801至步骤808:
步骤801:HPC调度框架循环监听排队作业,调用算力调度设备接口获取算力组合信息。算力调度设备根据混合云负载指标,动态输出算力组合信息。其中,排队作业是指HPC算力需求的任务。负载可以理解为集群资源的繁忙程度。
步骤802:HPC调度框架触发弹性策略,HPC调度框架发送扩容弹性实例需求。
步骤803:算力调度设备读取策略配置的步长、优选等筛选字段过滤并创建混合云实例。
步骤804:HPC调度框架触发查询实例状态。
步骤805:算力调度设备查询实例创建状态,用于反馈给HPC调度框架。其中实例创建后,算力调度设备负责维护实例状态,当实例故障时及时切换实例并恢复作业。
步骤806:算力调度设备循环监听空闲实例,在空闲运行时达到自定义阈值时,触发弹性实例缩容。参考缩容策略决定实例进入实例池或者释放。
步骤807:HPC作业完成,调度框架主动释放实例,向算力调度设备发送弹性实例缩容策略。
步骤808:算力调度设备触发实例缩容流程。
前面从方案原理上分析了本实施例提供的方案的有益效果,下面我们以某HPC集群实际的数据来说明:
表1 HPC集群收益数据
日期(实验周次) | 弹性实例(次) | 弹性用时(分钟) | 收益(%) |
第一周 | 302 | 11601 | 92.3% |
第二周 | 184 | 4667 | 96.9% |
第三周 | 653 | 59775 | 60.5% |
第四周 | 105 | 35577 | 72.5% |
第五周 | 51 | 25332 | 60.9% |
总计 | 1295 | 136952 | 79.5% |
从表1可以看到,在采用了本申请实施例提供的算力管理方法后,每周都能节约50%以上的成本。其中每一周的收益有差别,是由于业务的使用场景不同造成。本申请实施例提供的方案可以在不同的使用场景下都节约较大的云资源成本。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,所述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于前述的实施例,本申请实施例提供一种算力管理装置,该装置所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图11为本申请实施例提供的一种算力管理装置的结构示意图。如图11所示,算力管理装置应用于算力调度设备,所述算力调度设备连接混合云资源,所述混合云资源包括至少一个私有云资源和至少一个公有云资源,所述装置900包括需求获取模块901、信息生成模块902和信息发送模块903,其中:
需求获取模块901,用于获取算力扩容需求;
信息生成模块902,用于根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源;
信息发送模块903,用于向所述目标云资源发送所述实例创建信息。
在一些实施例中,所述算力扩容需求包括需求实例的规格和数量,所述各个云资源的当前算力包括当前实例的规格以及可用数量,信息生成模块902包括资源确定单元、数量确定单元和信息生产单元,其中,
所述资源确定单元,用于根据所述需求实例的规格以及所述各个云资源包括的当前实例的规格,确定所述目标云资源,所述目标云资源包括的当前实例的规格匹配所述需求实例的规格;
所述数量确定单元,根据所述需求实例的数量以及所述目标云资源包括的当前实例的可用数量,确定所述目标云资源对应的目标实例的数量;
所述信息生成单元,用于根据所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息。
在一些实施例中,所述数量确定单元具体用于:根据所述至少两个目标云资源中各个目标云资源的负载系数,确定所述至少两个目标云资源中各个所述目标云资源对应的实例数量配比,所述负载系数用于指示所述目标云资源中满足需求实例的规格的实例的被使用数量占其总数量的比值,其中,所述目标云资源对应的负载系数越大,其对应的所述实例数量配比越小;
根据所述至少两个目标云资源中各个所述目标云资源对应的实例数量配比,确定所述目标云资源对应的目标实例的数量。
在一些实施例中,所述实例创建信息包括与所述算力扩容需求对应的唯一标识,所述装置还包括监控单元,其中,
所述监控单元,用于监控所述目标云资源创建所述目标实例的完成情况;在所述目标云资源包括至少两个目标云资源的情况下,若所述至少两个云资源中任一个目标云资源创建实例失败,将所述至少两个云资源中已创建的与所述唯一标识对应的全部实例释放。
在一些实施例中,所述算力扩容需求是高性能计算HPC调度框架发送的,所述装置还包括算力发送模块,所述算力发送模块,用于获取算力组合信息,所述算力组合信息是根据所述混合云资源中各个云资源的当前算力确定的;向所述HPC调度框架发送算力组合信息,以使所述HPC调度框架根据所述算力组合信息生成所述算力扩容需求。
在一些实施例中,所述算力发送模块具体用于:获取所述混合云资源中各个云资源的当前算力,所述当前算力是所述云资源当前能够提供的实际算力;根据所述混合云资源中各个云资源的资源系数,以及所述各个云资源的当前算力,得到所述各个云资源的目标算力,所述资源系数用于指示云资源中被使用的算力资源在所述云资源的总算力资源中的占比,所述各个云资源的目标算力构成所述算力组合信息;其中,在所述云资源的负载系数超过负载阈值时,所述云资源对应的目标算力小于当前算力。
在一些实施例中,所述装置还包括:策略获取模块,所述策略获取模块用于获取所述目标云资源对应的实例配置策略,所述实例配置策略包括最大量策略、优选策略、成本策略和分配策略中的至少一种策略,其中,所述最大量策略用于定义单位时间内能够创建实例的最大数量,所述优选策略用于定义优先创建实例的实例资源,所述成本策略用于指示基于使用成本考虑定义的优先使用的实例和优先释放的实例,所述分配策略用于指示在实例的负载低于预设值的情况下,对实例进行降权后再次分配;所述信息生成模块具体用于:根据所述实例配置策略、所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息。
在一些实施例中,所述装置还包括实例初始化模块,所述实例初始化模块,用于获取预测的算力使用需求,所述预测的算力使用需求是根据历史的算力使用数据确定的,所述预测的算力使用需求包括预测实例的使用时间、规格和数量;根据所述预测的算力使用需求,在所述预测实例的使用时间之前,初始化待用实例并放入实例资源池,所述待用实例满足所述预测实例的规格和数量的要求,所述实例资源池用于存放所述待用实例;
所述混合云资源中各个云资源的当前算力包括所述实例资源池中的待用实例,信息生成模块还用于:根据所述实例资源池中的所述待用实例以及所述算力扩容需求,生成所述实例创建信息。
在一些实施例中,所述实例初始化模块还用于:在所述实例资源池中未包括待用实例的情况下,初始化备用实例并放入所述实例资源池,所述备用实例的规格和数量满足预设的算力使用需求。
在一些实施例中,所述装置还包括实例监控模块,所述实例监控模块,用于获取所述目标云资源中所述目标实例的运行参数,所述运行参数用于指示所述目标实例处于空闲状态、低负载状态或者故障状态;在所述目标实例的运行参数指示所述目标实例处于空闲状态、低负载状态或者故障状态的情况下,向所述目标云资源发送实例释放信息,所述实例释放信息用于释放所述目标实例。
在一些实施例中,所述实例监控模块,还用于:在所述目标实例的运行参数指示所述目标实例处于故障状态的情况下,向所述目标云资源发送实例重建信息,所述实例重建信息用于创建新的实例完成所述目标实例对应的算力任务;或者,在所述目标实例的运行参数指示所述目标实例处于低负载状态的情况下,向所述目标云资源的运行实例发送转移算力任务,所述转移算力任务为所述目标实例对应的算力任务,所述运行实例为所述目标云资源的其中一个正在运行的实例。
在一些实施例中,所述装置还包括算力缩容模块,所述算力缩容模块用于获取算力缩容需求;根据所述算力缩容需求,释放所述目标云资源中与所述算力缩容需求对应的实例。
在本申请实施例中,能够在获取算力扩容需求后,根据混合云资源中各个云资源的当前算力确定目标云资源,并在目标云资源上创建与算力扩容需求对应的目标实例,实现了在混合云资源场景下的统一算力管理,便于用户使用混合云资源,提升了用户体验。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图11所示的算力管理装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得算力调度设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
图12为本申请实施例提供的一种算力调度设备的结构示意图。如图12所示,算力调度设备100可以包括处理器110,存储器120,无线通信模块130,USB接口140,显示屏150等。
处理器110可以包括一个或多个处理单元。例如,处理器110是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specificintegrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储算力调度设备100使用过程中所创建的数据(比如音频数据,视频数据等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行算力调度设备100的各种功能应用以及数据处理。
无线通信模块130可以提供应用在算力调度设备100上的包括WLAN,如Wi-Fi网络,蓝牙,NFC,IR等无线通信的解决方案。无线通信模块130可以是集成至少一个通信处理模块的一个或多个器件。在本申请的一些实施例中,算力调度设备100可以通过无线通信模块130与其他算力调度设备建立无线通信连接。
USB接口140是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口140可以用于连接其他算力调度设备。在又一些实施例中,算力调度设备100也可以通过USB接口140外接摄像头,用于采集画面。
显示屏150用于显示图像,视频等。显示屏150包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,算力调度设备100可以包括1个或N个显示屏150,N为大于1的正整数。
可以理解的是,本发明实施例示意的结构并不构成对算力调度设备100的具体限定。在本申请另一些实施例中,算力调度设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的算力管理方法中的步骤。
上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(readonly memory,ROM)、可擦式可编程只读存储器(erasable programmable read onlymemory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radio frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localarea network,LAN)或广域网(wide area network,WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的算力管理方法中的步骤。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
这里需要指出的是:以上存储介质、程序产品和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得算力调度设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种算力管理方法,其特征在于,应用于算力调度设备,所述算力调度设备连接混合云资源,所述混合云资源包括至少一个私有云资源和至少一个公有云资源,所述方法包括:
获取算力扩容需求;
根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源;
向所述目标云资源发送所述实例创建信息。
2.根据权利要求1所述的方法,其特征在于,所述算力扩容需求包括需求实例的规格和数量,所述各个云资源的当前算力包括当前实例的规格以及可用数量,根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,包括:
根据所述需求实例的规格以及所述各个云资源包括的当前实例的规格,确定所述目标云资源,所述目标云资源包括的当前实例的规格匹配所述需求实例的规格;
根据所述需求实例的数量以及所述目标云资源包括的当前实例的可用数量,确定所述目标云资源对应的目标实例的数量;
根据所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息。
3.根据权利要求2所述的方法,其特征在于,所述目标云资源包括至少两个目标云资源,所述根据所述需求实例的数量以及所述目标云资源包括的当前实例的可用数量,确定所述目标云资源对应的目标实例的数量,包括:
根据所述至少两个目标云资源中各个目标云资源的负载系数,确定所述至少两个目标云资源中各个所述目标云资源对应的实例数量配比,所述负载系数用于指示所述目标云资源中满足需求实例的规格的实例的被使用数量占其总数量的比值,其中,所述目标云资源对应的负载系数越大,其对应的所述实例数量配比越小;
根据所述至少两个目标云资源中各个所述目标云资源对应的实例数量配比,确定所述目标云资源对应的目标实例的数量。
4.根据权利要求2所述的方法,其特征在于,所述实例创建信息包括与所述算力扩容需求对应的唯一标识,所述方法还包括:
监控所述目标云资源创建所述目标实例的完成情况;
在所述目标云资源包括至少两个目标云资源的情况下,若所述至少两个云资源中任一个目标云资源创建实例失败,将所述至少两个云资源中已创建的与所述唯一标识对应的全部实例释放。
5.根据权利要求1所述的方法,其特征在于,所述算力扩容需求是高性能计算HPC调度框架发送的,在所述获取算力扩容需求之前,所述方法还包括:
获取算力组合信息,所述算力组合信息是根据所述混合云资源中各个云资源的当前算力确定的;
向所述HPC调度框架发送算力组合信息,以使所述HPC调度框架根据所述算力组合信息生成所述算力扩容需求。
6.根据权利要求5所述的方法,其特征在于,所述获取算力组合信息,包括:
获取所述混合云资源中各个云资源的当前算力,所述当前算力是所述云资源当前能够提供的实际算力;
根据所述混合云资源中各个云资源的资源系数,以及所述各个云资源的当前算力,得到所述各个云资源的目标算力,所述资源系数用于指示云资源中被使用的算力资源在所述云资源的总算力资源中的占比,所述各个云资源的目标算力构成所述算力组合信息;
其中,在所述云资源的负载系数超过负载阈值时,所述云资源对应的目标算力小于当前算力。
7.根据权利要求2所述的方法,其特征在于,在所述根据所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息之前,所述方法还包括:
获取所述目标云资源对应的实例配置策略,所述实例配置策略包括最大量策略、优选策略、成本策略和分配策略中的至少一种策略,其中,所述最大量策略用于定义单位时间内能够创建实例的最大数量,所述优选策略用于定义优先创建实例的实例资源,所述成本策略用于指示基于使用成本考虑定义的优先使用的实例和优先释放的实例,所述分配策略用于指示在实例的负载低于预设值的情况下,对实例进行降权后再次分配;
所述根据所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息,包括:
根据所述实例配置策略、所述目标云资源对应的目标实例的数量,以及所述需求实例的规格,生成所述实例创建信息。
8.根据权利要求1所述的方法,其特征在于,在所述获取算力扩容需求之前,所述方法还包括:
获取预测的算力使用需求,所述预测的算力使用需求是根据历史的算力使用数据确定的,所述预测的算力使用需求包括预测实例的使用时间、规格和数量;
根据所述预测的算力使用需求,在所述预测实例的使用时间之前,初始化待用实例并放入实例资源池,所述待用实例满足所述预测实例的规格和数量的要求,所述实例资源池用于存放所述待用实例;
所述混合云资源中各个云资源的当前算力包括所述实例资源池中的待用实例,所述根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,包括:
根据所述实例资源池中的所述待用实例以及所述算力扩容需求,生成所述实例创建信息。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述实例资源池中未包括待用实例的情况下,初始化备用实例并放入所述实例资源池,所述备用实例的规格和数量满足预设的算力使用需求。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标云资源中所述目标实例的运行参数,所述运行参数用于指示所述目标实例处于空闲状态、低负载状态或者故障状态;
在所述目标实例的运行参数指示所述目标实例处于空闲状态、低负载状态或者故障状态的情况下,向所述目标云资源发送实例释放信息,所述实例释放信息用于释放所述目标实例。
11.根据权利要求10所述的方法,其特征在于,在所述目标实例的运行参数指示所述目标实例处于故障状态的情况下,所述方法还包括:
向所述目标云资源发送实例重建信息,所述实例重建信息用于创建新的实例完成所述目标实例对应的算力任务;或者,
在所述目标实例的运行参数指示所述目标实例处于低负载状态的情况下,所述方法还包括:
向所述目标云资源的运行实例发送转移算力任务,所述转移算力任务为所述目标实例对应的算力任务,所述运行实例为所述目标云资源的其中一个正在运行的实例。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取算力缩容需求;
根据所述算力缩容需求,释放所述目标云资源中与所述算力缩容需求对应的实例。
13.一种算力管理装置,其特征在于,应用于算力调度设备,所述算力调度设备连接混合云资源,所述混合云资源包括至少一个私有云资源和至少一个公有云资源,所述装置包括:
需求获取模块,用于获取算力扩容需求;
信息生成模块,用于根据所述混合云资源中各个云资源的当前算力以及所述算力扩容需求,生成实例创建信息,所述实例创建信息用于指示目标云资源创建与所述算力扩容需求对应的目标实例,所述目标云资源包括所述混合云资源中的至少一个云资源;
信息发送模块,用于向所述目标云资源发送所述实例创建信息。
14.一种算力调度设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至12任一项所述的算力管理方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至12任一项所述的算力管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311694857.3A CN117632509A (zh) | 2023-12-11 | 2023-12-11 | 算力管理方法及装置、算力调度设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311694857.3A CN117632509A (zh) | 2023-12-11 | 2023-12-11 | 算力管理方法及装置、算力调度设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117632509A true CN117632509A (zh) | 2024-03-01 |
Family
ID=90037506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311694857.3A Pending CN117632509A (zh) | 2023-12-11 | 2023-12-11 | 算力管理方法及装置、算力调度设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117632509A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971512A (zh) * | 2024-04-02 | 2024-05-03 | 杭州骋风而来数字科技有限公司 | 一种算力智能调度***和方法 |
-
2023
- 2023-12-11 CN CN202311694857.3A patent/CN117632509A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971512A (zh) * | 2024-04-02 | 2024-05-03 | 杭州骋风而来数字科技有限公司 | 一种算力智能调度***和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
US8984519B2 (en) | Scheduler and resource manager for coprocessor-based heterogeneous clusters | |
US10754704B2 (en) | Cluster load balancing based on assessment of future loading | |
US20190215846A1 (en) | Resource scheduling method and server | |
US9571561B2 (en) | System and method for dynamically expanding virtual cluster and recording medium on which program for executing the method is recorded | |
US8954487B2 (en) | Management server and method for providing cloud computing service | |
US9973512B2 (en) | Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time | |
CN111897654B (zh) | 将应用迁移到云平台的方法、装置、电子设备和存储介质 | |
CN111798113B (zh) | 资源分配方法、装置、存储介质和电子设备 | |
CN109257399B (zh) | 云平台应用程序管理方法及管理平台、存储介质 | |
CN112988390A (zh) | 一种算力资源分配方法及装置 | |
US9817698B2 (en) | Scheduling execution requests to allow partial results | |
EP4177745A1 (en) | Resource scheduling method, electronic device, and storage medium | |
CN102339233A (zh) | 云计算集中管理平台 | |
CN111459641A (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
CN112925607A (zh) | 一种***扩缩容方法及装置、电子设备 | |
CN112905342A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN111628887A (zh) | 物联网切片资源分配***、方法、电子设备及存储介质 | |
CN112749002A (zh) | 一种集群资源动态管理的方法和装置 | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN115061800A (zh) | 边缘计算任务的处理方法、边缘服务器及存储介质 | |
CN116401024A (zh) | 基于云计算的集群扩缩容方法、装置、设备及介质 | |
CN116991585A (zh) | 一种ai算力自动调度方法、装置及介质 | |
CN114116173A (zh) | 动态调整任务分配的方法、装置和*** | |
JP2023543744A (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 |