CN116360972A - 资源管理方法、装置及资源管理平台 - Google Patents
资源管理方法、装置及资源管理平台 Download PDFInfo
- Publication number
- CN116360972A CN116360972A CN202210467575.9A CN202210467575A CN116360972A CN 116360972 A CN116360972 A CN 116360972A CN 202210467575 A CN202210467575 A CN 202210467575A CN 116360972 A CN116360972 A CN 116360972A
- Authority
- CN
- China
- Prior art keywords
- resource
- network
- resources
- computing
- cluster
- 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 abstract description 111
- 238000000034 method Methods 0.000 claims abstract description 110
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000013139 quantization Methods 0.000 claims description 146
- 230000003068 static effect Effects 0.000 claims description 126
- 238000004364 calculation method Methods 0.000 claims description 66
- 238000011002 quantification Methods 0.000 claims description 55
- 238000007667 floating Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 239000010410 layer Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 241000238633 Odonata Species 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 2
- 108050006002 RNA polymerase sigma factor FliA Proteins 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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/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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种资源管理方法、装置及资源管理平台。该方法用于包括多个资源对象的算力网络系统,包括:资源管理平台获取资源对象的资源数据,该资源数据用于指示资源对象的各类硬件资源的属性信息;量化各类硬件资源获得对应的量化结果,然后根据该量化结果为调度请求分配处理该调度请求的资源,其中量化结果包括资源对象中以最小的可独立运行单元为单位量化计算资源所获得的结果。通过以资源对象中自小的可独立运行单元为单位对字眼对象的计算资源进行量化,能够更精确评估各个资源对象的能力,进而进行资源的分配,能够使资源的调度更加合理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源管理方法、装置及资源管理平台。
背景技术
在云计算领域,往往通过算力网络将动态分布的计算资源与存储资源充分连接,实现网络资源、存储资源、计算资源等资源的统一协同调度。其中,现有算力网络中包括通用服务器、异构服务器、边缘服务器、网络设备(如交换机)和存储设备等不同类型的设备,设备间计算能力存在差异,且可能通过不同运营商的网络与算力网络中其他设备进行连接;而且,设备间网络的时延和带宽也因所在地域、接入网络类型等因素导致存在较大差异;另一方面,不同设备所使用的存储资源也因介质类型和网络等原因导致存储能力参差不齐。虽然部署算力网络的平台应用在用户应用部署过程中也不同程度考虑了上述因素,如云计算厂商的弹性计算服务是根据用户对运行软件的需求为其分配虚拟中央处理单元(virtualcentral processing unit,vCPU)、内存和网络带宽。但是,随着用户需求的多样化,以及资源种类的不断增加,现有的资源管理方法无法充分发挥算力网络的资源利用率。因此,如何提供一种更优的资源管理方法成为亟待解决的技术问题。
发明内容
本申请提供一种资源管理方法、装置及资源管理平台,能够根据资源对象的资源数据对算力网络中资源对象的硬件资源进行量化,更准确的得到各个资源对象处理调度请求的效率,进而能够根据量化结果和用户的需求对作业进行调度。
第一方面,本申请提供一种资源管理方法,用于包括多个资源对象的算力网络,该方法包括:资源管理平台获取资源对象的资源数据,该资源数据用于指示资源对象的各类硬件资源的属性信息;量化各类硬件资源获得对应的量化结果,然后根据该量化结果为调度请求分配处理该调度请求的资源,其中量化结果包括资源对象中以最小的可独立运行单元为单位量化计算资源所获得的结果。
通过以资源对象中最小的可独立运行单元为单位对资源对象的计算资源进行量化,能够更精确评估各个资源对象的计算能力,进而进行资源的分配,能够使资源的调度更加合理,提高算力网络的资源利用率。
在一种可能的实现方式中,上述硬件资源包括计算资源,上述资源数据包括计算资源的硬件属性数据,计算资源的硬件属性数据包括处理器的算力类型、处理器的计算宽度、单个处理器中可独立运行单元的数量和可独立运行单元的计算频率中的至少一种;其中,算力类型包括整型运算和浮点型运算;上述量化结果包括计算资源的静态量化结果,该计算资源的静态量化结果用于指示资源对象的基础计算能力,即资源对象在空载是的计算能力;则上述量化所述资源数据获得量化结果,包括:以最小的可独立运行单元为单位,按照计算资源的硬件属性数据确定计算资源的静态量化结果。其中,最小可独立运行单元为物理核、逻辑核或者流处理器。
对于资源对象的计算资源,将计算资源以最小的可独立运行单元进行量化,将相同算力类型、不同计算宽度的各个处理器根据最小的可独立运行单位进行量化,将相同算力类型不同计算宽度的处理器的计算能力以相同的标准进行量化,例如,将相同算力类型的处理器不同计算宽度的处理器的计算能力转换为相同算力类型相同计算宽度的处理器的计算能力。从而能够更精确评估各个资源对象的计算能力,进而进行资源的分配,能够使资源的调度更加合理,提高算力网络的资源利用率。
在一种可能的实现方式中,上述计算资源的静态量化结果包括整型运算的处理器的量化后的结果和浮点型运算的处理器的量化后的结果;则上述以最小的可独立运行单元为单位,按照计算资源的硬件属性数据确定计算资源的静态量化结果,包括:将不同计算宽度的整型运算的处理器的计算频率转换为目标计算宽度的整型运算的处理器的量化值,得到整型运算的处理器的量化后的结果;将不同计算宽度的浮点型运算的处理器的计算频率转换为目标计算宽度的浮点型运算的处理器的量化值,得到的浮点数运算的处理器的量化后的结果。
对于资源对象的计算资源,将计算资源以最小的可独立运行单元进行量化,不同处理器的最小可独立运行单元的计算频率也各部相同,将各个处理器根据最小的可独立运行单元为单位,将相同算力类型不同计算宽度的处理器的计算频率量化为相同计算宽度的处理器的量化值,能够更准确的评估和对比不同资源对象的计算能力,进而在进行资源的分配时,能够使资源的调度更加合理,提高算力网络的资源利用率。
在另一种可能的实现方式中,上述硬件资源包括存储资源,上述资源数据包括存储设备的硬件属性数据,存储设备的硬件属性数据包括存储设备的类型、容量和输入输出速率,其中,不同存储设备的存储介质不同;上述量化结果包括存储资源的静态量化结果,存储资源的静态量化结果用于指示资源对象的基础存储能力;则上述量化所述资源数据获得量化结果,包括:根据所述存储设备的硬件属性数据确定所述存储资源的静态量化结果。
存储设备不仅用于存储数据,计算节点在处理任务时会不断的对存储设备进行读写,而不同存储设备的存储容量不同,不同存储设备的读写速率(即存储设备的输入输出速率)也不同,结合资源对象中不同存储设备的容量和输入输出速率对资源对象的存储资源进行量化后,能够更加准确的反映一个资源对象的存储资源的性能,进而在进行资源的分配时,能够使资源的调度更加合理。
在另一种可能的实现方式中,上述硬件资源还包括网络资源,上述资源数据包括网络资源的硬件属性数据,当资源对象为单个设备时,网络资源的硬件属性数据包括该设备内的总线带宽;上述量化结果包括网络资源的静态量化结果,网络资源的静态量化结果用于指示资源对象的基础数据传输能力;则上述量化所述资源数据获得量化结果,包括:将设备的总线带宽作为网络资源的静态量化结果。
算力网络的资源对象可以是单个设备,单个设备在处理数据时,数据通过设备内的总线在设备内的各个模块之间进行传输,因此在资源对象是单个设备时,设备的总线带宽是评价设备内网络传输能力的重要标准。
在另一种可能的实现方式中,上述硬件资源包括网络资源,所述资源数据包括网络资源的硬件属性数据,当资源对象为包括多个设备的集群时,网络资源的硬件属性数据包括集群的网络拓扑、集群内部网络设备的端口带宽以及集群与外部网络之间的网络带宽;上述量化结果还包括网络资源的静态量化结果;网络资源的静态量化结果用于指示资源对象的基础数据传输能力;则上述量化资源数据获得量化结果,包括:根据集群的网络拓扑和集群内部各个网络设备的端口带宽,确定网络资源的静态量化结果。
算力网络的资源对象还可以是包括多个设备的集群,集群内的多个设备通过网络设备互相连接,通过集群处理任务时,网络设备的端口带宽是影响不同设备之间数据交互速率的一个重要因素,不同节点之间数据交互的速率影响集群处理任务的效率,而不同网络设备的端口带宽不同,不同集群之间网络设备的拓扑结构,拓扑结构同样影响节点之间的数据交互速率,因此根据网络拓扑和网络设备的端口带宽确定不同集群的数据传输能力,能够更精确评估各个资源对象的数据传输能力,进而进行资源的分配,能够使资源的调度更加合理,提高算力网络的资源利用率。
需要说明的是,集群内各个设备之间还可以采用硬件加速技术以提高数据传输能力,例如远程直接内存访问技术和/或网内计算技术。因此当集群内各个设备之间采用硬件加速技术时,还可以根据各个网络设备的端口带宽以及硬件加速技术确定网络资源的静态量化结果。设备的硬件加速技术同样能够加速处理数据的效率,在对资源对象的数据传输能力进行量化的过程中,将硬件加速技术带来的效果同样进行量化,能够更加精确的得到资源对象处理数据的效率。
在另一种可能的实现方式中,根据量化结果为调度请求分配资源,包括:上述获取调度请求中的资源需求,该资源需求包括调度请求对硬件资源的需求;例如对计算资源的计算需求、存储资源的存储需求或网络资源的网络需求中的任意一种或多种,然后资源管理平台根据算力网络系统中多个资源对象的各类硬件资源的静态量化结果和调度请求中的资源需求,确定处理调度请求的目标资源对象。
对于上述方法对资源对象的计算资源、存储资源和网络资源进行量化后,更精确地评估了各个资源对象的计算能力,在此基础上,结合调度请求中的资源需求确定处理调度请求的资源对象,能够对资源对象的资源的调度更加合理,提高算力网络的资源利用率。
在另一种可能的实现方式中,上述根据量化结果为调度请求分配资源,包括:确定资源对象的可用资源;根据量化结果、资源需求和资源对象的可用资源,确定资源对象相对于调度请求的动态量化结果,上述动态量化结果用于指示资源对象处理调度请求的能力;根据动态量化结果和调度请求中的资源需求,确定处理调度请求的目标资源对象,该资源需求包括调度请求对硬件资源的需求,例如对计算资源的需求、对存储资源的需求等。
可选地,动态量化结果用于指示第一资源对象处理调度请求的能力。该动态量化结果是接收到调度请求后,获取第一资源对象当前可用资源的资源数据后得到的,即,获取动态量化结果的过程中考虑了各个资源对象在当前情况下的可用的资源以及该调度请求需要的各类资源,通过对算力网络的计算资源、存储资源和网络资源等资源基于调度请求的资源需求信息和可用资源进行再次量化,能够更加精确的得到各个资源对象当前处理调度请求的效率。
通过上述方法,资源管理平台能够先对算力网络中的各个资源对象包括的各类资源进行一次量化,以得到各个资源对象的基础数据处理能力;而在接收到调度请求时,根据资源对象当前各类硬件资源的可用资源数据,结合调度请求中的资源需求以及该资源对象的静态量化结果,再次对该资源对象进行量化,能够更精确的得到各个资源对象处理调度请求的效率,进而能够根据第二次的量化结果和用户的需求对作业进行调度。
在另一种可能的实现方式中,上述资源对象的可用资源包括可用的计算资源、可用的存储资源和可用的网络资源;则根据上述量化结果、资源需求和资源对象的可用资源,确定资源对象相对于调度请求的动态量化结果,包括:根据资源对象的计算资源的硬件属性数据、可用的计算资源的资源数据以及资源需求中的计算需求,确定计算资源的匹配度,该计算资源的匹配度是指可用的计算资源与资源需求中的计算需求的匹配度,资源需求中的计算需求是指处理调度请求所需的计算资源;根据资源对象的存储资源的硬件属性数据、可用的存储资源的资源数据以及资源需求中的存储需求确定存储资源的匹配度,该存储资源的匹配度是指可用的存储资源与资源需求中的存储需求的匹配度,资源需求中的存储需求是指处理调度请求所需的存储资源。根据集群内部网络的网络设备的端口带宽和集群内部网络的网络设备可用的端口带宽,确定集群内部网络的匹配度,该集群内部网络的匹配度是指集群可用的网络资源与资源需求中的内部网络需求的匹配度;以及,根据集群和集群外部网络之间的网络带宽,以及集群与集群外部网络之间的可用网络带宽,确定集群外部网络的匹配度,该集群外部网络的匹配度是指集群外部网络的可用的网络资源与资源需求中的外部网络需求的匹配度;根据计算资源的匹配度、存储资源的匹配度、集群内部网络的匹配度以及集群外部网络的匹配度,确定上述动态量化结果。
在另一种可能实现方式中,在根据动态量化结果和调度请求中的资源需求,确定处理调度请求的目标资源对象,包括:在资源需求为效率优先时,确定动态量化结果最大的资源对象为目标资源对象;或者,在资源需求为成本优先时,确定动态量化结果最小的资源对象为目标资源对象。
通过上述方法能够得到算力网络中每个资源对象处理调度请求的效率,作业调度平台能够根据动态量化结果和用户需求,例如效率优先或价格优先等要求,将调度请求分配给一个满足用户要求的资源对象处理。
在另一种可能实现方式中,上述资源管理平台获取资源对象的资源数据,包括:通过所述资源对象的资源管理器获取所述资源对象的资源数据,所述资源管理器通过基板管理控制器BMC、集群发现协议或数据采集接口中至少一种方式,获取所述资源对象的资源数据。
第二方面,本申请提供一种资源管理装置,该资源管理装置包括用于执行第一方面或第一方面任一种可能实现方式中的资源管理方法的各个模块。
第三方面,本申请提供一种资源管理平台,该资源管理平台包括处理器和存储器;其中,存储器用于存储指令,处理器用于执行所述指令,当所述处理器执行所述指令时,所述处理器执行如第一方面或第一方面任一种可能实现方式中的资源管理方法。
在一种可能实现方式中,上述资源管理平台位于算力网络系统的一个物理设备中。
在另一种可能实现方式中,上述资源管理平台部署于算力网络系统的虚拟设备中,上述虚拟设备包括虚拟机或者容器。当资源管理平台部署于算力网络系统的虚拟设备中时,该资源管理平台的处理器包含于算力网络系统分配给该虚拟设备的处理器,该资源管理平台的存储器包含于算力网络系统分配给该虚拟设备的存储器。
第四方面,本申请提供一种计算设备,包括处理器和存储器,存储器用于存储指令,处理器用于执行所述指令,当处理器执行所述指令时,执行上述第一方面或上述第一方面任意可能的实现方式中所述的资源管理方法。
第五方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令在服务器上运行时,使得服务器执行第一方面或第一方面任一种可能实现方式中的资源管理方法。
第六方面,本申请提供了一种计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行第一方面或第一方面任一种可能实现方式中的资源管理方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本申请实施例提供的一种算力网络的示意图;
图2是本申请实施例提供的一种实现资源管理方法的系统的示意图;
图3是本申请实施例提供的一种静态资源量化方法的流程示意图;
图4是本申请实施例提供的一种集群内网络拓扑示意图;
图5是本申请实施例提供的一种动态资源量化方法的流程示意图;
图6是本申请实施例提供的一种资源管理装置的示意图;
图7是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
为了便于理解,首先对本申请涉及的术语进行解释性说明。
算力网络(Computing Network),是指将动态分布的计算与存储资源通过网络连接,通过计算、存储、网络等多维度资源的统一协同调度,使海量的应用能够按需、实时调用算力网络中各类资源。
异构集群(Heterogeneous Cluster),是指集群中使用不同体系结构的处理器进行联合计算的集群,例如集群中的处理器包括中央处理器(central processing unit,CPU)、图像处理器(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)、张量处理器(tensor processing unit,TPU)、数据处理单元(data processing units,DPU)、芯片专用集成电路(application-specificintegrated circuit,ASIC)或现场可编程逻辑门阵列(field-programmable gate array,FPGA)等任意两种或两种以上的芯片。
高性能计算(High Performance Computing,HPC),是指运用有效的算法,快速完成科学研究、工程设计、金融、工业以及社会管理等领域内具有数据密集型、计算密集型和数据输入输出(input/output,I/O)密集型的计算。
多接入边缘计算(multi-access edge computing,MEC),将流量和服务计算从集中式数据中心迁移至网络边缘,更贴近客户。网络边缘分析、处理并存储所有数据,而不是将其发送到数据中心进行处理,收集并处理数据时可减少延迟,能够为高带宽应用提供实时性能。
直接内存访问(Remote Direct Memory Access,RDMA),是一种绕过远程主机操作系统内核访问其内存中数据的技术,由于不经过操作系统,不仅节省了大量CPU资源,同样也提高了系统吞吐量、降低了系统的网络通信延迟,尤其适合在大规模并行计算机集群中有广泛应用。
网内计算(In Network Computing,INC),是一种分布式并行计算体系结构,能够利用网卡、交换机等网络设备在数据传输的过程中,同时进行数据的在线计算,已达到降低通信延迟,提升整体计算效率的技术。
为了更好的利用算力网络中各个资源对象的资源,本申请提供一种对算力网络中各个资源对象的资源管理的方法,该资源管理方法通过获取资源对象的计算资源、存储资源和网络资源等硬件资源的相关硬件属性数据。对于计算资源,以计算资源最小可独立运行单元为单位,对计算资源进行量化;基于资源对象包括的各类存储设备的容量和输入输出速率,对存储资源进行量化;对于网络资源,对资源对象的内部网络和资源对象的外部网络分别进行量化,从而能够更准确地评估资源对象所包括的各类资源的能力,基于资源对象各类资源的量化结果以及作业对各类资源的需求对资源进行调度。通过本申请提供的方法对资源对象的各类资源进行量化管理,能够更加准确评估资源对象的各项能力,使得对资源的调度更加合理。
下面先结合图1和图2介绍本申请提供的一种算力网络的系统结构,其中,图1是本申请实施例提供的一种算力网络的示意图,算力网络包括多个资源对象,不同资源对象通过网络相互连接,例如,由运营商提供的运营商网络实现资源对象间的连接。资源对象可以是包括计算资源、存储资源和网络资源中至少一种的单个设备,例如多接入边缘计算服务器。资源对象也可以是包括多个设备的集群,每个集群包括计算资源、网路资源和存储资源,例如,高性能计算(HighPerformance Computing,HPC)集群、人工智能(ArtificialIntelligence,AI)计算集群、多样性异构集群(Heterogeneous Cluster)、数据中心等。
上述计算资源的处理器的类型可以是中央处理器CPU、GPU、NPU、TPU、DPU、ASIC、复杂可编程逻辑器件(complex programmable logic device,CPLD)、FPGA、通用阵列逻辑(generic array logic,GAL)、片上系统(system on chip,SoC)中的任意一种或者多种类型的组合。
上述存储资源可以是机械硬盘,如硬盘驱动器(Hard Disk Drive,HDD)、磁带,也可以是固态硬盘(Solid State Disk,SSD),还可以是其他类型的存储介质,或者以上两种或两种以上类型的存储介质的组合。
上述网络资源包括内部网络资源和外部网络资源。当资源对象为单个设备(例如,资源对象为计算节点)时,内部网络资源为该设备的总线带宽,外部网络资源为该设备与外部网络的网络带宽;当资源对象是包括多个设备的集群时,集群内的多个设备通过网络设备相互连接,集群的内部网络资源包括该集群内各个网络设备的端口带宽,外部网络资源为该集群与外部网络的网络带宽。
图2是本申请实施例提供的一种实现资源管理方法的系统的示意图。该系统包括资源管理平台100和多个资源对象200。其中,多个资源对象200构成如图1所示的算力网络,资源对象200可以是包括多个设备的集群,例如,图2中所示的AI计算集群201、HPC集群202、异构集群203等。可选地,资源对象也可以是单个设备,例如,MEC服务器204或其他类型的设备。资源管理平台100用于获取各个资源对象的硬件资源的硬件属性数据,进而对各个资源对象的各类资源进行量化评估。资源管理平台100可以部署于构成算力网络的任意一个资源对象中,例如,资源管理平台100部署于一个设备中。可选地,资源管理平台100也可以部署在除构成算力网络的资源对象之外的一个专用于进行资源管理的设备中,或者,资源管理平台100还可以利用虚拟资源形式部署,例如,利用虚拟机或容器等虚拟资源部署上述资源管理平台100。
资源对象中部署有资源管理器210,资源管理器210用于采集资源对象200的各类硬件资源的硬件属性数据并发送给资源管理平台100,其中,每个资源对象200的硬件资源包括计算资源、存储资源和网络资源。在资源对象200是集群时,资源管理器210可以部署在集群中的任意一个设备上,也可以部署在一个专用于采集集群各类硬件资源的资源数据的设备上。在资源对象200是单个设备时,资源管理器210就部署于该设备。资源管理平台100在接收到各个资源对象200的资源管理器210发送的各类硬件资源的资源数据之后,对各个资源对象200的各类资源的资源数据进行分析和量化,得到对各个资源对象的静态量化结果。然后资源管理平台100将各个资源对象200的各类硬件资源的硬件属性数据以及对应的静态量化结果存放入资源目录。其中,资源数据用于指示与其关联的资源对象的硬件资源的属性信息。
本申请实施例中,如果部署资源管理器210的设备包括基板管理控制器(Baseboard Management Controller,BMC),则资源管理器210可以通过BMC的智能平台管理接口(Intelligent Platform Management Interface,IPMI)采集资源对象中各个设备的各类资源的资源数据。设备还可以通过集群发现协议或者数据采集接口采集资源对象中各个计算节点的各类资源的资源数据,此时各个设备中需要部署有支持数据采集服务的代理(agent)。
在一种可能的实现方式中,上述算力网络还包括作业调度平台300,资源管理平台100还用于在接收到调度请求后,通过各个资源对象200的资源管理器210获取各个资源对象200当前各类资源的可用资源数据,然后,根据资源目录中各个资源对象200的静态量化结果、各个资源对象当前各类资源的可用资源数据以及调度请求,再次根据静态量化结果、各个资源对象200的可用资源进行量化,得到各个资源对象200的动态量化结果,该动态量化结果用于指示资源对象处理调度请求的能力,例如,动态量化结果用于指示资源对象处理调度请求的效率。再由作业调度平台300根据各个资源对象200的动态量化结果,将调度请求分配到目标资源对象。
上述作业调度平台300可以部署在集群中的任意一个设备上,也可以部署在一个专用于采集集群各类资源数据的设备上。例如,该作业调度平台300可以与资源管理平台100部署于同一个设备,也可以不与资源管理平台100部署于同一个设备,本申请实施例不做具体限定。
由上述描述可知,本申请提供的资源管理方法主要包括资源量化和资源分配两方面内容,接下来,先结合附图详细介绍本申请的资源量化的方法。
本申请的资源量化方法按照量化操作执行过程又可以区分为静态资源量化方法和动态资源量化方法。其中,静态资源量化方法可得到各个资源对象的各类硬件资源的静态量化结果,该静态量化结果用于指示资源对象的基础能力,例如,计算资源的静态量化结果指示资源对象的基础计算能力,存储资源的静态量化结果指示资源对象的基础存储能力,网络资源的静态量化结果指示资源对象的基础数据传输能力。动态资源量化方法得到各个资源对象的动态量化结果,动态量化结果是根据资源对象当前可用资源得到的,用于指示资源对象处理调度请求的处理能力。
图3是本申请实施例提供的一种静态资源量化方法的流程示意图。下面以算力网络中的资源对象均为单个设备为例详细介绍本申请实施例提供的静态资源量化方法,为了便于描述,将上述资源对象称为第一资源对象。该方法包括如下步骤:
S301.资源管理平台获取第一资源对象的资源数据。
第一资源对象在其接入算力网络后,第一资源对象可以通过BMC的IPMI、集群发现协议或者数据采集接口等方式获取第一资源对象的资源数据,并将第一资源对象的资源数据上报给资源管理平台100。其中,资源数据用于指示第一资源对象的硬件资源的属性信息,资源对象的硬件资源包括计算资源、网络资源和存储资源。则资源数据包括计算资源的硬件属性数据、存储资源的硬件属性数据和网络资源的硬件属性数据。
上述计算资源的硬件属性数据包括处理器的算力类型、处理器的计算宽度、处理器的数量、每个处理器包括的最小的可独立运行单元的数量和可独立运行单元的计算频率。其中,处理器的类型包括CPU、GPU、TPU、DPU或ASIC等其中的任意一种或多种;处理器的算力类型包括整型(Integer,INT)运算和浮点型(Floating Point,FP)运算,计算宽度包括64位、32位、16位、8位等。因此处理器的运算方式包括64位整型(INT64)、64位浮点型(FP64)、INT32、FP32、INT16、FP16等;最小的可独立运行单元可以是物理核(Core)、逻辑核或流处理器。存储资源的硬件属性数据包括存储设备的类型、各类存储设备的容量以及各类存储设备的输入/输出(Input/Output,I/O)速率。存储设备类型包括硬盘驱动器(HardDisk Drive,HDD)、磁带、机械硬盘或者固态硬盘(Solid State Disk,SSD)等。网络资源的硬件属性数据包括计算节点内部的总线带宽以及计算节点与外部网络的网络带宽。
需要说明的是,上述各类硬件资源的硬件属性数据仅用作举例,并不构成对资源管理器210获取的资源数据的限制,资源管理器210还可以获取比上述列举的更多或更少的资源数据。例如,在获取计算资源的硬件资源数据时,资源管理器210能够获取处理器的型号,根据处理器的型号即可确定处理器的类型、处理器的算力类型、处理器的计算宽度、处理器包括的最小的可独立运行单元的数量以及处理器的计算频率。
S302.资源管理平台根据第一资源对象的资源数据进行资源量化,得到第一资源对象对应的量化结果。
资源对象的硬件资源包括计算资源、存储资源或网络资源中的至少一种,相应地,资源数据包括计算资源的硬件属性数据、存储资源的硬件属性数据或网络资源的硬件属性数据,因此,资源管理平台100需要分别根据计算资源的硬件属性数据对资源对象的计算资源进行量化、根据存储资源的硬件属性数据对资源对象的存储资源进行量化以及根据网络资源的硬件属性数据对资源对象的网络资源进行量化。第一资源对象对应的量化结果包括计算资源的静态量化结果、存储资源的静态量化结果和网络资源的静态量化结果。其中,计算资源的静态量化结果用于指示资源对象的基础计算能力,基础计算能力可以理解为由资源对象自身的配置或属性所确定的计算能力;存储资源的静态量化结果用于指示资源对象的基础存储能力;网络资源的静态量化结果用于指示资源对象的基础数据传输能力。
对于计算资源的量化,由于同一个资源对象或者不同资源对象中处理器的类型、处理器的计算频率、处理器的算力类型和计算宽度等都可能存在不同。例如,当资源对象为异构设备时,该资源对象中可以同时设置CPU和GPU;或者,同一个资源对象中部分处理器的运算方式是INT64,部分处理器的运算方式是INT32;或者,同一个资源对象中部分处理器的计算速率是3.4吉赫(GHz),部分处理器的计算速率是2.1GHz。不同资源对象中,部分资源对象的处理器仅包括CPU,部分资源对象为异构设备;或者,不同的资源对象中部分资源对象的计算宽度是64位,部分资源对象的计算宽度是32位。因此不同处理器的计算能力不同,需要将各类处理器的计算能力按照统一的标准进行量化。
为了便于描述,本申请的以下实施例中,以处理器内最小的可独立运行单元为单位,按照算力类型和计算宽度对处理器进行量化为例进行说明。其中,以计算宽度为a的整型运算的处理器和计算宽度为b的浮点型运算的处理器作为量化标准。将不同计算宽度的整型运算(包括INT64、INT32、INT16、INT8等)的处理器的计算频率换算为计算宽度为a的整型运算的处理器的量化值,得到整型运算的处理器量化后的结果,将不同计算宽度的浮点型运算(包括FP64、FP32、FP16、FP8等)的处理器的计算频率换算为计算宽度为b的浮点型运算的处理器的量化值,得到浮点型运算的处理器量化后的结果。如果一个处理器的运算方式是INT t,即计算宽度为t的整型运算,则该处理器对应的转换系数为p=t/a,表示在相同的计算频率相同算力类型的情况下,计算宽度为t的处理器的计算能力是计算宽度为a的处理器的计算能力的p倍;如果一个处理器的运算方式是FP t,即计算宽度为t的浮点型运算,则该处理器对应的转换系数为q=t/b,表示在相同的计算频率相同的算力类型的情况下,计算宽度为t的处理器的计算能力是计算宽度为b的处理器的计算能力的q倍。即,在相同的计算频率下,如果一个处理器的最小可独立运算单元的运算方式为INT32,则该处理器的计算能力是运算方式为INT64的处理器的计算能力的二分之一,运算方式为FP16的处理器的计算能力是运算方式为FP64的处理器的计算能力的四分之一。
示例地,本申请实施例中,将不同计算宽度的整型运算的处理器的计算能力换算为运算方式为INT a的处理器的计算能力,将不同计算宽度的浮点型运算的处理器的计算能力换算为INTb的处理器的计算能力,且a=b。对于单个处理器,整型运算的处理器的计算能力的量化值为FINT=p*m*f,浮点型运算的处理器的计算能力的量化值为FFP=q*n*f。其中,p、q为转换系数,m、n为处理器包括的最小可独立运行单元的数量,f为最小可独立运行单元的计算频率。对于一个资源对象,通过上述方法能够分别对每个处理器的计算能力进行量化,然后根据每个处理器的计算能力得到对整个资源对象的计算资源的静态量化结果。本申请实施例中,能够通过如下公式1确定资源对象的计算资源的静态量化结果,或者通过如下公式2确定资源对象的计算资源的静态量化结果。
c=∑FINT+FFP (公式1)
其中,c为资源对象的计算资源的静态量化结果;∑FINT为资源对象中所有整型运算的处理器的计算能力的静态量化结果;∑FFP为资源对象中所有浮点型运算的处理器的计算能力的静态量化结果。
c=α∑FINT+(1-α)∑FFP (公式2)
其中,α为资源对象中整型运算的最小可独立运行单元所占的比例,α=∑FINT/(∑FINT+∑FFP)。
对于存储资源的量化,本申请实施例中,根据不同存储设备的容量和存储设备的IO速率对存储资源进行量化,资源对象的存储资源的静态量化结果能够根据如下公式3进行确定。
其中,M为资源对象的存储资源的静态量化结果;Ri为第i类存储设备的容量;R为资源对象所包括的存储设备的总容量,vi为第i类存储设备的IO速率。
而对于网络资源的量化,网络资源的静态量化结果为计算节点内部的总线带宽。即网络资源的静态量化结果满足如下公式4:
nin=Wbus (公式4)
上述图3所对应的实施例介绍了当资源对象是单个计算节点时,对资源对象的各类资源进行静态资源量化的方法。
作为一种可能的实施例,资源对象还可以是集群,每个集群包括多个计算节点。当上述第一资源对象是集群时,第一资源对象的硬件资源同样包括计算资源、存储资源和网络资源;第一资源对象的资源数据包括计算资源的硬件属性数据、存储资源的硬件属性数据和网络资源的硬件属性数据。
当第一资源对象是集群时,集群的计算资源的硬件属性数据同样包括处理器的算力类型、处理器的计算宽度、处理器的数量、每个处理器包括的最小的可独立运行单元的数量和最小可独立运行单元的计算频率。此时的硬件属性数据是集群中多个计算节点所包括的硬件属性数据。对于存储资源,存储资源的硬件属性数据同样包括存储设备的类型、各类存储设备的容量以及各类存储设备的I/O速率。
而对于网络资源,当第一资源对象是集群时,集群中的多个计算节点通过网络设备(例如交换机或路由器等)相互连接,网络资源的硬件资源数据包括集群内的网络拓扑结构、集群内部的网络设备(交换机和/或路由器等)的端口带宽以及集群与外部网络的网络带宽。其中,集群内的网络拓扑结构可以是叶脊(Spine-Leaf)拓扑结构、传统三层拓扑结构、胖树(Fat-Tree)拓扑结构、蜻蜓(Dragonfly)拓扑结构或Dragonfly+拓扑结构等。
对于第一资源对象是集群时的静态资源量化方法,对计算资源的量化方法可以参照上述资源对象为一个计算节点时的量化方法。对存储资源的量化方法可以参照上述资源对象是一个计算节点时的量化方法。
而对于网络资源的量化,集群内的计算节点通过一层或者多层网络设备(例如交换机)连接,例如,集群内的网络拓扑结构可以是叶脊(Spine-Leaf)拓扑结构或传统三层拓扑结构。如图4所示,图4是本申请实施例提供的一种集群内网络拓扑示意图。本申请实施例中,将与计算节点直接相连的网络设备作为Leaf设备,将其他层的网络设备作为Spine设备。例如,在传统三层拓扑网络中,将接入层的交换机作为Leaf设备,将汇聚层的交换机和核心层的交换机作为Spine设备。资源管理平台100获取各个Leaf设备的端口带宽,确定所有Leaf设备的平均带宽或者最小带宽,并获取各个Spine设备的端口带宽,确定所有Spine设备的平均带宽或者最小带宽,然后根据上述Leaf设备的平均带宽或者最小带宽,以及Spine设备的平均带宽或者最小带宽确定资源对象的内部网络的静态量化结果。本申请实施例中,能够通过如下公式5确定资源对象是集群时的内部网络的静态量化结果。
nin=θ*min(min{Wspine},avg{leaf}) (公式5)
其中,nin为资源对象的内部网络的静态量化结果;min{Wspine}表示资源对象中所有Spine设备的端口带宽中的最小带宽;avg{Wleaf}表示资源对象中所有Leaf设备的端口带宽的平均带宽;θ表示集群中独立计算单元的数量。
需要说明的是,上述公式5中是以所有Spine设备的最小带宽、所有Leaf设备的平均带宽计算内部网络的静态量化结果。实际应用中,也可以是以所有Spine设备的平均带宽、所有Leaf设备的平均带宽计算内部网络的静态量化结果,也可以是以所有Spine设备的最小带宽、所有Leaf设备的最小带宽计算内部网络的静态量化结果,还可以是以所有Spine设备的平均带宽、所有Leaf设备的最小带宽计算内部网络的静态量化结果。
在一种可能的实现方式中,计算节点可支持硬件加速技术,例如,计算节点可通过RDMA技术或者INC技术提高集群内部计算节点之间的数据传输效率。如果上述S301中资源管理器210获取了集群内的计算节点的硬件加速信息,并将硬件加速信息发送给资源管理平台100。本申请实施例还可以通过如下公式6确定资源对象是集群时的内部网络的静态量化结果。
nin=(1+j*c)θ*min(min{Wspine},avg{Wleaf}) (公式6)
其中,j表示计算节点所具备的硬件加速方式的数量,c为权重系数,例如,如果计算节点只具有RDMA加速技术或者INC加速技术,则j的值1,如果计算节点同时具有RDMA加速技术或者INC加速技术,则j的值为2。应理解,计算节点还可以包括其他硬件加速技术,在此不在一一赘述。另外,不同硬件加速技术对应的权重系数可以不同,也可以相同,公式6中以不同硬件加速技术对应的权重系数相同为例。
资源管理平台100能够通过上述方法对第一资源对象的计算资源、存储资源和网络资源分别进行量化,得到第一资源对象对应的量化结果。该量化结果包括上述计算资源的静态量化结果、存储资源的静态量化结果和网络资源的静态量化结果。资源管理平台100在确定第一资源对象各类资源的静态量化结果之后,将第一资源对象的资源数据以及第一资源对象各类资源的静态量化结果存入资源目录。资源目录中记载有算力网络中各个资源对象的资源数据和各个资源对象的各类资源的静态量化结果。资源管理平台100在将第一资源对象的资源数据以及第一资源对象各类资源的静态量化结果存入资源目录后,会向第一资源对象的资源管理器210返回成功接入算力网络的消息。
资源管理平台100能够通过上述方法,对接入算力网络的其他资源对象分别通过上述静态资源量化方法进行量化,得到各个资源对象对应的量化结果,并将各个资源对象的资源数据和各个资源对象的各类资源的静态量化结果存入资源目录。
资源管理平台100在对接入算力网络的其他资源对象的分别通过上述静态资源量化方法进行量化,得到各个资源对象对应的量化结果后。资源管理平台100能够通过算力网络的网络(web)界面提交调度请求之后,该调度请求包括资源需求,该资源需求包括调度请求对硬件资源的需求,该硬件资源包括计算资源、存储资源或网络资源中的任意一种或多种。资源管理平台100根据算力网络中各个资源对象的量化结果和调度请求中的资源需求,确定处理该调度请求的目标资源对象。
示例性的,如果上述调度请求中的资源需求为效率优先,则目标资源对象为算力网络中计算资源的静态量化结果最大的资源对象。如果上述调度请求中的资源需求包括效率优先,且包括存储容量需求,则目标资源对象为算力网络中存储容量大于资源需求中的存储容量需求的多个资源对象中,计算资源的静态量化结果最大的资源对象。如果调度请求中的资源需求为价格优先,则目标资源对象为算力网络中计算资源的静态量化结果最小的资源对象。
上述图3对应的实施例详细介绍了对资源对象进行静态资源量化的方法,下面结合附图介绍本申请实施例提供的动态资源量化方法。如图5所示,图5是本申请实施例提供的一种动态资源量化方法的流程示意图。该方法包括如下步骤:
S501.资源管理平台获取调度请求。
上述调度请求用于请求执行一个待调度作业的资源对象,上述调度请求包括资源需求,所述资源需求包括调度请求的计算需求以及存储需求。计算需求用于指示处理所述调度请求所需的计算资源,即处理调度请求需要的最小可独立运行单元的数量。存储需求是指执行调度请求需要的存储空间大小。
用户利用用户设备通过算力网络的网络(web)界面提交调度请求之后,算力网络中的资源管理平台100可通过应用编程接口(application programming interface,API)获取上述调度请求。
上述调度请求还包括作业类型,作业类型包括重算力场景、通用算力场景和混合算力场景。例如,HPC作业或者AI模型训练通常为重算力场景,大数据处理和云服务通常为通用算力场景,混合算力场景是即包括重算力场景的作业,也包括通用算力场景的作业。作业类型用于指示处理调度请求需要的整型计算资源的占比和浮点型计算资源的占比。
用户在提交调度请求前,能够在用户界面配置作业类型、计算需求和存储需求,以供资源管理平台100根据计算需求和存储需求对各个资源对象进行动态资源量化。
在一种可能的实现方式中,用户在提交调度请求前,还可以设置算力占比,即调度请求还包括算力占比,算力占比是指执行调度请求所需的整型计算资源的比例和浮点型计算资源的比例。
S502.资源管理平台获取第一资源对象的可用资源数据。
上述可用资源数据包括可用的计算资源的资源数据、可用的网络资源的资源数据和可用的存储资源的资源数据。可用的计算资源的资源数据包括处理器的类型、可用的处理器的数量以及可用的处理器中每个处理器的最小可独立计算单元的数量、计算频率、计算宽度和算力类型等;可用的存储资源的资源数据包括可用存储容量。对于网络资源,如果第一资源对象是集群,则可用的网络资源的资源数据包括集群内部的网络设备的可用端口带宽以及集群与外部网络的可用带宽。如果第一资源对象是单个的计算节点,则可用的网络资源的资源数据包括计算节点与外部网络的可用带宽。
资源管理平台100在对各个资源对象200进行静态资源量化之后,资源管理平台100能够以第一时间间隔向各个资源对象200发送查询请求,该查询请求用于指示接收到查询请求的资源对象200上报当前的可用资源数据。或者,资源管理平台100在接收到调度请求之后,资源管理平台100向各个资源对象200发生查询请求,以指示接收到查询请求的资源对象200上报当前的可用资源数据。或者,各个资源对象200在成功接入算力网络后,以第二时间间隔向资源管理平台100上报各自的可用资源数据。各个资源对象200通过各自的资源管理器210获取当前的可用资源数据,资源管理器210获取可用资源数据的方法与上述S301中获取资源数据的方法相同,在次不在赘述。
S503.资源管理平台根据调度请求以及第一资源对象的可用资源数据,确定第一资源对象的各类可用资源与资源需求中各类资源需求的匹配度。
其中,各类可用资源与资源需求中各类资源需求的匹配度包括以下任意一种或多种:可用的计算资源与资源需求中的计算需求的匹配度、可用的存储资源与资源需求中的存储需求的匹配度以及可用的网络资源的匹配度。资源管理平台100所在的计算节点记录有资源目录,资源目录中记载有算力网络中各个资源对象的硬件属性数据。资源管理平台100在获取到第一资源对象的可用资源数据之后,先根据第一资源对象的硬件属性数据、调度请求和可用资源数据,确定第一资源对象的各类可用资源与资源需求中各类资源需求的匹配度;然后根据第一资源对象各类资源与资源需求中各类资源的资源需求的匹配度以及静态量化结果,确定第一资源对象的动态量化结果。
资源管理平台100根据调度请求确定调度请求需要的计算需求中,整型运算的最小可独立运行单元的数量以及浮点型运算的最小可独立运行单元的数量。在调度请求包括作业类型的情况下,资源管理平台100中预先配置有不同应用场景关联的算力占比,例如,算力网络支持算力场景、通用算力场景和混合算力场景等场景,其中,重算力场景下需要的整型计算资源的比例为30%,浮点型计算资源的比例为70%;通用算力场景下需要的整型计算资源的比例为60%,浮点型计算资源的比例为40%;混合算力场景下需要的整型计算资源的比例为50%,浮点型计算资源的比例为50%。
资源管理平台100根据作业类型和计算需求,确定执行调度请求时需要的整型运算的最小可独立运行单元的数量以及浮点型运算的最小可独立运算单元的数量。在调度请求包括算力占比的情况下,资源管理平台100根据调度请求中的算力占比和计算需求确定执行调度请求时需要的整型运算的最小可独立运行单元的数量以及浮点型运算的最小可独立运行单元的数量。在确定执行调度请求时需要的整型运算的最小可独立运行单元的数量以及浮点型运算的最小可独立运行单元的数量后,能够通过如下公式7确定可用的计算资源与资源需求中的计算需求的匹配度。
其中,rc为可用的计算资源与资源需求中的计算需求的匹配度;INTt表示第一资源对象中整型运算的最小可独立运行单元的数量;FPt表示第一资源对象中浮点型运算的最小可独立运算单元的数量;INTjob表示执行调度请求时需要的整型运算的最小可独立运行单元的数量;FPjob表示执行调度请求时需要的浮点型运算的最小可独立运行单元的数量;INTa表示第一资源对象中当前可用的整型运算的最小可独立运行单元的数量;FPa表示第一资源对象中当前可用的浮点型运算的最小可独立运行单元的数量。
对于可用的存储资源与资源需求中的存储需求的匹配度,资源管理平台100能够根据如下公式8确定可用的存储资源与资源需求中的存储需求的匹配度。
其中,β表示调度请求是否需要持久化存储,如果需要持久化存储,则β=1,如果不需要持久化存储,则β=0;γ表示在需要持久化存储的情况下,第一资源对象的可用存储容量是否大于或等于存储需求,如果第一资源对象的可用存储容量大于或等于存储需求,则γ=1,如果第一资源对象的可用存储容量小于存储需求,则γ=0;s表示可用的计算资源与资源需求中的计算需求的匹配度;M为上述公式3中的第一资源对象的存储资源的静态量化结果。
对于可用的网络资源的匹配度,如果第一资源对象200是集群,则网络资源的可用的资源数据包括集群内部的网络设备的端口可用带宽;以及集群与外部网络的可用带宽。如果第一资源对象200是单个计算节点,则可用的网络资源的资源数据包括计算节点与外部网络的可用带宽。可用的网络资源的匹配度包括内部网络可用的网络资源的匹配度和外部网络的可用的网络资源的匹配度。
对于可用的网络资源的匹配度中的集群内部网络的匹配度,当第一资源对象200是集群时,资源管理平台100从资源目录中获取各个Leaf设备的端口带宽,根据每个Leaf设备的端口可用带宽与其端口带宽,确定每个Leaf设备的端口可用带宽与其端口带宽的比值,根据相同方法得到所有Leaf设备对应的多个端口带宽比值,进而确定所有Leaf设备对应的端口带宽比值的平均值或者最小值。从资源目录中获取各个Spine设备的端口带宽,根据每个Spine设备的端口可用带宽与其端口带宽,确定每个Spine设备的端口可用带宽与其端口带宽的比值,根据相同方法得到所有Spine设备对应的多个端口带宽比值,进而确定所有Spine设备对应的多个端口带宽比值的平均值或者最小值。然后根据所有Leaf设备对应的多个端口带宽的比值的平均值或者最小值,以及所有Spine设备对应的多个端口带宽的比值的平均值或者最小值,确定在第一资源对象为集群时,第一资源对象的内部网络的匹配度。本申请实施例中,能够通过如下公式9确定第一资源对象是集群时内部网络的匹配度。
rin=min(min{Pspine},avg{Aleaf}) (公式9)
其中,rin表示第一资源对象的内部网络的匹配度;min{Pspine}表示第一资源对象中所有Spine设备对应的端口带宽比值的最小值;avg{Aleaf}表示第二资源对象中所有Leaf设备对应的端口带宽比值的平均值。
需要说明的是,当第一资源对象是单个计算节点时,第一资源对象的内部网络的匹配度是1。
需要说明的是,上述公式9中是以所有Spine设备对应的多个端口带宽比值的最小值、所有Leaf设备对应的多个端口带宽比值的平均值计算内部网络的匹配度。实际应用中,也可以是以所有Spine设备对应的多个端口带宽比值的平均值、所有Leaf设备对应的多个端口带宽比值的平均值计算内部网络的匹配度,也可以是以所有Spine设备对应的多个端口带宽比值的最小值、所有Leaf设备对应的多个端口带宽比值的最小值计算内部网络的匹配度,还可以是以所有Spine设备对应的多个端口带宽比值的平均值、所有Leaf设备对应的多个端口带宽比值的最小值计算内部网络的匹配度。
对于可用的网络资源的匹配度中的外部网络的匹配度,资源管理平台100能够根据如下公式10计算第一资源对象的外部网络的匹配度。
其中,rout表示第一资源对象的外部网络的匹配度,Wa表示第一资源对象与外部网络的可用带宽;W表示第一资源对象与外部网络的带宽。
资源管理平台100能够通过上述方法,根据调度请求以及各个资源对象的可用资源数据,确定各个资源对象的各类可用资源与资源需求中各类资源需求的匹配度。
S504.资源管理平台根据第一资源对象的量化结果以及第一资源对象的各类可用资源与资源需求中各类资源需求的匹配度,对第一资源对象进行动态量化,得到第一资源对象相对于调度请求的动态量化结果。
其中,动态量化结果用于指示第一资源对象处理调度请求的能力。该动态量化结果是接收到调度请求后,获取第一资源对象当前可用资源的资源数据后得到的,即,获取动态量化结果的过程中考虑了各个资源对象在当前情况下的可用的资源以及该调度请求需要的各类资源,因此动态量化结果能够更准确地反应各个资源对象当前处理调度请求的能力。
调度请求所要处理的数据的数据源与资源对象之间的网络时延也是资源对象的外部网络的一个重要参数。资源管理平台100还可以根据数据源与资源对象之间的网络时延,以及该资源对象与外部网络的带宽确定该资源对象的外部网络的静态量化结果。本申请实施例中,能够通过如下公式11确定该资源对象的外部网络的静态量化结果。
其中,nout表示第一资源对象的外部网络的静态量化结果;W为表示第一资源对象与外部网络的网络带宽;Td表示数据源与第一资源对象之间的网络时延。
在根据数据源确定第一资源对象的外部网络的静态量化结果后,资源管理平台100能够根据第一资源对象的对应的静态量化结果以及第一资源对象的各类可用资源与资源需求的匹配度,对第一资源对象进行动态量化,得到第一资源对象的动态量化结果。在实际应用中,通常重算力场景的作业,需要的计算资源较多,处理的数据量较大,资源对象的计算能力和资源对象内部网络的带宽对重算力场景的作业处理效率的影响较大,而对于通用算力场景,资源对象的计算能力和资源对象内部网络的带宽对作业处理效率的影响较小,但是从数据源到资源对象的网络带宽和时延更为关键。因此,本申请实施例中,资源管理平台100能够通过如下公式12确定第一资源对象相对于调度请求的动态量化结果。
d=λcrcninrin+(1-λ)snoutrout (公式12)
其中,d为第一资源对象相对于调度请求的动态量化结果;λ为调度请求中重算力的占比,λ为大于或等于0,小于或等于1的自然数。重算力占比λ的值可以由用户配置,并携带于上述作业调度请求中。
在一种可能的实现方式中,资源管理平台100还能够通过如下公式13计算第一资源对象相对于调度请求的动态量化结果。
d=λscrcninrin+(1-λ)snoutrout (公式13)
资源管理平台100能够通过上述方法,计算得到算力网络中每个资源对象相对于调度请求的动态量化结果。其中,每个资源对象相对于调度请求的动态量化结果能够反映该资源对象执行该调度请求时的能力,d的值越大,表示该资源对象执行该调度请求时的效率越高,d的值越小,表示该资源对象执行该调度请求时的效率越低。
资源管理平台100在得到算力网络中每个资源对象相对于调度请求的动态量化结果之后,资源管理平台100将每个资源对象相对于调度请求的动态量化结果以及调度请求发送给作业调度平台300。作业调度平台300根据上述每个资源对象相对于调度请求的动态量化结果调度请求,将调度请求分配到目标资源对象进行处理。
在一种可能的实现方式中,上述作业调度请求还包括用户需求,用户在提交作业调度请求前,能够在用户界面进行资源调度策略的选择,例如,选择效率优先或者价格优先的资源调度策略。如果用户选择的是效率优先,则作业调度平台300根据效率优先的用户需求,将调度请求分配给动态量化结果最大的资源对象处理;如果用户选择的是价格优先,则作业调度平台300根据价格优先的用户需求,将调度请求分配给动态量化结果最小的资源对象处理。
在一种可能的实现方式中,作业调度平台300能够根据每个资源对象相对于调度请求的动态量化结果以及调度请求,预估每个资源对象处理调度请求的时长。用户还可以在选择价格优先的同时配置执行时长的区间范围,则作业调度平台300能够将调度请求分配给满足执行时长的资源对象中,动态量化结果最小的资源对象执行。
在一种可能的实现方式中,作业调度平台300能够根据每个资源对象相对于调度请求的动态量化结果以及调度请求,预估每个资源对象处理调度请求的时长和价格。作业调度平台300将每个资源对象处理调度请求的时长和价格展示在用户界面,由用户选择处理调度请求的资源对象。
对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本发明的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
上文结合附图详细介绍了本申请提供的静态资源量化方法和动态资源量化方法。下面结合图6和图7,描述本申请实施例所提供的进行资源管理的相关装置与计算设备。参见图6,图6是本申请实施例提供的一种资源管理装置的示意图,该资源管理装置600包括获取模块110和处理模块120。
获取模块110,用于获取资源对象的资源数据,该资源数据用于指示资源对象的硬件资源的属性信息;处理模块120,用于量化资源数据获得量化结果,根据所述量化结果为调度请求分配资源。该量化结果包括所述资源对象中以最小的可独立运行单元为单位量化计算资源所获得的结果。通过以资源对象中最小的可独立运行单元为单位对资源对象的计算资源进行量化,能够更精确评估各个资源对象的计算能力,进而进行资源的分配,能够使资源的调度更加合理,提高算力网络的资源利用率。
可选地,上述硬件资源包括计算资源,上述资源数据包括计算资源的硬件属性数据,计算资源的硬件属性数据包括处理器的算力类型、处理器的计算宽度、单个处理器中可独立运行单元的数量和可独立运行单元的计算频率中的至少一种;其中,算力类型包括整型运算和浮点型运算;上述量化结果包括计算资源的静态量化结果,该计算资源的静态量化结果用于指示资源对象的基础计算能力,即资源对象在空载是的计算能力。
则上述处理模块120量化所述资源数据获得量化结果,集体包括:以最小的可独立运行单元为单位,按照计算资源的硬件属性数据确定计算资源的静态量化结果。其中,最小可独立运行单元为物理核、逻辑核或者流处理器。对于资源对象的计算资源,将计算资源以最小的可独立运行单元进行量化,将相同算力类型、不同计算宽度的各个处理器根据最小的可独立运行单位进行量化,将相同算力类型不同计算宽度的处理器的计算能力以相同的标准进行量化,例如将相同算力类型的处理器不同计算宽度的处理器的计算能力转换为相同算力类型相同计算宽度的处理器的计算能力。从而能够更精确评估各个资源对象的计算能力,进而进行资源的分配,能够使资源的调度更加合理,提高算力网络的资源利用率。
可选地,上述计算资源的静态量化结果包括整型运算的处理器的量化后的结果和浮点型运算的处理器的量化后的结果;则上述处理模块120以最小的可独立运行单元为单位,按照计算资源的硬件属性数据确定计算资源的静态量化结果,具体包括:将不同计算宽度的整型运算的处理器的计算频率转换为目标计算宽度的整型运算的处理器的量化值,得到整型运算的处理器的量化后的结果;将不同计算宽度的浮点型运算的处理器的计算频率转换为目标计算宽度的浮点型运算的处理器的量化值,得到的浮点数运算的处理器的量化后的结果。
对于资源对象的计算资源,将计算资源以最小的可独立运行单元进行量化,不同处理器的最小可独立运行单元的计算频率也各部相同,将各个处理器根据最小的可独立运行单元为单位,将相同算力类型不同计算宽度的处理器的计算频率量化为相同计算宽度的处理器的量化值,能够更准确的评估和对比不同资源对象的计算能力,进而在进行资源的分配时,能够使资源的调度更加合理,提高算力网络的资源利用率。
可选地,上述硬件资源包括存储资源,上述资源数据包括存储设备的硬件属性数据,存储设备的硬件属性数据包括存储设备的类型、容量和输入输出速率,其中,不同存储设备的存储介质不同;上述量化结果包括存储资源的静态量化结果,存储资源的静态量化结果用于指示资源对象的基础存储能力;则处理模块120量化所述资源数据获得量化结果,包括:根据所述存储设备的硬件属性数据确定所述存储资源的静态量化结果。存储设备不仅用于存储数据,计算节点在处理任务时会不断的对存储设备进行读写,而不同存储设备的存储容量不同,不同存储设备的读写速率(即存储设备的输入输出速率)也不同,结合资源对象中不同存储设备的容量和输入输出速率对资源对象的存储资源进行量化后,能够更加准确的反映一个资源对象的存储资源的性能,进而在进行资源的分配时,能够使资源的调度更加合理。
可选地,上述硬件资源还包括网络资源,上述资源数据包括网络资源的硬件属性数据,当资源对象为一个计算节点时,网络资源的硬件属性数据包括该计算节点内的总线带宽;上述量化结果包括网络资源的静态量化结果,网络资源的静态量化结果用于指示资源对象的基础数据传输能力。
则上述处理模块120量化所述资源数据获得量化结果,包括:将计算节点的总线带宽作为网络资源的静态量化结果。算力网络的资源对象可以是单个的计算节点,单个计算节点在处理数据时,数据通过节点内的总线在节点内的各个模块之间进行传输,因此在资源对象是单个节点时,节点的总线带宽是评价节点内网络传输能力的重要标准。
可选地,上述硬件资源包括网络资源,所述资源数据包括网络资源的硬件属性数据,当资源对象为包括多个计算节点的集群时,网络资源的硬件属性数据包括集群的网络拓扑、集群内部网络设备的端口带宽以及集群与外部网络之间的网络带宽;上述量化结果还包括网络资源的静态量化结果;网络资源的静态量化结果用于指示资源对象的基础数据传输能力。则上述处理模块120量化资源数据获得量化结果,包括:根据集群的网络拓扑和集群内部各个网络设备的端口带宽,确定网络资源的静态量化结果。
算力网络的资源对象还可以是包括多个计算节点的集群,集群内的多个计算节点通过网络设备互相连接,通过集群处理任务时,网络设备的端口带宽是影响不同计算节点之间数据交互速率的一个重要因素,不同节点之间数据交互的速率影响集群处理任务的效率,而不同网络设备的端口带宽不同,不同集群之间网络设备的拓扑结构,拓扑结构同样影响节点之间的数据交互速率,因此根据网络拓扑和网络设备的端口带宽确定不同集群的数据传输能力,能够更精确评估各个资源对象的数据传输能力,进而进行资源的分配,能够使资源的调度更加合理,提高算力网络的资源利用率。
需要说明的是,集群内各个计算节点之间还可以采用硬件加速技术以提高数据传输能力,例如远程直接内存访问技术和/或网内计算技术。因此当集群内各个计算节点之间采用硬件加速技术时,还可以根据各个网络设备的端口带宽以及硬件加速技术确定网络资源的静态量化结果。计算节点的硬件加速技术同样能够加速处理数据的效率,在对资源对象的数据传输能力进行量化的过程中,将硬件加速技术带来的效果同样进行量化,能够更加精确的得到资源对象处理数据的效率。
可选地,处理模块120根据量化结果为调度请求分配资源,包括:上述获取调度请求中的资源需求,该资源需求包括调度请求对硬件资源的需求;例如对计算资源的计算需求、存储资源的存储需求或网络资源的网络需求中的任意一种或多种,然后资源管理平台根据算力网络系统中多个资源对象的各类硬件资源的静态量化结果和调度请求中的资源需求,确定处理调度请求的目标资源对象。
对于上述方法对资源对象的计算资源、存储资源和网络资源进行量化后,更精确地评估了各个资源对象的计算能力,在此基础上,结合调度请求中的资源需求确定处理调度请求的资源对象,能够对资源对象的资源的调度更加合理,提高算力网络的资源利用率。
可选地,上述处理模块120根据量化结果为调度请求分配资源,包括:确定资源对象的可用资源;根据量化结果、资源需求和资源对象的可用资源,确定资源对象相对于调度请求的动态量化结果,上述动态量化结果用于指示资源对象处理调度请求的能力;根据动态量化结果和调度请求中的资源需求,确定处理调度请求的目标资源对象,该资源需求包括调度请求对硬件资源的需求,例如对计算资源的需求、对存储资源的需求等。
动态量化结果用于指示第一资源对象处理调度请求的能力。该动态量化结果是接收到调度请求后,获取第一资源对象当前可用资源的资源数据后得到的,即,获取动态量化结果的过程中考虑了各个资源对象在当前情况下的可用的资源以及该调度请求需要的各类资源,通过对算力网络的计算资源、存储资源和网络资源等资源基于调度请求的资源需求信息和可用资源进行再次量化,能够更加精确的得到各个资源对象当前处理调度请求的效率。
通过上述描述可知,资源管理装置600能够先对算力网络中的各个资源对象包括的各类资源进行一次量化,以得到各个资源对象的基础数据处理能力;而在接收到调度请求时,根据资源对象当前各类硬件资源的可用资源数据,结合调度请求中的资源需求以及该资源对象的静态量化结果,再次对该资源对象进行量化,能够更精确的得到各个资源对象处理调度请求的效率,进而能够根据第二次的量化结果和用户的需求对作业进行调度。
可选地,上述资源对象的可用资源包括可用的计算资源、可用的存储资源和可用的网络资源;则处理模块120根据上述量化结果、资源需求和资源对象的可用资源,确定资源对象相对于调度请求的动态量化结果,包括:根据资源对象的计算资源的硬件属性数据、可用的计算资源的资源数据以及资源需求中的计算需求,确定计算资源的匹配度,该计算资源的匹配度是指可用的计算资源与资源需求中的计算需求的匹配度,资源需求中的计算需求是指处理调度请求所需的计算资源;
根据资源对象的存储资源的硬件属性数据、可用的存储资源的资源数据以及资源需求中的存储需求确定存储资源的匹配度,该存储资源的匹配度是指可用的存储资源与资源需求中的存储需求的匹配度,资源需求中的存储需求是指处理调度请求所需的存储资源。
根据集群内部网络的网络设备的端口带宽和集群内部网络的网络设备可用的端口带宽,确定集群内部网络的匹配度,该集群内部网络的匹配度是指集群可用的网络资源与资源需求中的内部网络需求的匹配度;以及,根据集群和集群外部网络之间的网络带宽,以及集群与集群外部网络之间的可用网络带宽,确定集群外部网络的匹配度,该集群外部网络的匹配度是指集群外部网络的可用的网络资源与资源需求中的外部网络需求的匹配度;根据计算资源的匹配度、存储资源的匹配度、集群内部网络的匹配度以及集群外部网络的匹配度,确定上述动态量化结果。
可选地,处理模块120根据动态量化结果和调度请求中的资源需求,确定处理调度请求的目标资源对象,具体包括:
在资源需求为效率优先时,确定动态量化结果最大的资源对象为目标资源对象;或者,在资源需求为成本优先时,确定动态量化结果最小的资源对象为目标资源对象。
通过上述方法能够得到算力网络中每个资源对象处理调度请求的效率,作业调度平台能够根据动态量化结果和用户需求,例如效率优先或价格优先等要求,将调度请求分配给一个满足用户要求的资源对象处理。
可选地,上述获取模块110获取资源对象的资源数据,具体包括:通过所述资源对象的资源管理器获取所述资源对象的资源数据,所述资源管理器通过基板管理控制器BMC、集群发现协议或数据采集接口中至少一种方式,获取所述资源对象的资源数据。
应理解的是,本发明本申请实施例的资源管理装置600可以通过中央处理单元(central processing unit,CPU)实现,也可以通过专用集成电路(application-specificintegrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL)或其任意组合。也可以通过软件实现图3或图5所示的资源管理方法时,资源管理装置及其各个模块也可以为软件模块。
此外,资源管理装置600进行静态资源量化的过程可以参照上述图3所对应的实施例中的相关描述,在此不再赘述。资源管理装置600能够用于实现上述方法实施例中对资源对象的静态资源量化和动态资源量化,具体可以参照上述图3或图5所对应的方法实施例中的相关描述,在此不再赘述。
参见图7,图7是本申请实施例提供的一种计算设备700的示意图,计算设备700包括:一个或者多个处理器710、通信接口720以及存储器730,所述处理器710、通信接口720以及存储器730通过总线740相互连接,其中,
处理器710执行各种操作的具体实现可参照上述图3或图5所对应的方法实施例中资源管理平台100所执行的具体操作。例如,处理器710用于实现上述图5中S501~S503中的操作,或者实现上述图3中S301~S302的操作,在此不再赘述。
处理器710可以有多种具体实现形式,例如,处理器710可以为CPU或GPU,处理器710还可以是单核处理器或多核处理器。处理器710可以由CPU和硬件芯片的组合。上述硬件芯片可以是ASIC,可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列FPGA,通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器710也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digitalsignal processor,DSP)等。
通信接口720可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。本申请实施例中通信接口720具体可用于获取资源对象的各类硬件资源的硬件属性数据、可用资源数据或者获取用户上传的调度请求等。
存储器730可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器730也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
存储器730也可用于存储程序代码和数据,以便于处理器710调用存储器730中存储的程序代码执行上述图3或图5所对应的方法实施例中的操作步骤。此外,计算设备700可能包含相比于图7展示的更多或者更少的组件,或者有不同的组件配置方式。
总线740可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线740可以分为地址总线、数据总线、控制总线等。总线740除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,计算设备700还可以包括输入/输出接口750,输入/输出接口750连接有输入/输出设备,用于接收输入的信息,输出操作结果。
具体地,计算设备700执行各种操作的具体实现可参照上述方法实施例中S301~S303以及用户查询时执行的具体操作,在此不再赘述。
需要说明的是,上述图7是资源管理平台100部署于算力网络中物理设备(例如,服务器)上时,计算设备的结构示意图。应理解,资源管理平台100还可以部署于虚拟设备中,例如,部署在安装有虚拟化软件的单一物理设备或多个物理设备构成的集群中运行的虚拟机或容器中。当资源管理平台100还可以部署于虚拟设备中时,资源管理平台100通过算力网络分配给该虚拟设备的处理器完成上述图3和图5所对应的实施例中的资源管理方法。本申请还提供一种如图1所示的算力网络的系统,该系统包括上述资源管理平台100和作业调度平台300,用于执行如图3至图5所示方法的操作步骤,为了简洁,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,可以实现上述方法实施例中的方法步骤,所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例图3或图5所对应的方法实施例中的具体操作,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质、或者半导体介质,半导体介质可以是固态硬盘。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (26)
1.一种资源管理方法,其特征在于,所述方法适用于算力网络系统,所述方法由所述算力网络系统中的资源管理平台执行,所述方法包括:
获取资源对象的资源数据,所述资源数据用于指示所述资源对象的硬件资源的属性信息;
量化所述资源数据获得量化结果,所述量化结果包括所述资源对象中以最小的可独立运行单元为单位量化计算资源所获得的结果;
根据所述量化结果为调度请求分配资源。
2.根据权利要求1所述的方法,其特征在于,所述硬件资源包括计算资源,所述资源数据包括计算资源的硬件属性数据,所述硬件属性数据包括处理器的算力类型、计算宽度、单个处理器中所述可独立运行单元的数量和所述可独立运行单元的计算频率中的至少一种;所述算力类型包括整型运算和浮点型运算;
所述量化结果包括所述计算资源的静态量化结果;所述计算资源的静态量化结果用于指示所述资源对象的基础计算能力;
则所述量化所述资源数据获得量化结果,包括:
以所述最小的可独立运行单元为单位,按照所述计算资源的硬件属性数据确定所述计算资源的静态量化结果。
3.根据权利要求2所述的方法,其特征在于,所述计算资源的静态量化结果包括整型运算的处理器的量化后的结果和浮点型运算的处理器的量化后的结果;
则所述以所述最小的可独立运行单元为单位,按照所述计算资源的硬件属性数据确定所述计算资源的静态量化结果,包括:
将不同计算宽度的整型运算的处理器的计算频率转换为目标计算宽度的整型运算的处理器的量化值,得到所述整型运算的处理器的量化后的结果;
将不同计算宽度的浮点型运算的处理器的计算频率转换为目标计算宽度的浮点型运算的处理器的量化值,得到的所述浮点数运算的处理器的量化后的结果。
4.根据权利要求1所述的方法,其特征在于,所述硬件资源包括存储资源,所述资源数据包括存储设备的硬件属性数据,所述存储设备的硬件属性数据包括所述存储设备的类型、容量和输入输出速率;
所述量化结果包括所述存储资源的静态量化结果,所述存储资源的静态量化结果用于指示所述资源对象的基础存储能力;
则所述量化所述资源数据获得量化结果,包括:
根据所述存储设备的硬件属性数据确定所述存储资源的静态量化结果。
5.根据权利要求1所述的方法,其特征在于,所述硬件资源还包括网络资源,所述资源数据包括所述网络资源的硬件属性数据,当所述资源对象为单个设备时,所述网络资源的硬件属性数据包括所述设备内的总线带宽;
所述量化结果包括所述网络资源的静态量化结果;所述网络资源的静态量化结果用于指示所述资源对象的基础数据传输能力;
则所述量化所述资源数据获得量化结果,包括:
将所述设备内的总线带宽作为所述网络资源的静态量化结果。
6.根据权利要求1所述的方法,其特征在于,所述硬件资源还包括网络资源,所述资源数据包括所述网络资源的硬件属性数据,当所述资源对象为包括多个设备的集群时,所述网络资源的硬件属性数据包括所述集群的网络拓扑、所述集群内部网络设备的端口带宽以及所述集群与外部网络之间的网络带宽;
所述量化结果还包括所述网络资源的静态量化结果;所述网络资源的静态量化结果用于指示所述资源对象的基础数据传输能力;
则所述量化所述资源数据获得量化结果,包括:
根据所述集群的网络拓扑和所述集群内部各个网络设备的端口带宽,确定所述网络资源的静态量化结果。
7.根据权利要求2-6中任一项所述的方法,其特征在于,所述根据所述量化结果为调度请求分配资源,包括:
获取所述调度请求中的资源需求,所述资源需求包括所述调度请求对硬件资源的需求;
根据所述算力网络系统中多个资源对象的各类硬件资源的静态量化结果和所述调度请求中的资源需求,确定处理所述调度请求的目标资源对象。
8.根据权利要求5或6所述的方法,其特征在于,所述根据所述量化结果为调度请求分配资源,包括:
确定所述资源对象的可用资源;
根据所述量化结果、所述资源需求和所述资源对象的可用资源,确定所述资源对象相对于所述调度请求的动态量化结果,所述动态量化结果用于指示所述资源对象处理所述调度请求的能力;
根据所述动态量化结果和所述调度请求中的资源需求,确定处理所述调度请求的目标资源对象,所述资源需求包括所述调度请求对所述硬件资源的需求。
9.根据权利要求8所述的方法,其特征在于,所述资源对象的可用资源包括可用的计算资源、可用的存储资源和可用的网络资源;
则根据所述量化结果、所述资源需求和所述资源对象的可用资源,确定所述资源对象相对于所述调度请求的动态量化结果,包括:
根据所述资源对象的计算资源的硬件属性数据、所述可用的计算资源的资源数据以及所述资源需求中的计算需求,确定所述计算资源的匹配度,所述计算资源的匹配度用于指示可用的计算资源与所述资源需求中的计算需求的匹配度;
根据所述资源对象的存储资源的硬件属性数据、所述可用的存储资源的资源数据以及所述资源需求中的存储需求确定所述存储资源的匹配度,所述存储资源的匹配度用于指示可用的存储资源与所述资源需求中的存储需求的匹配度;
根据所述集群内部网络的网络设备的端口带宽和所述集群内部网络的网络设备可用的端口带宽,确定所述集群内部网络的匹配度,所述集群内部网络的匹配度是指所述集群可用的网络资源与所述资源需求中的内部网络需求的匹配度;以及,根据所述集群和所述集群外部网络之间的网络带宽,以及所述集群与所述集群外部网络之间的可用网络带宽,确定所述集群外部网络的匹配度,所述集群外部网络的匹配度用于指示所述集群外部网络的可用的网络资源与所述资源需求中的外部网络需求的匹配度;
根据所述计算资源的匹配度、所述存储资源的匹配度、所述集群内部网络的匹配度以及所述集群外部网络的匹配度,确定所述动态量化结果。
10.根据权利要求8或9所述的方法,其特征在于,所述根据所述动态量化结果和所述调度请求中的资源需求,确定处理所述调度请求的目标资源对象,包括:
在所述资源需求为效率优先时,确定动态量化结果最大的资源对象为所述目标资源对象;或者,
在所述资源需求为成本优先时,确定动态量化结果最小的资源对象为所述目标资源对象。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述获取资源对象的资源数据,包括:
通过所述资源对象的资源管理器获取所述资源对象的资源数据,所述资源管理器通过基板管理控制器BMC、集群发现协议或数据采集接口中至少一种方式,获取所述资源对象的资源数据。
12.一种资源管理装置,其特征在于,包括:
获取模块,用于获取资源对象的资源数据,所述资源数据用于指示所述资源对象的硬件资源的属性信息;
处理模块,用于量化所述资源数据获得量化结果,所述量化结果包括所述资源对象中以最小的可独立运行单元为单位量化计算资源所获得的结果;
根据所述量化结果为调度请求分配资源。
13.根据权利要求12所述的装置,其特征在于,包括所述硬件资源包括计算资源,所述资源数据包括计算资源的硬件属性数据,所述硬件属性数据包括处理器的算力类型、计算宽度、单个处理器中所述可独立运行单元的数量和所述可独立运行单元的计算频率中的至少一种;所述算力类型包括整型运算和浮点型运算;
所述量化结果包括所述计算资源的静态量化结果;所述计算资源的静态量化结果用于指示所述资源对象的基础计算能力;
所述处理模块具体用于:
以所述最小的可独立运行单元为单位,按照所述计算资源的硬件属性数据确定所述计算资源的静态量化结果。
14.根据权利要求13所述的装置,其特征在于,所述计算资源的静态量化结果包括整型运算的处理器的量化后的结果和浮点型运算的处理器的量化后的结果;
则所述处理模块具体用于:
将不同计算宽度的整型运算的处理器的计算频率转换为目标计算宽度的整型运算的处理器的量化值,得到所述整型运算的处理器的量化后的结果;
将不同计算宽度的浮点型运算的处理器的计算频率转换为目标计算宽度的浮点型运算的处理器的量化值,得到的所述浮点数运算的处理器的量化后的结果。
15.根据权利要求12所述的装置,其特征在于,所述硬件资源包括存储资源,所述资源数据包括存储设备的硬件属性数据,所述存储设备的硬件属性数据包括所述存储设备的类型、容量和输入输出速率;所述量化结果包括所述存储资源的静态量化结果,所述存储资源的静态量化结果用于指示所述资源对象的基础存储能力;
则所述处理模块具体用于:
根据所述存储设备的硬件属性数据确定所述存储资源的静态量化结果。
16.根据权利要求12所述的装置,其特征在于,所述硬件资源还包括网络资源,
所述资源数据包括所述网络资源的硬件属性数据,当所述资源对象为单个设备时,所述网络资源的硬件属性数据包括所述设备内的总线带宽;
所述量化结果包括所述网络资源的静态量化结果;所述网络资源的静态量化结果用于指示所述资源对象的基础数据传输能力;
则所述处理模块具体用于:
将所述计设备内的总线带宽作为所述网络资源的静态量化结果。
17.根据权利要求12所述的装置,其特征在于,所述硬件资源还包括网络资源,所述资源数据包括所述网络资源的硬件属性数据,当所述资源对象为包括多个设备的集群时,所述网络资源的硬件属性数据包括所述集群的网络拓扑、所述集群内部网络设备的端口带宽以及所述集群与外部网络之间的网络带宽;
所述量化结果还包括所述网络资源的静态量化结果;所述网络资源的静态量化结果用于指示所述资源对象的基础数据传输能力;
则所述处理模块具体用于:
根据所述集群的网络拓扑和所述集群内部各个网络设备的端口带宽,确定所述网络资源的静态量化结果。
18.根据权利要求12-17中任一项所述的装置,其特征在于,
所述获取模块,还用于获取所述调度请求中的资源需求,所述资源需求包括所述调度请求对硬件资源的需求;
所述处理模块具体用于:
在所述算力网络系统的多个资源对象中获取可用硬件资源满足所述调度请求的一个或多个资源对象;
根据所述一个或多个资源对象的各类硬件资源的静态量化结果和所述调度请求中的资源需求,确定处理所述调度请求的目标资源对象。
19.根据权利要求16或17所述的装置,其特征在于,所述处理模块具体用于:
确定所述资源对象的可用资源;
根据所述量化结果和所述资源对象的可用资源,确定所述资源对象相对于所述调度请求的动态量化结果,所述动态量化结果用于指示所述资源对象处理所述调度请求的能力;
根据所述动态量化结果和所述调度请求中的资源需求,确定处理所述调度请求的目标资源对象,所述资源需求包括所述调度请求对所述硬件资源的需求。
20.根据权利要求19所述的装置,其特征在于,所述资源对象的可用资源包括可用的计算资源、可用的存储资源和可用的网络资源;
所述处理模块具体用于:
根据所述资源对象的计算资源的硬件属性数据、所述可用的计算资源的资源数据以及所述资源需求中的计算需求,确定所述计算资源的匹配度,所述计算资源的匹配度用于指示可用的计算资源与所述资源需求中的计算需求的匹配度;
根据所述资源对象的存储资源的硬件属性数据、所述可用的存储资源的资源数据以及所述资源需求中的存储需求确定所述存储资源的匹配度,所述存储资源的匹配度用于指示可用的存储资源与所述资源需求中的存储需求的匹配度;
根据所述集群内部网络的网络设备的端口带宽和所述集群内部网络的网络设备可用的端口带宽,确定所述集群内部网络的匹配度,所述集群内部网络的匹配度是指所述集群可用的网络资源与所述资源需求中的内部网络需求的匹配度;以及,根据所述集群和所述集群外部网络之间的网络带宽,以及所述集群与所述集群外部网络之间的可用网络带宽,确定所述集群外部网络的匹配度,所述集群外部网络的匹配度用于指示所述集群外部网络的可用的网络资源与所述资源需求中的外部网络需求的匹配度;
根据所述计算资源的匹配度、所述存储资源的匹配度、所述集群内部网络的匹配度以及所述集群外部网络的匹配度,确定所述动态量化结果。
21.根据权利要求19或20所述的装置,其特征在于,所述处理模块具体用于:
在所述资源需求为效率优先时,确定动态量化结果最大的资源对象为所述目标资源对象;或者,
在所述资源需求为成本优先时,确定动态量化结果最小的资源对象为所述目标资源对象。
22.根据权利要求11-21中任一项所述的装置,其特征在于,所述获取模块具体用于:
通过所述资源对象的资源管理器获取所述资源对象的资源数据,所述资源管理器通过基板管理控制器BMC、集群发现协议或数据采集接口中至少一种方式,获取所述资源对象的资源数据。
23.一种资源管理平台,其特征在于,包括处理器和存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,所述处理器执行如权利要求1至11任一项所述的方法。
24.根据权利要求23所述的资源管理平台,其特征在于,所述资源管理平台部署于所述算力网络系统的物理设备中。
25.根据权利要求23所述的资源管理平台,其特征在于,所述资源管理平台部署于所述算力网络系统的虚拟设备中,所述虚拟设备包括虚拟机或者容器。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行如权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/142208 WO2023125493A1 (zh) | 2021-12-27 | 2022-12-27 | 资源管理方法、装置及资源管理平台 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021116114464 | 2021-12-27 | ||
CN202111611446 | 2021-12-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116360972A true CN116360972A (zh) | 2023-06-30 |
Family
ID=86925645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210467575.9A Pending CN116360972A (zh) | 2021-12-27 | 2022-04-29 | 资源管理方法、装置及资源管理平台 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116360972A (zh) |
WO (1) | WO2023125493A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775313A (zh) * | 2023-08-18 | 2023-09-19 | 浪潮(山东)计算机科技有限公司 | 一种资源分配方法、装置、设备及介质 |
CN117370135A (zh) * | 2023-10-18 | 2024-01-09 | 方心科技股份有限公司 | 基于电力应用弹性测试的超算平台性能评测方法及系统 |
CN117421108A (zh) * | 2023-12-15 | 2024-01-19 | 企商在线(北京)数据技术股份有限公司 | 一种异构算力平台设计方法、平台及资源调度方法 |
CN117971502A (zh) * | 2024-03-29 | 2024-05-03 | 南京认知物联网研究院有限公司 | 一种针对ai推理集群进行在线优化调度的方法与装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349026B (zh) * | 2023-12-04 | 2024-02-23 | 环球数科集团有限公司 | 一种用于aigc模型训练的分布式算力调度系统 |
CN117640410B (zh) * | 2024-01-26 | 2024-04-12 | 深圳市迈腾电子有限公司 | 基于功能网络族算力自适应的功能单元析构方法及设备 |
CN117851075B (zh) * | 2024-03-08 | 2024-05-14 | 深圳市秋葵互娱科技有限公司 | 一种数据监测系统的资源优化管理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609314A (zh) * | 2012-01-18 | 2012-07-25 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机量化管理方法和系统 |
CN103699440B (zh) * | 2012-09-27 | 2017-05-24 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
CN107133098A (zh) * | 2017-04-24 | 2017-09-05 | 东莞中国科学院云计算产业技术创新与育成中心 | 基于云计算的人力资源数据处理平台 |
CN109669774B (zh) * | 2018-11-14 | 2020-12-08 | 新华三技术有限公司成都分公司 | 硬件资源的量化方法、编排方法、装置及网络设备 |
US11907770B2 (en) * | 2019-09-19 | 2024-02-20 | Huawei Cloud Computing Technologies Co., Ltd. | Method and apparatus for vectorized resource scheduling in distributed computing systems using tensors |
-
2022
- 2022-04-29 CN CN202210467575.9A patent/CN116360972A/zh active Pending
- 2022-12-27 WO PCT/CN2022/142208 patent/WO2023125493A1/zh unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775313A (zh) * | 2023-08-18 | 2023-09-19 | 浪潮(山东)计算机科技有限公司 | 一种资源分配方法、装置、设备及介质 |
CN116775313B (zh) * | 2023-08-18 | 2023-12-08 | 浪潮(山东)计算机科技有限公司 | 一种资源分配方法、装置、设备及介质 |
CN117370135A (zh) * | 2023-10-18 | 2024-01-09 | 方心科技股份有限公司 | 基于电力应用弹性测试的超算平台性能评测方法及系统 |
CN117370135B (zh) * | 2023-10-18 | 2024-04-02 | 方心科技股份有限公司 | 基于电力应用弹性测试的超算平台性能评测方法及系统 |
CN117421108A (zh) * | 2023-12-15 | 2024-01-19 | 企商在线(北京)数据技术股份有限公司 | 一种异构算力平台设计方法、平台及资源调度方法 |
CN117971502A (zh) * | 2024-03-29 | 2024-05-03 | 南京认知物联网研究院有限公司 | 一种针对ai推理集群进行在线优化调度的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023125493A1 (zh) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116360972A (zh) | 资源管理方法、装置及资源管理平台 | |
US10728091B2 (en) | Topology-aware provisioning of hardware accelerator resources in a distributed environment | |
US10325343B1 (en) | Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform | |
Li et al. | SSLB: self-similarity-based load balancing for large-scale fog computing | |
US9503387B2 (en) | Instantiating incompatible virtual compute requests in a heterogeneous cloud environment | |
Dinesh Reddy et al. | Energy-aware virtual machine allocation and selection in cloud data centers | |
US7793308B2 (en) | Setting operation based resource utilization thresholds for resource use by a process | |
CN108182105B (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
Rathore et al. | Variable threshold-based hierarchical load balancing technique in Grid | |
Al-Dulaimy et al. | Type-aware virtual machine management for energy efficient cloud data centers | |
WO2021136137A1 (zh) | 一种资源调度方法、装置及相关设备 | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
CN113590307B (zh) | 边缘计算节点优化配置方法、装置及云计算中心 | |
Al-Sinayyid et al. | Job scheduler for streaming applications in heterogeneous distributed processing systems | |
US20230136612A1 (en) | Optimizing concurrent execution using networked processing units | |
US10628279B2 (en) | Memory management in multi-processor environments based on memory efficiency | |
CN115562846A (zh) | 一种资源调度的方法、装置及计算节点 | |
CN115562841B (zh) | 一种云视频服务自适应资源调度系统和方法 | |
CN107590000B (zh) | 二次随机资源管理方法/系统、计算机存储介质及设备 | |
Li et al. | An adaptive read/write optimized algorithm for Ceph heterogeneous systems via performance prediction and multi-attribute decision making | |
US20210004658A1 (en) | System and method for provisioning of artificial intelligence accelerator (aia) resources | |
Pretto et al. | Boosting HPC applications in the cloud through JIT traffic-aware path provisioning | |
JP2012038275A (ja) | 取引計算シミュレーションシステム、方法及びプログラム | |
Moussa et al. | Service management in the edge cloud for stream processing of IoT data | |
Lang et al. | Implementation of load balancing algorithm based on flink cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |