CN115729704A - 算力资源分配方法、装置及计算机可读存储介质 - Google Patents
算力资源分配方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115729704A CN115729704A CN202211464245.0A CN202211464245A CN115729704A CN 115729704 A CN115729704 A CN 115729704A CN 202211464245 A CN202211464245 A CN 202211464245A CN 115729704 A CN115729704 A CN 115729704A
- Authority
- CN
- China
- Prior art keywords
- computing power
- task
- computing
- node
- resource allocation
- 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
Images
Abstract
本公开提供了一种算力资源分配方法、装置及计算机可读存储介质,涉及算力网络技术领域,所述方法包括:接收来自M个任务节点的算力需求,M≥2;基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和N个算力节点中的第j个算力节点之间的数据传输时间中的多个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本,1≤i≤M,1≤j≤N;基于传输成本,确定全局算力资源分配方案,全局算力资源分配方案为由N个算力节点为M个任务节点提供算力资源的多个算力资源分配方案中总传输成本小于预设阈值的算力资源分配方案。
Description
技术领域
本公开涉及算力网络技术领域,尤其是一种算力资源分配方法、装置及计算机可读存储介质。
背景技术
算力网络是一种根据业务需求,在云、网、边之间按需分配和灵活调度计算资源、存储资源以及网络资源的新型信息基础设施。在算力网络体系架构下,用户端提出算力需求,不再仅由特定节点提供,而是调动全网算力资源,结合可用的网络路径,依据时延、安全等需求,将任务分解并路由至不同算力节点处理,以提高全网算力资源的利用率和用户端的工作效率。
相关技术中,在接收到多个任务节点的算力需求的情况下,将依次在每个任务节点邻近的算力节点中为该任务节点确定能够满足该任务节点的算力需求并为该任务节点提供算力资源的算力节点。
发明内容
发明人注意到,相关技术中的方式下,算力资源的分配不均衡。
经分析,发明人发现,依次为多个任务节点中的每个任务节点确定为该任务节点提供算力资源的算力节点的方式,将导致在先进行算力资源分配的任务节点的算力需求能够得到充分满足,而在后进行算力资源分配的任务节点的算力需求可能无法得到满足,从而导致算力资源的分配不均衡。
为了解决上述问题,本公开实施例提出了如下解决方案。
根据本公开实施例的一方面,提供一种算力资源分配方法,包括:接收来自M个任务节点的算力需求;基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和N个算力节点中的第j个算力节点之间的数据传输时间中的多个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本,其中,所述第一比值为第i个任务节点所需的计算资源和第j个算力节点所能提供的计算资源的比值,所述第二比值为第i个任务节点所需的存储资源和第j个算力节点所能提供的存储资源的比值,1≤i≤M,1≤j≤N;基于所述传输成本,确定全局算力资源分配方案,所述全局算力资源分配方案为由所述N个算力节点为所述M个任务节点提供算力资源的多个算力资源分配方案中总传输成本小于预设阈值的算力资源分配方案。
在一些实施例中,所述多个算力资源分配方案包括第一组方案、第二组方案和第三组方案中的至少一组;其中,所述第一组方案包括所述M个任务节点由所述N个算力节点中的M个算力节点一一对应地提供算力资源的每个算力资源分配方案,所述第二组方案包括所述M个任务节点中的每个任务节点均由所述N个算力节点中的多个算力节点提供算力资源的每个算力资源分配方案,所述第三组方案包括所述M个任务节点中的部分任务节点由所述N个算力节点中的一个算力节点提供算力资源、其余任务节点由所述N个算力节点中的多个算力节点提供算力资源的每个算力资源分配方案。
在一些实施例中,所述多个算力资源分配方案包括所述第一组方案。
在一些实施例中,所述多个算力资源分配方案包括所述第一组方案、所述第二组方案和所述第三组方案中的多组。
在一些实施例中,所述多个算力资源分配方案包括所述第一组方案、所述第二组方案和所述第三组方案。
在一些实施例中,所述第一比值和所述传输成本负相关。
在一些实施例中,所述任务优先级和所述传输成本负相关,所述第二比值以及第i个任务节点和第j个算力节点之间的数据传输时间均与所述传输成本正相关。
在一些实施例中,第i个任务节点的算力需求包括算力任务程序和所述算力任务程序的任务优先级,所述方法还包括:基于所述算力任务程序,确定第i个任务节点所需的计算资源和存储资源;基于所述算力任务程序的任务优先级,确定第i个任务节点的任务优先级。
在一些实施例中,所述基于所述算力任务程序确定第i个任务节点所需的计算资源和存储资源包括:基于所述算力任务程序的任务类别,确定第i个任务节点所需的计算资源;基于所述算力任务程序所需的存储容量,确定第i个任务节点所需的存储资源。
在一些实施例中,第j个算力节点所能提供的存储资源基于第j个算力节点的内存储器所能提供的第一存储容量和外存储器所能提供的第二存储容量的加权之和确定,所述第一存储容量的权重大于所述第二存储容量的权重。
在一些实施例中,所述全局算力资源分配方案为所述多个算力资源分配方案中总传输成本最小的算力资源分配方案。
在一些实施例中,所述N个算力节点包括边缘算力节点。
根据本公开实施例的另一方面,提供一种算力资源分配装置,包括:接收模块,被配置为接收来自M个任务节点的算力需求,M≥2;确定模块,被配置为基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和N个算力节点中的第j个算力节点之间的数据传输时间中的多个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本,其中,所述第一比值为第i个任务节点所需的计算资源和第j个算力节点所能提供的计算资源的比值,所述第二比值为第i个任务节点所需的存储资源和第j个算力节点所能提供的存储资源的比值,1≤i≤M,1≤j≤N;以及基于所述传输成本,确定全局算力资源分配方案,所述全局算力资源分配方案为由所述N个算力节点为所述M个任务节点提供算力资源的多个算力资源分配方案中总传输成本小于预设阈值的算力资源分配方案。
根据本公开实施例的又一方面,提供一种算力资源分配装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行上述任意一个实施例所述的方法。
根据本公开实施例的再一方面,提供一种算力资源分配系统,包括:上述任意一个实施例所述的装置;以及所述N个算力节点。
根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的方法。
根据本公开实施例的还一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一个实施例所述的方法。
本公开实施例中,在接收到多个任务节点的算力需求的情况下,将根据每个任务节点的任务优先级、计算资源占用率、存储资源占用率以及该任务节点与每个算力节点之间的网络传输能力中的多个因素,确定由每个算力节点为该任务节点提供算力资源的传输成本,并从为这多个任务节点提供算力资源的多个算力资源分配方案中确定总传输成本小于预设阈值的全局算力资源分配方案。如此,避免了在后进行算力资源分配的任务节点的算力需求无法得到满足的可能性,实现了在满足各个任务节点的算力需求的情况下,能够使得算力资源的分配更均衡。
此外,可以从整体的角度通过一次分配为多个任务节点确定对应的算力资源分配方案,相对于相关技术中依次为每个任务节点进行算力资源分配的方式,还提高了算力资源的分配效率。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的算力资源分配方法的流程示意图;
图2是根据本公开一些实施例的最优传输模型的模型示意图;
图3是根据本公开一些实施例的算力资源分配装置的结构示意图;
图4是根据本公开另一些实施例的算力资源分配装置的结构示意图;
图5是根据本公开一些实施例的算力资源分配系统的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是根据本公开一些实施例的算力资源分配方法的流程示意图。
在步骤102,接收来自M个任务节点的算力需求。
这里,M≥2。应理解,M为正整数。
在一些实施例中,每个任务节点的算力需求可以包括该任务节点的IP地址以及算力任务。例如,算力任务可以为待分配算力资源的算力任务程序、例如Java程序。
在一些实施例中,可以将M个任务节点的算力需求作为M个算力任务以形成任务列表。在一次分配后,可以删除任务列表中已经分配了算力资源的算力任务,并将再次接收的另一些任务节点的算力需求作为新的算力任务更新至任务列表中。
在步骤104,基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和N个算力节点中的第j个算力节点之间的数据传输时间中的多个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本。
这里,第i个任务节点的第一比值为第i个任务节点所需的计算资源和第j个算力节点所能提供的计算资源的比值,第i个任务节点的第二比值为第i个任务节点所需的存储资源和第j个算力节点所能提供的存储资源的比值,1≤i≤M,1≤j≤N。
应理解,N为正整数。每个算力节点所能提供的算力资源可以包括计算资源和存储资源。
还应理解,第i个任务节点的第一比值可以反映第i个任务节点所需的计算资源相对于第j个算节点所能提供的计算资源的占用率,第i个任务节点的第二比值可以反映第i个任务节点所需的存储资源相对于第j个算节点所能提供的存储资源的占用率。第i个任务节点和第j个算力节点之间的数据传输时间可以反映第i个任务节点和第j个算力节点之间的网络传输能力。由第j个算力节点为第i个任务节点提供算力资源的传输成本可以反映由第j个算力节点为第i个任务节点提供算力资源的代价。
在一些实施例中,计算资源可以包括CPU资源和图形处理器(GraphicsProcessing Unit,GPU)资源中的一种或多种。例如,CPU资源可以包括CPU可提供的线程数,由于每个CPU通常为串行计算,故CPU可提供的线程数可以基于CPU的个数确定。又例如,GPU资源可以包括GPU可提供的线程数,由于GPU通常为多核并行计算,故GPU可提供的线程数可以基于GPU的核数确定。
在一些实施例中,存储资源可以包括内存储器资源和外存储器资源中的一种或多种。例如,内存储器可以包括随机存储器(Random Access Memory,RAM)、只读存储器(ReadOnly Memory,ROM)等,外存储器可以包括硬盘、光盘等。
在一些实施例中,第i个任务节点和第j个算力节点之间的数据传输时间可以基于第i个任务节点和第j个算力节点之间的网络时延、带宽和抖动中的一个或多个因素确定。例如,第i个任务节点和第j个算力节点之间的数据传输时间可以为Tij=tij+t0,其中,tij表示第i个任务节点和第j个算力节点之间的网络时延,t0表示第i个任务节点和第j个算力节点之间的网络带宽和抖动。
在一些实施例中,第i个任务节点的算力需求中可以包括第i个任务节点的任务优先级、所需的计算资源和所需的存储资源。
在另一些实施例中,第i个任务节点的算力需求中可以包括第i个任务节点的待分配算力资源的算力任务程序和该算力任务程序的任务优先级。在这些实施例中,可以基于第i个任务节点的算力任务程序确定第i个任务节点所需的计算资源和存储资源,并基于该算力任务程序的任务优先级,确定第i个任务节点的任务优先级。后文将结合一些实施例对此进行进一步说明。
在一些实施例中,可以基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和第j个算力节点之间的数据传输时间中的任意两个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本。
在另一些实施例中,可以基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和第j个算力节点之间的数据传输时间中的任意三个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本。
在又一些实施例中,可以基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和第j个算力节点之间的数据传输时间,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本。即,可以综合这四个因素,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本。
在步骤106,基于传输成本,确定全局算力资源分配方案。
这里,全局算力资源分配方案为由N个算力节点为M个任务节点提供算力资源的多个算力资源分配方案中总传输成本小于预设阈值的算力资源分配方案。
在一些实施例中,由N个算力节点为M个任务节点提供算力资源的多个算力资源分配方案可以包括第一组方案、第二组方案和第三组方案中的至少一组。
在这些实施例中,第一组方案可以包括M个任务节点由N个算力节点中的M个算力节点一一对应地提供算力资源的每个算力资源分配方案;第二组方案可以包括M个任务节点中的每个任务节点均由N个算力节点中的多个算力节点提供算力资源的每个算力资源分配方案;第三组方案可以包括M个任务节点中的部分任务节点由N个算力节点中的一个算力节点提供算力资源、其余任务节点由N个算力节点中的多个算力节点提供算力资源的每个算力资源分配方案。
在一些实施例中,预设阈值可以是一个固定值,或者预设阈值可以基于多个算力资源分配方案的总传输成本按照从小到大的排序动态确定。例如,可以以排序第三的总传输成本为预设阈值,并从小于该预设阈值的算力资源分配方案中任意选择一个算力资源分配方案作为全局算力资源分配方案。
在一些实施例中,可以将N个算力节点所能提供的算力资源作为N个算力供给项以形成算力供给列表。在一次分配后,若某些算力节点已为一些任务节点提供了算力资源,则可以更新算力供给列表,以显示这些算力节点剩余的算力资源。例如,在进行算力资源分配前,某个算力节点可提供的存储资源为3×107字节,在完成算力资源分配后,该算力节点可提供的存储资源为2×107字节,据此可以对算力供给列表中该算力节点对应的算力供给项进行更新,以显示在完成算力资源分配后,该算力节点的剩余存储资源。如此,可以在每次分配后都对N个算力节点所能提供的算力资源进行更新。
上述实施例中,在接收到多个任务节点的算力需求的情况下,将根据每个任务节点的任务优先级、计算资源占用率、存储资源占用率以及该任务节点与每个算力节点之间的网络传输能力中的多个因素,确定由每个算力节点为该任务节点提供算力资源的传输成本,并从为这多个任务节点提供算力资源的多个算力资源分配方案中确定总传输成本小于预设阈值的全局算力资源分配方案。如此,避免了在后进行算力资源分配的任务节点的算力需求无法得到满足的可能性,实现了在满足各个任务节点的算力需求的情况下,能够使得算力资源的分配更均衡。
此外,可以从整体的角度通过一次分配为多个任务节点确定对应的算力资源分配方案,相对于相关技术中依次为每个任务节点进行算力资源分配的方式,还提高了算力资源的分配效率。
在一些实施例中,N个算力节点可以包括边缘算力节点。如此,在算力资源的分配过程中可以充分调用边缘算力节点的算力资源,减少了相关技术中仅在任务节点邻近的算力节点中确定用于提供算力资源的算力节点的方式而导致的处于网络边缘的边缘算力节点长时间未得到调用的情况,提高了边缘算力资源的利用率,从而在兼顾算力资源分配的均衡性的情况下,进一步优化了算力资源的分配。
在一些实施例中,由N个算力节点为M个任务节点提供算力资源的多个算力资源分配方案可以包括第一组方案,即鼓励一个算力节点一对一的为一个任务节点提供算力资源。如此,在后续通过算力溯源以进一步优化算力资源分配的过程中,无需针对每个任务节点向多个算力节点发出溯源请求,提高了后续算力溯源的效率。
在另一些实施例中,由N个算力节点为M个任务节点提供算力资源的多个算力资源分配方案可以包括第一组方案、第二组方案和第三组方案中的多组。
在又一些实施例中,由N个算力节点为M个任务节点提供算力资源的多个算力资源分配方案可以包括第一组方案、第二组方案和第三组方案,即多个算力资源分配方案包括由N个算力节点为M个任务节点提供算力资源的所有算力资源分配方案。如此,可以确保确定的全局算力资源分配方案为所有算力资源分配方案中使得算力资源分配更均衡的方案,从而实现了算力资源分配的全局优化。
下面结合一些实施例对确定由第j个算力节点为第i个任务节点提供算力资源的传输成本的实现方式进行说明。
在一些实施例中,可以针对算力任务程序的不同任务优先级预先定义对应的任务紧急程度值,每个任务节点在提交算力需求时可以选择算力任务程序的任务优先级,进而可以利用算力任务程序的任务优先级对应的任务紧急程度值表示任务节点的任务优先级,以对任务节点的任务优先级进行量化。
例如,针对任务优先级依次降低的算力任务程序的第一任务优先级、第二任务优先级、第三任务优先级和第四任务优先级,可以预先定义对应的任务紧急程度值分别为2、1.5、1和0.5。如此,在第i个任务节点的算力需求中包含的算力任务程序的任务优先级为第一任务优先级的情况下,第i个任务节点的任务优先级可以用pi=2表示;在第i个任务节点的算力需求中包含的算力任务程序的任务优先级为第二任务优先级的情况下,第i个任务节点的任务优先级可以用pi=1.5表示;以此类推。
在一些实施例中,计算资源可以通过CPU或GPU的双精度浮点运算能力(TFLOPs)进行量化。
作为一些实现方式,可以基于第j个算力节点的CPU或GPU的核心个数、核心频率以及核心单时钟周期运算能力,确定第j个算力节点所能提供的TFLOPs值。例如,第j个算力节点的CPU个数为28,每个CPU的核心频率为2.5GHZ,每个CPU核心在1个时钟周期内可以执行32次浮点运算(即核心单时钟周期运算能力),由此,可以确定第j个算力节点所能提供的TFLOPs值为28*2.5GHZ*32FLOPs/Cycle=2240GFLPs=2.24TFLOPs。
可以基于第i个任务节点的算力任务程序的任务类别,确定第i个任务节点所需的计算资源。例如,若第i个任务节点的算力任务程序的任务类别属于图像渲染处理任务,即计算中等型任务,则可以确定第i个任务节点所需的TFLOPs值至少为50;若第i个任务节点的算力任务程序的任务类别属于深度学习任务,即计算密集型任务,则可以确定第i个任务节点所需的TFLOPs值至少为80;若第i个任务节点的算力任务程序的任务类别属于高精计算任务(例如分子模型、天体物理模拟计算等),则可以确定第i个任务节点所需的TFLOPs值至少为100。
在这些实施例中,第一比值Eij=第i个任务节点所需的TFLOPs值/第j个算力节点所能提供的TFLOPs值。
在一些实施例中,存储资源可以通过存储容量进行量化,其中,存储容量可以以字节为计量单位。
作为一些实现方式,可以基于第j个算力节点的存储器的总存储容量,确定第j个算力节点所能提供的存储资源。
例如,可以基于第j个算力节点的内存储器所能提供的第一存储容量和外存储器所能提供的第二存储容量的加权之和,确定第j个算力节点所能提供的存储资源。
以第j个算力节点的内存储器为随机存储器、外存储器为硬盘为例,第j个算力节点所能提供的存储资源(f2)i=α1*第一存储容量+α2*第二存储容量,其中,第一存储容量可以基于随机存储器的总字节数确定,第二存储容量可以基于硬盘的总字节数确定,α1和α2分别为随机存储器所能提供的第一存储容量和硬盘所能提供的第二存储容量的权重。
可以基于第i个任务节点的算力任务程序所需的存储容量,确定第i个任务节点所需的存储资源。
例如,对第i个任务节点的算力任务程序进行识别,可以确定该算力任务程序所包含的子任务数(即子线程数)以及每个子任务所需的字节数,则第i个任务节点的算力任务程序所需的存储容量为第k个子任务所需的字节数,其中,(g1)i=ni为第i个任务节点的算力任务程序的子任务数。
在一些实施例中,第j个算力节点的内存储器所能提供的第一存储容量的权重α1可以大于外存储器所能提供的第二存储容量的权重α2。例如,α1=10,α2=1/2。如此,由于算力节点中的内存储器的存储容量会影响算力节点的运算速率,故,通过在量化第j个算力节点所能提供的存储资源时增加内存储器所能提供的存储容量的权重,能够在算力资源分配方案的确定过程中加入对影响算力节点的运算速率的因素的考量,从而在兼顾算力资源分配的均衡性的情况下,进一步优化了算力资源的分配。
在一些实施例中,第i个任务节点的第一比值和由第j个算力节点为第i个任务节点提供算力资源的传输成本负相关。即,第i个任务节点的计算资源占用率越高,则对应的传输成本越小。如此,可以使得每个算力节点的计算资源都能够被充分使用,进一步提高了算力资源的利用率,从而在兼顾算力资源分配的均衡性的情况下,更进一步优化了算力资源的分配。
在一些实施例中,第i个任务节点的任务优先级和由第j个算力节点为第i个任务节点提供算力资源的传输成本负相关,第i个任务节点的第二比值以及第i个任务节点和第j个算力节点之间的数据传输时间均该传输成本正相关。
例如,由第j个算力节点为第i个任务节点提供算力资源的传输成本可以为其中,Tij表示第i个任务节点和第j个算力节点之间的数据传输时间,Eij表示第i个任务节点的第一比值,pi表示第i个任务节点的任务优先级,表示第i个任务节点的第二比值。
在一些实施例中,可以构造如下最优传输模型来确定全局算力资源分配方案,并以使得全局算力资源分配的总成本最低为目标求解Pij。其中,Pij表示由N个算力节点为M个任务节点提供算力资源的每个算力资源分配方案:
图2是本公开一些实施例的最优传输模型的模型示意图。
如图2所示,每个算力节点(f1)j可以为多个任务节点(g1)i提供算力资源,由第j个算力节点为第i个任务节点提供算力资源的传输成本为cij。
考虑到在集中式算力网络架构中,算力节点的个数N和任务节点的个数M都较大,故,可以将上述最优传输问题转化为如下对应的熵正则问题,并利用sinkhorn算法进行求解:
由于sinkhorn算法的复杂度低且算法收敛速度快,故,这种方式下,可以有效地减轻为确定全局算力资源分配方案所造成的网络计算压力。
在一些实施例中,全局算力资源分配方案可以为多个算力资源分配方案中总传输成本最小的算力资源分配方案。这种方式下,通过确定的全局算力资源分配方案进行算力资源分配,不仅可以使得算力资源分配更均衡,还可以达到算力资源分配的全局最优。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图3是根据本公开一些实施例的算力资源分配装置的结构示意图。
如图3所示,算力资源分配装置300包括接收模块301和确定模块302。
接收模块301可以被配置为接收来自M个任务节点的算力需求,M≥2。
确定模块302可以被配置为基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和N个算力节点中的第j个算力节点之间的数据传输时间中的多个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本,其中,第一比值为第i个任务节点所需的计算资源和第j个算力节点所能提供的计算资源的比值,第二比值为第i个任务节点所需的存储资源和第j个算力节点所能提供的存储资源的比值,1≤i≤M,1≤j≤N;以及基于传输成本,确定全局算力资源分配方案,全局算力资源分配方案为由N个算力节点为M个任务节点提供算力资源的多个算力资源分配方案中总传输成本小于预设阈值的算力资源分配方案。
在一些实施例中,算力资源分配装置300还可以包括执行上述任意一个是实施例的其他操作的其他模块。
图4是根据本公开另一些实施例的算力资源分配装置的结构示意图。
如图4所示,算力资源分配装置400包括存储器401以及耦接至该存储器401的处理器402,处理器402被配置为基于存储在存储器401中的指令,执行前述任意一个实施例的方法。
存储器401例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
算力资源分配装置400还可以包括输入输出接口403、网络接口404、存储接口405等。这些接口403、404、405之间、以及存储器401与处理器402之间例如可以通过总线406连接。输入输出接口403为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口404为各种联网设备提供连接接口。存储接口405为SD卡、U盘等外置存储设备提供连接接口。
图5是根据本公开一些实施例的算力资源分配系统的结构示意图。
如图5所示,算力资源分配系统500包括上述任意一个实施例中的算力资源分配装置501以及N个算力节点502(图5仅示意性的示出了3个算力节点)。算力资源分配装置501例如可以为算力资源分配装置300/400)。
在一些实施例中,算力资源分配系统500还可以包括上述任意一个实施例中的M个任务节点503(图5仅示意性的示出了3个任务节点节点)。
本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任意一个实施例的方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,其中,该计算机程序被处理器执行时实现上述任意一个实施例的方法。
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (17)
1.一种算力资源分配方法,包括:
接收来自M个任务节点的算力需求,M≥2;
基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和N个算力节点中的第j个算力节点之间的数据传输时间中的多个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本,其中,所述第一比值为第i个任务节点所需的计算资源和第j个算力节点所能提供的计算资源的比值,所述第二比值为第i个任务节点所需的存储资源和第j个算力节点所能提供的存储资源的比值,1≤i≤M,1≤j≤N;
基于所述传输成本,确定全局算力资源分配方案,所述全局算力资源分配方案为由所述N个算力节点为所述M个任务节点提供算力资源的多个算力资源分配方案中总传输成本小于预设阈值的算力资源分配方案。
2.根据权利要求1所述的方法,其中:
所述多个算力资源分配方案包括第一组方案、第二组方案和第三组方案中的至少一组;
其中,所述第一组方案包括所述M个任务节点由所述N个算力节点中的M个算力节点一一对应地提供算力资源的每个算力资源分配方案,
所述第二组方案包括所述M个任务节点中的每个任务节点均由所述N个算力节点中的多个算力节点提供算力资源的每个算力资源分配方案,
所述第三组方案包括所述M个任务节点中的部分任务节点由所述N个算力节点中的一个算力节点提供算力资源、其余任务节点由所述N个算力节点中的多个算力节点提供算力资源的每个算力资源分配方案。
3.根据权利要求2所述的方法,其中,所述多个算力资源分配方案包括所述第一组方案。
4.根据权利要求2所述的方法,其中,所述多个算力资源分配方案包括所述第一组方案、所述第二组方案和所述第三组方案中的多组。
5.根据权利要求4所述的方法,其中,所述多个算力资源分配方案包括所述第一组方案、所述第二组方案和所述第三组方案。
6.根据权利要求1所述的方法,其中,所述第一比值和所述传输成本负相关。
7.根据权利要求6所述的方法,其中,所述任务优先级和所述传输成本负相关,所述第二比值以及第i个任务节点和第j个算力节点之间的数据传输时间均与所述传输成本正相关。
8.根据权利要求1所述的方法,其中,第i个任务节点的算力需求包括算力任务程序和所述算力任务程序的任务优先级,所述方法还包括:
基于所述算力任务程序,确定第i个任务节点所需的计算资源和存储资源;
基于所述算力任务程序的任务优先级,确定第i个任务节点的任务优先级。
9.根据权利要求8所述的方法,其中,所述基于所述算力任务程序确定第i个任务节点所需的计算资源和存储资源包括:
基于所述算力任务程序的任务类别,确定第i个任务节点所需的计算资源;
基于所述算力任务程序所需的存储容量,确定第i个任务节点所需的存储资源。
10.根据权利要求1所述的方法,其中,第j个算力节点所能提供的存储资源基于第j个算力节点的内存储器所能提供的第一存储容量和外存储器所能提供的第二存储容量的加权之和确定,所述第一存储容量的权重大于所述第二存储容量的权重。
11.根据权利要求1-10任意一项所述的方法,其中,所述全局算力资源分配方案为所述多个算力资源分配方案中总传输成本最小的算力资源分配方案。
12.根据权利要求1所述的方法,其中,所述N个算力节点包括边缘算力节点。
13.一种算力资源分配装置,包括:
接收模块,被配置为接收来自M个任务节点的算力需求,M≥2;
确定模块,被配置为基于第i个任务节点的任务优先级、第一比值、第二比值以及第i个任务节点和N个算力节点中的第j个算力节点之间的数据传输时间中的多个,确定由第j个算力节点为第i个任务节点提供算力资源的传输成本,其中,所述第一比值为第i个任务节点所需的计算资源和第j个算力节点所能提供的计算资源的比值,所述第二比值为第i个任务节点所需的存储资源和第j个算力节点所能提供的存储资源的比值,1≤i≤M,1≤j≤N;以及
基于所述传输成本,确定全局算力资源分配方案,所述全局算力资源分配方案为由所述N个算力节点为所述M个任务节点提供算力资源的多个算力资源分配方案中总传输成本小于预设阈值的算力资源分配方案。
14.一种算力资源分配装置,包括:
存储器;以及
耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行权利要求1-12任意一项所述的方法。
15.一种算力资源分配系统,包括:
权利要求13或14所述的装置;以及
所述N个算力节点。
16.一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现权利要求1-12任意一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-12任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211464245.0A CN115729704A (zh) | 2022-11-22 | 2022-11-22 | 算力资源分配方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211464245.0A CN115729704A (zh) | 2022-11-22 | 2022-11-22 | 算力资源分配方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729704A true CN115729704A (zh) | 2023-03-03 |
Family
ID=85297203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211464245.0A Pending CN115729704A (zh) | 2022-11-22 | 2022-11-22 | 算力资源分配方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729704A (zh) |
-
2022
- 2022-11-22 CN CN202211464245.0A patent/CN115729704A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | A framework for partitioning and execution of data stream applications in mobile cloud computing | |
Chen et al. | Deep learning research and development platform: Characterizing and scheduling with qos guarantees on gpu clusters | |
US8898422B2 (en) | Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration | |
US11055139B2 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
Li et al. | An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters | |
US9471387B2 (en) | Scheduling in job execution | |
CN115237580B (zh) | 面向智能计算的流水并行训练自适应调整系统、方法 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN111142938A (zh) | 一种异构芯片的任务处理方法、任务处理装置及电子设备 | |
US20210357732A1 (en) | Neural network accelerator hardware-specific division of inference into groups of layers | |
Wang et al. | Task scheduling algorithm based on improved Min-Min algorithm in cloud computing environment | |
CN116263701A (zh) | 算力网络任务调度方法、装置、计算机设备及存储介质 | |
CN105045670A (zh) | 中央处理器和图形处理器负载均衡的方法和系统 | |
Amalarethinam et al. | Customer facilitated cost-based scheduling (CFCSC) in cloud | |
CN108897619B (zh) | 一种用于超级计算机的多层级资源柔性配置方法 | |
Li et al. | On scheduling of high-throughput scientific workflows under budget constraints in multi-cloud environments | |
CN115729704A (zh) | 算力资源分配方法、装置及计算机可读存储介质 | |
Yassir et al. | Graph-based model and algorithm for minimising big data movement in a cloud environment | |
CN114675953A (zh) | 资源动态调度方法、装置、设备及计算机可读存储介质 | |
CN114579284A (zh) | 任务调度方法及装置 | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
JP2012038275A (ja) | 取引計算シミュレーションシステム、方法及びプログラム | |
KR20220002284A (ko) | 병렬 계산들을 동적으로 최적화하기 위한 장치 및 방법 | |
CN116991560B (zh) | 针对语言模型的并行调度方法、装置、设备及存储介质 | |
US10630957B2 (en) | Scalable distributed computation framework for data-intensive computer vision workloads |
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 |