CN116775304A - 任务分配方法、系统、装置及非易失性存储介质 - Google Patents
任务分配方法、系统、装置及非易失性存储介质 Download PDFInfo
- Publication number
- CN116775304A CN116775304A CN202310813818.4A CN202310813818A CN116775304A CN 116775304 A CN116775304 A CN 116775304A CN 202310813818 A CN202310813818 A CN 202310813818A CN 116775304 A CN116775304 A CN 116775304A
- Authority
- CN
- China
- Prior art keywords
- computing
- task
- target
- node
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 230000008859 change Effects 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 34
- 239000013598 vector Substances 0.000 claims description 95
- 238000011156 evaluation Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000012216 screening Methods 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 230000009191 jumping Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 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 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013077 scoring method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本申请公开了一种任务分配方法、系统、装置及非易失性存储介质。其中,该方法包括:确定目标任务的任务特征;依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点。本申请解决了由于相关技术中根据申请量分配算力资源造成的在算力节点空闲的同时算力任务无法被分配给算力节点进行处理的技术问题。
Description
技术领域
本申请涉及算力调度领域,具体而言,涉及一种任务分配方法、系统、装置及非易失性存储介质。
背景技术
相关技术中在进行算力资源的调度时,通常是依据资源的申请量来进行调度的。但是在实际生产环境中,资源的实际使用量和申请量之间会存在较大的偏差,因此基于资源的申请量来进行算力资源的分配可能会存在大量算力节点处于空闲状态,同时大量待处理的算力任务由于各个算力节点的申请量已满或过高而无法被分配给算力节点执行的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种任务分配方法、系统、装置及非易失性存储介质,以至少解决由于相关技术中根据申请量分配算力资源造成的在算力节点空闲的同时算力任务无法被分配给算力节点进行处理的技术问题。
根据本申请实施例的一个方面,提供了一种任务分配方法,包括:确定目标任务的任务特征;依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点。
可选地,依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合的步骤包括:依据预设负载阈值,从算力节点资源池中筛选得到备选算力节点集合,其中,备选算力节点集合中的备选算力节点的预测负载低于预设负载阈值;确定备选算力节点的评价分数,其中,评价分数用于体现算力节点的算力资源富余信息和负载信息;依据评价分数从备选算力节点集合中确定目标算力节点集合。
可选地,预设负载阈值包括第一预设负载阈值和第二预设负载阈值,并且第一预设负载阈值小于第二预设负载阈值;依据预设负载阈值,从算力节点资源池中筛选得到备选算力节点集合的步骤包括:依据第一预设负载阈值,从算力节点资源池中筛选得到第一备选算力节点集合,其中,第一备选算力节点集合中的节点的预测负载低于第一预设负载阈值;在第一备选算力节点集合无法运行目标任务的情况下,依据第二预设负载阈值,从算力节点资源池中确定第二备选算力节点集合,其中,第二备选算力节点集合中的预测负载低于第二预设负载阈值,并且第二备选算力节点集合中包括运行的计算任务将在第一预设时间段内完成的算力节点。
可选地,确定备选算力节点的评价分数的步骤包括:确定目标任务对应的目标资源类型,其中,目标资源类型为执行目标任务时所需的算力资源的资源类型;确定备选算力节点中目标资源类型的算力资源的富余信息和负载信息,并依据各个目标资源类型对应的富余信息和负载信息,确定各个目标资源类型的算力资源评价分数;确定各个目标资源类型的权重,并依据备选算力节点中各个目标资源类型的权重和算力资源评价分数,确定备选算力节点的评价分数。
可选地,依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段的步骤包括:依据任务特征,确定目标任务的目标任务向量;确定目标任务向量与预先存储的各个第一参考任务向量之间的距离,其中,第一参考任务向量为执行完成的计算任务的任务向量;依据距离,从各个第一参考任务向量中筛选出预设数量个第二参考任务向量;依据第二参考任务向量对应的计算任务的任务运行时间段,确定目标任务的运行时间段。
可选地,从各个第一参考任务向量中筛选出预设数量个第二参考任务向量的步骤包括:按照距离由小到大的顺序,对第一参考任务向量进行排序;确定前预设数量个第一参考任务向量为第二参考任务向量。
可选地,负载变化趋势包括各个算力节点中包含的目标资源类型对应的负载变化趋势,目标资源类型为执行目标任务时所需的算力资源的资源类型;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势的步骤包括:确定各个算力节点对应的第一负载历史记录,其中,第一负载历史记录中包括各个算力节点在第二预设时间段内的负载变化信息;依据运行时间段确定目标时间粒度,并依据目标时间粒度对第一负载历史记录进行聚合,得到第二负载历史记录;依据第二负载历史记录确定各个算力节点中包含的目标资源类型对应的负载变化趋势。
根据本申请实施例的另一方面,还提供了一种任务分配系统,包括:算力服务层,算力编排层,算力资源层和算力监控层,其中,算力服务层,用于提取目标任务的任务特征;算力编排层,用于依据任务特征,确定目标任务在算力资源层中的各种类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点;算力监控层,用于监控各个算力节点的计算资源状态和计算资源使用情况,以及各个算力节点所执行的计算任务的任务运行状态和运行时间。
根据本申请实施例的另一方面,还提供了一种任务分配装置,包括:第一处理模块,用于确定目标任务的任务特征;第二处理模块,用于依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;第三处理模块,用于确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;第四处理模块,用于依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行任务分配方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包括:处理器和存储器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行任务分配方法。
在本申请实施例中,采用确定目标任务的任务特征;依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点的方式,通过确定目标任务的运行时间段,以及算力节点在运行时间段中的负载变化趋势,确定算力节点的预设负载并依据预设负载确定目标算力节点集合,达到了依据算力节点的负载情况确定执行待处理的目标任务的节点的目的,从而实现了依据算力节点的负载情况进行算力分配的技术效果,进而解决了由于相关技术中根据申请量分配算力资源造成的在算力节点空闲的同时算力任务无法被分配给算力节点进行处理技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种计算机终端(移动终端)的结构示意图;
图2是根据本申请实施例的一种任务分配方法的流程示意图;
图3是根据本申请实施例的一种确定目标任务的运行时间段的方法的流程示意图;
图4是根据本申请实施例的一种确定任务向量提取模型的流程示意图;
图5是根据本申请实施例的一种任务运行时间段预测模型的结构示意图;
图6是根据本申请实施例的一种确定算力节点的负载变化趋势的方法的流程示意图;
图7是根据本申请实施例的一种确定算力节点的评价分数的流程示意图;
图8是根据本申请实施例的一种任务分配流程的流程示意图;
图9是根据本申请实施例的一种任务分配系统的结构示意图;
图10是根据本申请实施例的一种任务分配装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请实施例,以下将本申请实施例中涉及的技术术语解释如下:
算力超分:算力超分指的是将单个算力节点的算力分配给多个应用,并且多个应用所需的计算资源之和大于算力节点可提供的最大算力。由于多个应用的业务峰值通常不会同时出现,而是存在一定的时间差异,因此可以通过错峰处理的方式让算力节点同时运行多个所需计算资源之和超过算力节点能提供的最大计算资源的应用。而当应用之间出现业务峰值重叠时,则可以根据各个应用的优先级进行算力分配。
算力系统的资源利用率是衡量算力调度效果的重要指标,目前相关技术中在进行算力调度时通常是依据资源的申请量来进行的。例如K8S的原生策略中,资源调度是以申请量为依据的。然而由于任务的申请时间和任务的实际执行时间之间存在一定的差异,导致资源的“使用量”与“申请量”可能关联不大,这样的调度策略会与实际使用情况脱节。例如在实际的业务运行过程中,大概率会出现依据申请量分配算力资源导致算力资源已被分配完,同时有大量的算力节点由于并未执行任务而处于空闲状态,而此时大量新的算力任务由于资源的申请量已满或过高导致算力任务无法被分配给计算节点执行的情况,造成算力浪费。特别是在GPU的超算场景中,普遍存在GPU卡已被占用,而利用率却非常低的问题。针对这一问题,相关技术中提供了一种采用实际测试或人为经验来为算力集群设定相同的算力超分比,按固定比例超额分配资源的方法。然而算力集群的真实负载是动态变化的,简单固定调高超分比无法完全解决资源浪费的问题。
为了解决上述问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种任务分配方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现任务分配方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的任务分配方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的任务分配方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种任务分配方法,如图2所示,该方法包括如下步骤:
步骤S202,确定目标任务的任务特征;
在步骤S202所提供的技术方案中,目标任务的任务特征可以从多个维度来体现。例如,目标任务的任务特征可以包括目标任务的任务类型,如是否为区块共识类任务,是否为深度学习类任务,是否为检索查询类任务,是否为渲染交互类任务,是否为后台加工类任务等;任务特征还可以包括该任务的应用场景,如目标任务是否应用于自动驾驶领域,目标任务是否应用于远程医疗领域,目标任务是否应用于工业互联网领域,目标任务是否应用于智慧城市领域,目标任务是否应用于实时量化交易领域等;任务特征还可以包括目标任务的资源需求情况,例如目标任务在执行时所需的CPU请求核数,GPU请求核数,请求显存大小,请求运行时间,请求存储大小,请求网络带宽等。
作为一种可选地实施方式,在确定目标任务的任务特征时,可以选择尽可能多的从不同维度确定目标任务的任务特征信息,来更加全面地体现目标任务的任务信息。也可以选择根据实际需要筛选部分维度的任务特征来作为目标任务的特征信息。
步骤S204,依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;
在步骤S204所提供的技术方案中,确定运行时间段之前,首先需要确定算力资源池中当前处于空闲状态的算力节点,然后确定这些处于空闲状态的算力节点中是否存在满足目标任务需求的节点,如果存在则直接将目标任务分配给该算力节点,不再执行后续步骤。而如果确认空闲状态的算力节点中不存在满足任务需求的节点,则继续预测目标任务在指定类型的算力节点资源池中的算力节点上的运行时间。
需要说明的是,上述处于空闲状态的算力节点包括当前未执行计算任务的算力节点,以及虽然在执行算力任务,但是执行的算力任务将要完成或者执行的算力任务所占用的资源较低的算力节点,具体空闲节点的筛选规则可以由用户自行设定。例如确定所执行的计算任务在预设时间段(如两分钟)的算力节点为空闲节点,或者确定所执行的任务占用的算力节点中的各项资源的占用率均不超过预设占用率(如10%)的算力节点为空闲节点。
在确定了空闲节点之后,由于目标任务对计算资源可能存在额外要求,如要求CPU和GPU的请求核数大于一定数量,请求显存大小大于一定值等,还可以根据目标任务的任务特征信息在空闲节点中进行节点筛选,从而在空闲节点中确定是否存在可执行目标任务的算力节点。需要注意的是,执行目标任务的算力节点可以为一个,也可以是由多个算力节点共同执行。
而当确定了多个可执行目标任务的算力节点后,还可以采用任意资源评分方法对各个算力节点进行评价,确定各个算力节点的评价分数,之后按照评价分数从高到低的顺序对各个算力节点进行排序,然后按照实际从排序后的算力节点中确定用于执行目标任务的算力节点。具体地,可以按照排列顺序,先确定排序第一的节点是否可以独立完成目标任务,如不行,则确定排序第一和排序第二的节点是否可合作完成目标任务,以此类推,直到确定了可执行目标任务的算力节点集合或确定全部的节点共同运行也无法执行目标任务为止。
作为一种可选地实施方式,在确定目标任务在目标类型的算力节点资源池上运行的运行时间段时,可以包括如下步骤:依据任务特征,确定目标任务的目标任务向量;确定目标任务向量与预先存储的各个第一参考任务向量之间的距离,其中,第一参考任务向量为已执行完成的计算任务的任务向量;依据距离,从各个第一参考任务向量中筛选出预设数量个第二参考任务向量;依据第二参考任务向量对应的计算任务的任务运行时间段,确定目标任务的运行时间段。
作为一种可选地实施方式,上述第一参考任务向量可以是以任务特征为输入,以任务完成时长为目标值训练得到的任务向量模型依据已完成任务的特征输出的向量。
在本申请的一些实施例中,上述目标类型可以为用户指定的任意类型。例如在系统中存在多个类型的算力节点资源池的情况下,用户可以指定任意一个类型为目标类型,然后在该类型对应的运行时间段判断完成后,再确定另一个类型的算力节点资源池中的算力节点执行目标任务的运行时间段。
需要说明的是,确定运行时间段包括确定运行时长和运行起止时间点,上述步骤实际上确定的是运行时间段中的运行时长。而运行时间段中的运行启动时间点可以由系统根据历史任务分配所用时长和开始将目标任务分配给对应的算力节点的时间点来确定,也就是说运行启动时间点可以认为等同于开始分配目标任务的时间点加上系统预估的分配任务所需的时长得到的时间点。
作为一种可选地实施方式,上述确定目标任务在指定类型的算力节点资源池中的运行时长的完整流程如图3所示,包括如下步骤:
步骤S302,构建目标任务的各个任务特征对应的特征向量;
在步骤S302所提供的技术方案中,可以根据拆解的目标任务的任务特征构建每个任务特征对应的特征向量,假设目标任务的任务特征有P个,则任务特征向量可以用f1,f2,f3,...,fp来表示。另外,如上文所述,目标任务的任务特征包括但不限于请求的CPU核数、GPU核数、内存大小、显存大小、存储大小、网络带宽、请求运行时间、是否区块共识类任务、是否深度学习类型任务、是否检索查询类型任务、是否渲染交互类型任务等。
步骤S304,依据目标任务的特征向量构建目标任务向量;
在步骤S304所提供的技术方案中,可以将目标任务的特征向量输入到任务向量提取模型中,从而得到任务向量提取模型输出的目标任务向量,具体公式如下:
Vec=Model(f1,f2,f3,...,fp)
在上述公式中,Vec表示目标任务向量,f1,f2,f3,...,fp表示目标任务对应的各个任务特征向量,Model表示任务向量提取模型,可以看做是一个转换函数。该模型可以将分离的p个特征向量转换为一个预设维度的任务向量,预设维度可以由用户自行设定,如32、64、128、256等。
步骤S306,计算目标任务向量与第一参考任务向量之间的距离;
在步骤S306所提供的技术方案中,第一参考任务向量是存储在缓存中的已完成任务的任务向量。
在计算目标任务向量和各个第一参考任务向量之间的距离时,则可以采用标准化欧式距离来计算,具体公式如下:
上述公式中,m是目标任务向量和各个第一参考任务向量的维度,u是一个任务的特征向量,v是另外一个任务的特征向量,V表示u和v之间的方差,V[xi]表示u和v之间的第i个分量的方差。
步骤S308,在多个第一参考任务向量中筛选得到预设数量个第二参考任务向量;
在步骤S308所提供的技术方案中,预设数量可以由用户自行设定。作为一种可选地实施方式,在多个第一参考任务向量中筛选得到预设数量个第二参考任务向量时,可以先按照距离由大到小的顺序,对第一参考任务向量进行排序,并在排序完成后,确定前预设数量个第一参考任务向量为第二参考任务向量。
步骤S310,依据第二参考任务向量的任务耗时,确定目标任务的运行时长。
在步骤S310所提供的技术方案中,可以对预设数量个第二参考任务向量进行加权求和运算,并将最终的运算结果作为目标任务的运行时长的预测结果,具体公式如下:
上述公式中,T为任务的预测时间,Ti是K个相似任务中第i个任务的实际运行时间,K为预设数量,wi是第i个任务的权重。权重wi的确定可以根据该向量与预测向量之间的距离远近来设定,例如,距离更近的第二参考任务向量对应的权重更大。
作为一种可选地实施方式,步骤S304中所使用的任务向量提取模型可以采用多层神经网络来搭建和训练。具体流程如图4所示,包括如下步骤:
步骤S402,持续收集大量计算任务的任务特征和对应的任务耗时;
在步骤S402所提供的技术方案中,每个任务的系列任务特征和对应的任务耗时可以构成一条带有标签的数据对,大量的数据对可以形成训练数据集;
步骤S404,将数据集按照预设比例拆分为训练集和测试集;
在步骤S404所提供的技术方案中,上述预设比例可以由用户自行设定,例如,可以设定训练集占比为70%,测试集占比为30%。
步骤S406,搭建多层全链接神经网络模型(层数为L)用于任务耗时预测,其中,该模型的输入将为一个任务的系列特征,输出为预测的任务运行时间;
步骤S408,采用训练集中的数据对模型进行训练,并采用测试机中的数据对训练后的模型进行测试;
在步骤S408所提供的技术方案中,对模型训练后可以优化模型的模型参数,使得模型输出的预测时长接近任务实际运行时耗费的真实时长,进而让模型学到不同特征或特征组合对任务运行时间不同的重要性,并且可以基于测试集筛选出最优的模型作为最终得到的任务耗时预测模型。
步骤S410,确定任务耗时预测模型的前L-1层作为任务向量提取模型,其中,任务向量提取模型的输出为预设维度的任务特征向量。
可以看出,通过图4所提供的任务耗时预测模型的确定方法,可以得到任务耗时预测模型,并在得到任务耗时预测模型后进一步通过任务耗时预测模型得到任务向量提取模型。
在本申请的一些实施例中,任务耗时预测模型的结构如图5所示,包含有L层神经网络,不同的神经网络层之间通过Relu激活层连接,该任务耗时预测模型的输入为任务的特征向量,输出为预测的运行时间,第L-1层的输出则为预设维度的任务向量。
步骤S206,确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;
在步骤S206所提供的技术方案中,确定算力节点的负载变化趋势的方法如图6所示,包括如下步骤:
步骤S602,依据目标任务的任务特征,确定目标任务对应的目标资源列表和运行时间段;
在步骤S602所提供的技术方案中,目标资源列表中的资源为执行目标任务的算力节点所需要具备的资源类型,运行时间段为预测的目标任务的执行时间段;
步骤S604,确定目标资源列表中的各项资源是否均已确定对应的负载变化趋势,若是,跳转到步骤S606,若否,跳转到步骤S608;
步骤S606,整理输出全部目标资源的负载预测走势;
步骤S608,选取列表中任意一个未确定负载趋势的目标资源和运行目标任务的过程中使用该项目标资源的资源使用时间段;
步骤S608所提供的技术方案中,资源使用时间段指的是上文中的运行时间段。
步骤S610,获取算力节点上该目标资源的负载历史记录;
步骤S612,根据任务所需时间段的时长确定目标时间粒度,并根据目标时间粒度对负载历史记录进行聚合;
在步骤S612所提供的技术方案中,未经过聚类处理的负载历史记录中包括各个时间点对应的负载情况,例如时间点m1对应的负载值为a,时间点m2对应的负载值为b等,不同的时间点之间的间隔可能为任意间隔,如一分钟。而在按照目标时间粒度对负载历史记录进行聚合后,历史记录值可以表示为时间点h1对应负载值a1,时间点h2对应负载值b1等,并且各个时间点之间的间隔为目标时间粒度。以时间点h1且原始数据中的时间间隔为1分钟为例,时间点h1对应的负载值a1的负载值为时间点h1和时间点h2之间的各个原始负载记录中的负载值的累加值除以分钟数得到的平均值。
步骤S614,依据聚合后的负载历史记录对时序预测模型进行训练;
步骤S616,采用训练完成的时序预测模型确定目标资源在资源使用时间段内的负载变化趋势,之后跳转到步骤S604。
具体地,在得到了各项目标资源的负载变化趋势后,可以根据预设规则和负载变化趋势确定算力节点对应的预测负载。例如预测负载可以是根据负载变换趋势确定的各项资源的负载率最大值确定的算力节点的总负载,也可以是根据各项目标数据的负载变化趋势确定算力节点的负载变化趋势,之后根据算力节点的负载变化趋势来确定运行时间段中算力节点负载的最大值或平均值来作为算力节点的预测负载。
步骤S208,依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点。
在步骤S208所提供的技术方案中,依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合的步骤包括:依据预设负载阈值,从算力节点资源池中筛选得到备选算力节点集合,其中,备选算力节点集合中的备选算力节点的预测负载低于预设负载阈值;确定备选算力节点的评价分数,其中,评价分数用于体现算力节点的算力资源富余信息和负载信息;依据评价分数从备选算力节点集合中确定目标算力节点集合。
具体地,依据预设负载阈值确定备选算力节点集合的方法包括以下步骤:依据第一预设负载阈值,从算力节点资源池中筛选得到第一备选算力节点集合,其中,第一备选算力节点集合的预测负载低于第一预设负载阈值;在第一备选算力节点集合无法运行目标任务的情况下,依据第二预设负载阈值,从算力节点资源池中确定第二备选算力节点集合,其中,第二备选算力节点的预测负载低于第二预设负载阈值,并且第二备选算力节点集合中包括运行的计算任务将在第一预设时间段内完成的算力节点。
上述第一预设时间段可以由用户自行设定,例如可以为2分钟。
在本申请的一些实施例中,可以根据第一备选算力节点集合中的算力节点所能提供的计算资源和目标任务的任务特征进行比较来确定第一备选算力节点集合是否可以运行目标任务。例如,目标任务在运行时需要由8张GPU卡共同执行,筛选出的第一备选算力节点集合中包括三个算力节点,假设各个算力节点均可提供3张GPU来运行目标任务,由于第一备选算力节点集合所能提供的总的计算资源大于运行目标任务所需的计算资源,则认为第一备选算力节点集合可运行目标任务。而假设存在一个节点只能提供一张GPU卡,则认为第一备选算力节点集合无法运行目标任务。
作为一种可选地实施方式,确定备选算力节点的评价分数的步骤如图7所示,包括如下步骤:
步骤S702,确定目标任务对应的目标资源类型,其中,目标资源类型为执行目标任务时所需的算力资源的资源类型;
在步骤S702所提供的技术方案中,目标资源类型可以包括CPU资源、GPU资源、内存资源、带宽资源、存储资源等。
步骤S704,确定备选算力节点中目标资源类型的算力资源的富余信息和负载信息,并依据各个目标资源类型对应的富余信息和负载信息,确定各个目标资源类型的算力资源评价分数;
在步骤S704所提供的技术方案中,如果目标资源类型的资源富余多则给高分,如资源富余少则给低分。如果资源的负载低给高分,资源的负载高给低分。最终该项资源的算力资源评价分数如下:
算力资源评价分数=k1×资源富余得分+k2×资源负载得分,k1+k2=1,k1和k2的具体数值可以由用户自行调节,例如均为0.5。
步骤S706,确定各个目标资源类型的权重,并依据备选算力节点中各个目标资源类型的权重和算力资源评价分数,确定备选算力节点的评价分数。
在步骤S706所提供的技术方案中,确定了各个目标资源的权重后,还需要对目标资源的权重进行归一化处理,使得处理后的各项目标资源的权重累计和等于1。各个目标资源的权重可以体现该项资源的重要程度,例如可以设置归一化前的内存的重要度为4,GPU的重要度为8,CPU的重要度为5,存储的重要度为1等等,如果需要的资源仅仅为内存和GPU,则归一化后的权重分别为4/(4+8)、8/(4+8),具体的归一化调整公式如下:
上述公式中q为涉及到的目标资源种类数量,wj为第j个目标资源预设的权重值,wj’为第j个目标资源调整后的权重值。
根据调整后的权重,计算备选算力节点的评价分数的公式如下:
上述公式中S为算力节点总评估分,q为涉及到的资源种类数量,wj’为第j个资源调整后的权重值,Sj为算力节点第j个资源的评分。
在本申请的一些实施例中,在确定了负责运行目标任务的目标算力节点集合后,还可以利用算力超分的机制,临时提高目标算力节点集合中的算力节点的超分比例,并在目标任务计算结束后将之前动态调高的超分比例回调。
通过采用确定目标任务的任务特征;依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点的方式,通过确定目标任务的运行时间段,以及算力节点在运行时间段中的负载变化趋势,确定算力节点的预设负载并依据预设负载确定目标算力节点集合,达到了依据算力节点的负载情况确定执行待处理的目标任务的节点的目的,从而实现了依据算力节点的负载情况进行算力分配的技术效果,进而解决了由于相关技术中根据申请量分配算力资源造成的在算力节点空闲的同时算力任务无法被分配给算力节点进行处理技术问题。
本申请实施例提供了一种任务分配流程,图8是该任务分配流程的流程示意图,如图8所示,包括如下步骤:
步骤S802,提取目标任务的任务特征;
步骤S804,筛选出算力资源池中的空闲算力节点;
步骤S806,确定空闲算力节点是否满足目标任务的运行需求,如是则跳转到步骤S808,否则跳转到步骤S812;
步骤S808,采用资源打分算法确定空闲算力节点的评价分;
步骤S810,根据空闲算力节点的评价分对空闲算力节点进行排序,并根据排序结果将目标任务从空闲算力节点中确定目标算力节点集合,然后跳转到步骤S822;
步骤S812,预测目标任务在指定类型算力资源池上的运行时间,以及各算力节点在运行时间中的负载变化趋势;
步骤S814,根据负载变化趋势确定算力节点的负载预测值,并筛选出负载预测值小于第一预设负载阈值的备选算力节点;
步骤S816,判断筛选出的备选算力节点是否满足执行目标任务的需求,在判断结果为是的情况下,跳转到步骤S820,否则跳转到步骤S818;
步骤S818,根据第二预设负载阈值筛选出预测负载阈值小于第二预设负载阈值的备选算力节点,其中,备选算力节点上存在即将结束的计算任务;
需要说明的是,如果采用步骤S818中所提供的方法筛选出的备选算力节点仍不符合要求,则可以将目标任务加入等待序列,并在一定时间后再次执行步骤S804。
步骤S820,确定备选算力节点的算力节点评分,并按照评分高低对备选算力节点进行排序,然后根据排序结果从备选算力节点中筛选出目标算力节点集合;
步骤S822,临时提高目标算力节点集合中的算力节点的超分比例,并在目标算力节点集合执行完成目标任务后,将目标算力节点集合的超分比例回调。
需要说明的是,图8所示的任务分配流程实质上是在实际应用场景中执行如图2所示的任务分配方法时的完整执行流程,因此对图2中所示的任务分配方法的任意解释说明,也适用于图8所示的任务分配流程中,在此不再赘述。同样地,对图8所示的任务分配流程的任意解释说明也适用于图2所示的任务分配方法中。
本申请实施例提供了一种任务分配系统,图9是该任务分配系统的结构示意图,如图9所示,该系统包括算力服务层90,算力编排层92,算力资源层94和算力监控层96,其中,算力服务层90,用于提取目标任务的任务特征;算力编排层92,用于依据任务特征,确定目标任务在算力资源层94中的各种类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点;算力监控层96,用于监控各个算力节点的计算资源状态和计算资源使用情况,以及各个算力节点所执行的计算任务的任务运行状态和运行时间。
在本申请的一些实施例中,如图9所示,算力服务层90中还包括任务特征提取模块902,用于提取目标任务的任务特征;算力编排层92中还包括运行时间预测模块922,算力节点负载预测模块924和调度模块926,运行时间预测模块922和算力节点负载预测模块924分别用于确定目标任务的运行时间段和算力节点的负载变化趋势,调度模块926用于进行算力节点的算力调度;算力资源层94中包括基础算力节点942,智能算力节点944和超算算力节点946,分别用于执行不同需求的计算任务,具体地,基础算力节点942是基于CPU芯片提供的算力,智能算力节点944是基于GPU、FPGA、ASIC等芯片的加速计算平台所提供AI训练和推理的算力节点,超算算力节点946是基于超级计算机等高性能计算集群提供的算力;算力监控层96中包括算力资源监控模块962和算力任务监控模块964,分别用于监控各个算力节点的资源负载变化情况和运行的任务的执行情况。
需要说明的是,图9中所示的任务分配系统可用于执行图2中所示的任务分配方法或图8中所示的任务分配流程,因此对图2或图8的相关解释说明也适用于图9中所示的任务分配系统中,在此不再赘述。
本申请实施例提供了一种任务分配装置,图10是该任务分配装置的结构示意图,如图10所示,该装置包括:第一处理模块110,用于确定目标任务的任务特征;第二处理模块112,用于依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;第三处理模块114,用于确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;第四处理模块116,用于依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点。
在本申请的一些实施例中,第二处理模块112依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段的步骤包括:依据任务特征,确定目标任务的目标任务向量;确定目标任务向量与预先存储的各个第一参考任务向量之间的距离,其中,第一参考任务向量为已执行完成的计算任务的任务向量;依据距离,从各个第一参考任务向量中筛选出预设数量个第二参考任务向量;依据第二参考任务向量对应的计算任务的任务运行时间段,确定目标任务的运行时间段。
在本申请的一些实施例中,第二处理模块112依据距离,从各个第一参考任务向量中筛选出预设数量个第二参考任务向量的步骤包括:按照距离由小到大的顺序,对第一参考任务向量进行排序;确定前预设数量个第一参考任务向量为第二参考任务向量。
在本申请的一些实施例中,负载变化趋势包括各个算力节点中包含的目标资源类型对应的负载变化趋势,目标资源类型为执行目标任务时所需的算力资源的资源类型;第三处理模块114确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势的步骤包括:确定各个算力节点对应的第一负载历史记录,其中,第一负载历史记录中包括各个算力节点在第二预设时间段内的负载变化信息;依据运行时间段确定目标时间粒度,并依据目标时间粒度对第一负载历史记录进行聚合,得到第二负载历史记录;依据第二负载历史记录确定各个算力节点中包含的目标资源类型对应的负载变化趋势。
在本申请的一些实施例中,第四处理模块116依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合的步骤包括:依据预设负载阈值,从算力节点资源池中筛选得到备选算力节点集合,其中,备选算力节点集合中的备选算力节点的预测负载低于预设负载阈值;确定备选算力节点的评价分数,其中,评价分数用于体现算力节点的算力资源富余信息和负载信息;确定备选算力节点集合中评价分数最高的备选算力节点为目标算力节点集合。
在本申请的一些实施例中,预设负载阈值包括第一预设负载阈值和第二预设负载阈值,并且第一预设负载阈值小于第二预设负载阈值;第四处理模块116依据预设负载阈值,从算力节点资源池中筛选得到备选算力节点集合的步骤包括:依据第一预设负载阈值,从算力节点资源池中筛选得到第一备选算力节点集合,其中,第一备选算力节点集合中的算力节点的预测负载低于第一预设负载阈值;在第一备选算力节点集合无法运行目标任务的情况下,依据第二预设负载阈值,从算力节点资源池中确定第二备选算力节点集合,其中,第二备选算力节点集合的预测负载低于第二预设负载阈值,并且第二备选算力节点集合中包括运行的计算任务将在第一预设时间段内完成的算力节点。
在本申请的一些实施例中,第四处理模块116确定备选算力节点的评价分数的步骤包括:确定目标任务对应的目标资源类型,其中,目标资源类型为执行目标任务时所需的算力资源的资源类型;确定备选算力节点中目标资源类型的算力资源的富余信息和负载信息,并依据各个目标资源类型对应的富余信息和负载信息,确定各个目标资源类型的算力资源评价分数;确定各个目标资源类型的权重,并依据备选算力节点中各个目标资源类型的权重和算力资源评价分数,确定备选算力节点的评价分数。
需要说明的是,上述任务分配装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。另外,图10所示的任务分配装置可用于执行图2中所示的任务分配方法或图8中所示的任务分配流程,因此对图2中所示的任务分配方法和图8中所示的任务分配流程的相关解释说明也适用于本申请实施例中,在此不再赘述。
根据本申请实施例,提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行如下任务分配方法:确定目标任务的任务特征;依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点。
根据本申请实施例,提供了一种电子设备,电子设备包括处理器和存储器,处理器用于运行存储在存储器中的程序,其中,在程序运行时执行如下任务分配方法:确定目标任务的任务特征;依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点。
根据本申请实施例,提供了一种计算机程序产品,该计算机程序产品可被电子设备或处理器运行,并在运行时执行如下任务分配方法:确定目标任务的任务特征;依据任务特征,确定目标任务在目标类型的算力节点资源池上运行的运行时间段;确定算力节点资源池中的各个算力节点在运行时间段内的负载变化趋势,并依据各个算力节点的负载变化趋势,确定各个算力节点对应的预测负载;依据各个算力节点对应的预测负载,在算力节点资源池中确定目标算力节点集合,其中,目标算力节点集合为用于执行目标任务的算力节点集合,目标算力节点集合中包括至少一个算力节点。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种任务分配方法,其特征在于,包括:
确定目标任务的任务特征;
依据所述任务特征,确定所述目标任务在目标类型的算力节点资源池上运行的运行时间段;
确定所述算力节点资源池中的各个算力节点在所述运行时间段内的负载变化趋势,并依据所述各个算力节点的所述负载变化趋势,确定所述各个算力节点对应的预测负载;
依据所述各个算力节点对应的预测负载,在所述算力节点资源池中确定目标算力节点集合,其中,所述目标算力节点集合为用于执行所述目标任务的算力节点集合,所述目标算力节点集合中包括至少一个算力节点。
2.根据权利要求1所述的任务分配方法,其特征在于,所述依据所述各个算力节点对应的预测负载,在所述算力节点资源池中确定目标算力节点集合的步骤包括:
依据预设负载阈值,从所述算力节点资源池中筛选得到备选算力节点集合,其中,所述备选算力节点集合中的备选算力节点的所述预测负载低于所述预设负载阈值;
确定所述备选算力节点的评价分数,其中,所述评价分数用于体现所述算力节点的算力资源富余信息和负载信息;
依据所述评价分数从所述备选算力节点集合中确定所述目标算力节点集合。
3.根据权利要求2所述的任务分配方法,其特征在于,所述预设负载阈值包括第一预设负载阈值和第二预设负载阈值,并且所述第一预设负载阈值小于所述第二预设负载阈值;所述依据预设负载阈值,从所述算力节点资源池中筛选得到备选算力节点集合的步骤包括:
依据所述第一预设负载阈值,从所述算力节点资源池中筛选得到第一备选算力节点集合,其中,所述第一备选算力节点集合中的节点的所述预测负载低于所述第一预设负载阈值;
在所述第一备选算力节点集合无法运行所述目标任务的情况下,依据所述第二预设负载阈值,从所述算力节点资源池中确定第二备选算力节点集合,其中,所述第二备选算力节点集合中的节点的所述预测负载低于所述第二预设负载阈值,并且所述第二备选算力节点集合中包括运行的计算任务将在第一预设时间段内完成的算力节点。
4.根据权利要求2所述的任务分配方法,其特征在于,所述确定所述备选算力节点的评价分数的步骤包括:
确定所述目标任务对应的目标资源类型,其中,所述目标资源类型为执行所述目标任务时所需的算力资源的资源类型;
确定所述备选算力节点中所述目标资源类型的算力资源的富余信息和负载信息,并依据各个所述目标资源类型对应的富余信息和负载信息,确定各个所述目标资源类型的算力资源评价分数;
确定各个所述目标资源类型的权重,并依据所述备选算力节点中各个所述目标资源类型的权重和所述算力资源评价分数,确定所述备选算力节点的评价分数。
5.根据权利要求1所述的任务分配方法,其特征在于,所述依据所述任务特征,确定所述目标任务在目标类型的算力节点资源池上运行的运行时间段的步骤包括:
依据所述任务特征,确定所述目标任务的目标任务向量;
确定所述目标任务向量与预先存储的各个第一参考任务向量之间的距离,其中,所述第一参考任务向量为已执行完成的计算任务的任务向量;
依据所述距离,从所述各个第一参考任务向量中筛选出预设数量个第二参考任务向量;
依据所述第二参考任务向量对应的计算任务的任务运行时间段,确定所述目标任务的所述运行时间段。
6.根据权利要求5所述的任务分配方法,其特征在于,所述依据所述距离,从所述各个第一参考任务向量中筛选出预设数量个第二参考任务向量的步骤包括:
按照所述距离由小到大的顺序,对所述第一参考任务向量进行排序;
确定前预设数量个所述第一参考任务向量为所述第二参考任务向量。
7.根据权利要求1所述的任务分配方法,其特征在于,所述负载变化趋势包括所述各个算力节点中包含的目标资源类型对应的负载变化趋势,所述目标资源类型为执行所述目标任务时所需的算力资源的资源类型;所述确定所述算力节点资源池中的各个算力节点在所述运行时间段内的负载变化趋势的步骤包括:
确定所述各个算力节点对应的第一负载历史记录,其中,所述第一负载历史记录中包括所述各个算力节点在第二预设时间段内的负载变化信息;
依据所述运行时间段确定目标时间粒度,并依据所述目标时间粒度对所述第一负载历史记录进行聚合,得到第二负载历史记录;
依据所述第二负载历史记录确定所述各个算力节点中包含的所述目标资源类型对应的负载变化趋势。
8.一种任务分配系统,其特征在于,包括算力服务层,算力编排层,算力资源层和算力监控层,其中,
所述算力服务层,用于提取目标任务的任务特征;
所述算力编排层,用于依据所述任务特征,确定所述目标任务在所述算力资源层中的各种类型的算力节点资源池上运行的运行时间段;确定所述算力节点资源池中的各个算力节点在所述运行时间段内的负载变化趋势,并依据所述各个算力节点的所述负载变化趋势,确定所述各个算力节点对应的预测负载;依据所述各个算力节点对应的预测负载,在所述算力节点资源池中确定目标算力节点集合,其中,所述目标算力节点集合为用于执行所述目标任务的算力节点集合,所述目标算力节点集合中包括至少一个算力节点;
所述算力监控层,用于监控所述各个算力节点的计算资源状态和计算资源使用情况,以及所述各个算力节点所执行的计算任务的任务运行状态和运行时间。
9.一种任务分配装置,其特征在于,包括:
第一处理模块,用于确定目标任务的任务特征;
第二处理模块,用于依据所述任务特征,确定所述目标任务在目标类型的算力节点资源池上运行的运行时间段;
第三处理模块,用于确定所述算力节点资源池中的各个算力节点在所述运行时间段内的负载变化趋势,并依据所述各个算力节点的所述负载变化趋势,确定所述各个算力节点对应的预测负载;
第四处理模块,用于依据所述各个算力节点对应的预测负载,在所述算力节点资源池中确定目标算力节点集合,其中,所述目标算力节点集合为用于执行所述目标任务的算力节点集合,所述目标算力节点集合中包括至少一个算力节点。
10.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的任务分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310813818.4A CN116775304A (zh) | 2023-07-04 | 2023-07-04 | 任务分配方法、系统、装置及非易失性存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310813818.4A CN116775304A (zh) | 2023-07-04 | 2023-07-04 | 任务分配方法、系统、装置及非易失性存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775304A true CN116775304A (zh) | 2023-09-19 |
Family
ID=88006236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310813818.4A Pending CN116775304A (zh) | 2023-07-04 | 2023-07-04 | 任务分配方法、系统、装置及非易失性存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775304A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117331700A (zh) * | 2023-10-24 | 2024-01-02 | 广州一玛网络科技有限公司 | 一种算力网络资源调度系统及方法 |
CN117785482A (zh) * | 2024-02-26 | 2024-03-29 | 广州尚航信息科技股份有限公司 | 一种算力网络的算力调度系统及方法 |
-
2023
- 2023-07-04 CN CN202310813818.4A patent/CN116775304A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117331700A (zh) * | 2023-10-24 | 2024-01-02 | 广州一玛网络科技有限公司 | 一种算力网络资源调度系统及方法 |
CN117331700B (zh) * | 2023-10-24 | 2024-04-19 | 广州一玛网络科技有限公司 | 一种算力网络资源调度系统及方法 |
CN117785482A (zh) * | 2024-02-26 | 2024-03-29 | 广州尚航信息科技股份有限公司 | 一种算力网络的算力调度系统及方法 |
CN117785482B (zh) * | 2024-02-26 | 2024-05-24 | 广州尚航信息科技股份有限公司 | 一种算力网络的算力调度系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7389177B2 (ja) | 連合学習方法、装置、機器及び記憶媒体 | |
CN109783237B (zh) | 一种资源配置方法及装置 | |
CN116775304A (zh) | 任务分配方法、系统、装置及非易失性存储介质 | |
Kong et al. | A belief propagation-based method for task allocation in open and dynamic cloud environments | |
CN112870726B (zh) | 图形处理器的资源分配方法、装置和存储介质 | |
CN113599803A (zh) | 一种基于边缘计算的数据处理方法、设备及可读存储介质 | |
CN110519370B (zh) | 一种基于设施选址问题的边缘计算资源分配方法 | |
CN112181613B (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
CN111506434B (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
CN113434294A (zh) | 一种数据处理方法、计算机设备以及可读存储介质 | |
CN115543577B (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
CN115033352A (zh) | 多核处理器任务调度方法、装置及设备、存储介质 | |
CN114816738A (zh) | 算力节点的确定方法、装置、设备及计算机可读存储介质 | |
CN114356587A (zh) | 算力任务跨区域调度方法、系统及设备 | |
Seyed Aboutorabi et al. | An optimized meta-heuristic bees algorithm for players’ frame rate allocation problem in cloud gaming environments | |
CN113850394B (zh) | 联邦学习方法、装置、电子设备及存储介质 | |
CN111902790B (zh) | 一种调频方法、装置及计算机可读存储介质 | |
CN117311973A (zh) | 计算设备调度方法、装置、非易失性存储介质及电子设备 | |
CN115840649B (zh) | 划分容量块式虚拟资源分配方法及装置、存储介质和终端 | |
CN111046156A (zh) | 奖励数据的确定方法、装置和服务器 | |
CN114140033B (zh) | 一种服务人员的分配方法、装置、电子设备及存储介质 | |
CN115454620A (zh) | 负载预测方法、装置、电子设备及存储介质 | |
CN116339932A (zh) | 资源调度方法、装置和服务器 | |
CN113747504A (zh) | 多接入边缘计算联合任务卸载和资源分配的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |