CN115586961A - 一种ai平台计算资源任务调度方法、装置及介质 - Google Patents
一种ai平台计算资源任务调度方法、装置及介质 Download PDFInfo
- Publication number
- CN115586961A CN115586961A CN202211190695.5A CN202211190695A CN115586961A CN 115586961 A CN115586961 A CN 115586961A CN 202211190695 A CN202211190695 A CN 202211190695A CN 115586961 A CN115586961 A CN 115586961A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- utilization rate
- processor
- threshold
- 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 74
- 238000011161 development Methods 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 13
- 238000012549 training Methods 0.000 abstract description 42
- 230000008569 process Effects 0.000 abstract description 19
- 238000013473 artificial intelligence Methods 0.000 description 84
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种AI平台计算资源任务调度方法、装置及介质,涉及AI领域,为了充分利用计算资源处理AI训练平台的训练任务,本申请将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。减少任务的排队时间,提高平台任务吞吐量,通过优化改进任务提交调度流程,基于计算资源利用率阈值,在保证任务正常运行的前提下,充分利用有限的计算资源,运行更多的任务,提高AI平台的效率。
Description
技术领域
本申请涉及AI领域,特别是涉及一种AI平台计算资源任务调度方法、装置及介质。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的进一步发展,算力、数据的规模在不断扩大,算法更新迭代也在加速。人工智能的技术应用在了医疗、金融、交通等各个领域,因此,如何可以快速获取高精度、可靠性高的AI模型,就成为企业、科研院所需要解决的问题。目前基于AI训练平台训练任务的流程:当用户提交任务的时候,主要有两类任务类型,一种是具有交互性功能的开发类任务;一种是无需交互性自动托管的训练类任务。开发类的任务定位是用户主要用此环境开发编写调试算法代码的;训练类的任务定位是长时间运行的任务,需要平台自动托管的。通常AI训练平台的会将节点资源进行分组,运行开发类型的任务为开发资源组,运行训练类型的任务为训练资源组,用户只能创建相应类型的任务到对应的资源组中。为了缓解资源紧张的问题,一般开发资源组的处理器资源是共享的,一个处理器被多个开发类型的任务共用;但训练类任务,为了保证任务的训练的可靠性与稳定性,处理器主资源常常是独占的。
对于上述通过训练平台进行任务的调度与训练,在资源数目有限,而使用用户人数有多的情况下,常常会面临这样一个问题:当开发资源组中的任务数目不多,计算资源有空闲的情况下,但用户也无法提交训练类任务运行在开发资源组中;除此之外,由于具体的AI业务不同,用户所用的深度学习框架、算法、处理的数据也是有所不同的;因此,存在使用计算资源少的任务。最终,计算资源没有得到充分的利用,并且用户的提交的一些任务也无法被调度运行。
由此可见,如何充分利用计算资源处理AI训练平台的训练任务,是本领域人员亟待解决的技术问题。
发明内容
本申请的目的是提供一种充分利用计算资源处理AI训练平台的训练任务的AI平台计算资源任务调度方法。
为解决上述技术问题,本申请提供一种AI平台计算资源任务调度方法,包括:
接收待执行任务;
确定所述待执行任务的计算资源利用率阈值;
根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器;
控制所述处理器执行所述待执行任务。
优选地,上述的AI平台计算资源任务调度方法中,所述确定所述待执行任务的资源利用率阈值,包括:
接收预估资源利用率阈值;
将所述预估资源利用率阈值作为所述计算资源利用率阈值。
优选地,上述的AI平台计算资源任务调度方法中,所述确定所述待执行任务的资源利用率阈值,包括:
接收预估资源利用率阈值;
根据所述待执行任务的任务类型获取对应的预设资源利用率阈值;
根据所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值。
优选地,上述的AI平台计算资源任务调度方法中,所述根据所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值,包括:
根据所述预估资源利用率阈值、所述预设资源利用率阈值、第一公式得到所述计算资源利用率阈值;
其中,所述第一公式为:U=(U1*ω+U2)/2;
U为所述计算资源利用率阈值,U1为所述预估资源利用率阈值,U2为所述预设资源利用率阈值,ω为预设误差权重。
优选地,上述的AI平台计算资源任务调度方法中,所述根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器,包括:
获取当前所述处理器的占用状态;
根据所述占用状态判断是否存在空闲的所述处理器;
若是,若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为共享;
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为独占。
优选地,上述的AI平台计算资源任务调度方法中,若不存在空闲的所述处理器,则还包括:
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于共享状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器;
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于独占状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器。
优选地,上述的AI平台计算资源任务调度方法中,所述预设误差权重为上一个所述待执行任务的实际资源利用率阈值与所述计算资源利用率阈值的误差对应的修正权重值。
为解决上述技术问题,本申请还提供一种AI平台计算资源任务调度装置,包括:
接收模块,用于接收待执行任务;
确定模块,用于确定所述待执行任务的计算资源利用率阈值;
选择模块,用于根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器;
执行模块,用于控制所述处理器执行所述待执行任务。
为解决上述技术问题,本申请还提供一种AI平台计算资源任务调度装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的AI平台计算资源任务调度方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的AI平台计算资源任务调度方法的步骤。
本申请所提供的AI平台计算资源任务调度方法,接收待执行任务,确定待执行任务的计算资源利用率阈值,根据计算资源利用率阈值及待执行任务的任务类型选择适宜的处理器,控制处理器执行待执行任务。本发明针对AI平台,当用户物理集群资源有限,而使用平台的用户又相对较多,在任务调度过程中,将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。减少任务的排队时间,提高平台任务吞吐量,通过优化改进任务提交调度流程,基于计算资源利用率阈值,在保证任务正常运行的前提下,充分利用有限的计算资源,运行更多的任务,提高AI平台的效率。
另外,本申请还提供一种装置及介质,包括上述AI平台计算资源任务调度方法,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种AI平台计算资源任务调度方法的流程图;
图2为本申请实施例提供的一种AI平台计算资源任务调度装置的结构图,
图3为本申请实施例提供的另一种AI平台计算资源任务调度装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种AI平台计算资源任务调度方法、装置及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
现在到处都有AI的应用,无论是金融建模、自动驾驶、智能机器人、新材料发现、脑神经科学、医疗影像分析等等,而人工智能时代的发展极度以来计算力的支持。人工智能的核心是算法,深度学习是目前主流的人工智能算法。人工智能的技术应用在了医疗、金融、交通等各个领域,因此,如何可以快速获取高精度、可靠性高的AI模型,就成为企业、科研院所需要解决的问题。针对AI模型训练的场景,业界通常基于物理节点搭建资源平台,利用容器或虚拟化的技术,当用户提交任务时,首先要申请资源,配置任务运行相关的参数;然后由资源平台分配资源与调度,完成任务的下发,使任务运行在合适的物理节点上,最终生成高质量的模型。然而,并不是所有的用户都有充足的计算资源可以使用,当计算资源有限,使用用户较多,提交大量的开发训练任务时,如何保证计算资源达到充分的利用和更多的任务可以运行,是AI训练平台必须解决的难题。
目前基于AI训练平台训练任务的流程:当用户提交任务的时候,主要有两类任务类型,一种是具有交互性功能的开发类任务;一种是无需交互性自动托管的训练类任务。开发类的任务定位是用户主要用此环境开发编写调试算法代码的;训练类的任务定位是长时间运行的任务,需要平台自动托管的。通常AI训练平台的会将节点资源进行分组,运行开发类型的任务为开发资源组,运行训练类型的任务为训练资源组,用户只能创建相应类型的任务到对应的资源组中。
为了缓解资源紧张的问题,一般开发资源组的处理器计算资源是共享的,一个处理器被多个开发类型的任务共用;但训练任务,为了保证任务的训练的可靠性与稳定性,处理器主资源常常是独占的。
对于上述通过训练平台进行任务的调度与训练,在资源数目有限,而使用用户人数有多的情况下,常常会面临这样一个问题:当开发资源组中的任务数目不多,计算资源有空闲的情况下,但用户也无法提交训练任务运行在开发资源组中;除此之外,由于具体的AI业务不同,用户所用的深度学习框架、算法、处理的数据也是有所不同的;因此,存在使用计算资源少的任务。最终,计算资源没有得到充分的利用,并且用户的提交的一些任务也无法被调度运行。
为解决上述问题,本实施例提供一种AI平台计算资源任务调度方法,图1为本申请实施例提供的一种AI平台计算资源任务调度方法的流程图,如图1所示,包括:
S11:接收待执行任务;
S12:确定待执行任务的计算资源利用率阈值;
S13:根据计算资源利用率阈值及待执行任务的任务类型选择适宜的处理器;
S14:控制处理器执行待执行任务。
现在到处都有AI的应用,无论是金融建模、自动驾驶、智能机器人、新材料发现、脑神经科学、医疗影像分析等等,而人工智能时代的发展极度以来计算力的支持。人工智能的核心是算法,深度学习是目前主流的人工智能算法。而中央处理器(central processingunit,CPU)无法做到大量数据并行计算的能力,图形处理器(graphics processing unit,GPU)的特点是有大量的核心和高速内存,擅长并行计算,所以超算常用到GPU,各核之间的独立性相比CPU要低的很多。GPU本身擅长的就是海量数据的快速处理。人们利用GPU来训练这些深度神经网络,所使用的训练集大的多,所耗费的时间也大幅缩短,占用的数据中心基础设施也少得多。GPU还可以用于运行这些机器学习训练模型,以便在云端进行分类和预测,从而在耗费功率更低、占用基础设施更少的情况下能够支持远比从前更大的数据量和吞吐量。GPU多线程,提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算,处理神经网络数据远远高效于CPU。GPU拥有更高的访存速度和更高的浮点运算能力。因此,GPU比CPU更适合深度学习中的大量训练数据、大量矩阵、卷积运算。优选地,本实施例提到的处理器为GPU。
步骤S11接收待执行任务,为用户上传的待执行任务,通常分为开发类和训练类,确定待执行任务的计算资源利用率阈值,本实施例提到的计算资源利用率阈值为该待执行任务需要使用的计算资源量,计算资源利用率阈值可以由用户自行设置,也可以由AI平台提供。根据实际需要设置即可。
根据计算资源利用率阈值及待执行任务的任务类型选择适宜的处理器,当平台计算资源有限,使用平台的用户相对较多时,其难免存在排队等待资源的任务。如果将节点资源进行分组,限制不同类型的任务运行的节点,一定程度上会造成有空闲的计算资源而任务得不到调度的情况。在本申请中,不对计算资源,即处理器进行分组,所有的处理器都可以由于执行训练类任务,也可以用于执行开发类任务。只需要根据待执行任务的计算资源利用率阈值选择当前核实的处理器即可,在保证任务正常运行的前提下,充分利用有限的计算资源,运行更多的任务,提高AI平台的效率。
本实施例提供的AI平台计算资源任务调度方法,包括接收待执行任务,确定待执行任务的计算资源利用率阈值,根据计算资源利用率阈值及待执行任务的任务类型选择适宜的处理器,控制处理器执行待执行任务。本发明针对AI平台,当用户物理集群资源有限,而使用平台的用户又相对较多,在任务调度过程中,将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。减少任务的排队时间,提高平台任务吞吐量,通过优化改进任务提交调度流程,基于计算资源利用率阈值,在保证任务正常运行的前提下,充分利用有限的计算资源,运行更多的任务,提高AI平台的效率。
根据上述实施例,在AI平台运行初期,由于历史任务较少,可参考数据不足,因此,本实施例提供一种优选方案,所述确定所述待执行任务的资源利用率阈值,包括:
接收预估资源利用率阈值;
将所述预估资源利用率阈值作为所述计算资源利用率阈值。
当用户通过AI平台提交待执行任务时,平台会让用户输入此待执行任务运行过程中预估的计算资源利用率阈值。此阈值是用户基于待执行任务所用的深度学习框架,算法代码,数据集等进行的主观预估。用户输入的待执行任务的预估资源利用率阈值将作为此待执行任务的计算资源利用率阈值。将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。
根据上述实施例,当不同用户的任务在AI平台提交、运行的次数越来越多,之后平台将会基于用户已完成任务的计算资源性能监控记录,综合分析输出一个资源利用率阈值,因此,本实施例提个一种优选方案,上述AI平台计算资源任务调度方法中,所述确定所述待执行任务的资源利用率阈值,包括:
接收预估资源利用率阈值;
根据所述待执行任务的任务类型获取对应的预设资源利用率阈值;
根据所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值。
本实施例提到的预估资源利用率阈值是用户自行设置的,预设资源利用率阈值是AI平台根据以往执行任务记录综合分析输出的资源利用率阈值,本实施例通过所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值,将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。
本实施例提供一种确定最终计算资源利用率阈值的优选方案,所述根据所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值,包括:
根据所述预估资源利用率阈值、所述预设资源利用率阈值、第一公式得到所述计算资源利用率阈值;
其中,所述第一公式为:U=(U1*ω+U2)/2;
U为所述计算资源利用率阈值,U1为所述预估资源利用率阈值,U2为所述预设资源利用率阈值,ω为预设误差权重。
由于预估资源利用率阈值较为重要,对于用户输入的预估资源利用率阈值U1,当每一个任务执行完成之后,平台将会与平台采集到的此任务的实际资源利用阈值与计算资源利用率阈值进行对比,如果相差很大,则此用户后续输入的预估计算资源率阈值平台将会进行修正。如下表所示,根据上一次用户的预估计算资源利用率阈值与平台记录的实际资源利用阈值的误差,赋予不同的修正权重。
表1利用率误差与权重对应表
利用率误差(单位%) | 0-5 | 5-20 | 20-50 | >50 |
权重ω | 0.9 | 0.8 | 0.5 | 0.1 |
AI平台在任务运行过程中,会将任务所用的深度学习框架、算法类型、数据集规模、计算资源利用率等进行记录,因此,当通过AI平台提交一个新的任务时,最终的任务计算资源利用率阈值会综合考虑用户输入的预估任务计算资源利用率,以及通过对比分析所提交任务与已完成任务的有效信息,结合其修正权重,根据U=(U1*ω+U2)/2得到待执行任务的计算资源利用率阈值。将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。
本实施例提供一种选择计算资源处理器的优选方案,所述根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器,包括:
获取当前所述处理器的占用状态;
根据所述占用状态判断是否存在空闲的所述处理器;
若是,若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为共享;
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为独占。
获取当前所述处理器的占用状态;根据所述占用状态判断是否存在空闲的所述处理器;若是,若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为共享;若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为独占。当用户提交开发类型的待执行任务时,平台会将此任务分配调度到可用的计算资源上,此处理器设置为可以共享的;当用户提交训练类的待执行任务时,平台首先会将此任务分配调度到可用的计算资源上,此处理器设置为独占的状态。
若当前任务队列中存在排队的任务时,计算资源不足时,本实施例提供一种优选方案,若不存在空闲的所述处理器,则还包括:
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于共享状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器;
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于独占状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器。
当任务队列中存在排队的任务时,如果待执行任务的任务类型为开发类,等待调度的时候,通过分析当前处于共享的状态的处理器的利用率以及此待执行任务的计算资源利用率阈值,如果两者之和小于100%,此开发类的待执行任务将完成调度;如果待执行任务的任务类型为开发类,等待调度的是时候,通过分析当前处于独占情况下的处理器的利用率以及此待执行任务的计算资源利用率阈值,如果两者之后小于100%,此训练类的待执行任务将完成调度。
另外,本实施例还提供一种优选方案,若存在多个满足条件的处理器,优先选择预设时间内开始执行任务的处理器作为待执行任务的处理器。
在上述实施例中,对于AI平台计算资源任务调度方法进行了详细描述,本申请还提供AI平台计算资源任务调度装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图2为本申请实施例提供的一种AI平台计算资源任务调度装置的结构图,如图2所示,AI平台计算资源任务调度装置,包括:
接收模块21,用于接收待执行任务;
确定模块22,用于确定所述待执行任务的计算资源利用率阈值;
选择模块23,用于根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器;
执行模块24,用于控制所述处理器执行所述待执行任务。
本实施例提供的AI平台计算资源任务调度装置,接收模块21接收待执行任务,确定模块22确定所述待执行任务的计算资源利用率阈值,选择模块23根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器,执行模块24控制所述处理器执行所述待执行任务。当用户物理集群资源有限,而使用平台的用户又相对较多,在任务调度过程中,将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。减少任务的排队时间,提高平台任务吞吐量,通过优化改进任务提交调度流程,基于计算资源利用率阈值,在保证任务正常运行的前提下,充分利用有限的计算资源,运行更多的任务,提高AI平台的效率。
另外,该装置还包括:
接收模块21包括第一接收子单元,用于接收预估资源利用率阈值;
第一确定子单元,用于将所述预估资源利用率阈值作为所述计算资源利用率阈值。
第一获取子单元,根据所述待执行任务的任务类型获取对应的预设资源利用率阈值;
第二确定子单元,用于根据所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值。
第二确定子单元,还用于根据所述预估资源利用率阈值、所述预设资源利用率阈值、第一公式得到所述计算资源利用率阈值;
其中,所述第一公式为:U=(U1*ω+U2)/2;
U1为所述预估资源利用率阈值,U2为所述预设资源利用率阈值,ω为预设误差权重。
选择模块23还包括:第二获取子单元,用于获取当前所述处理器的占用状态;
判断子单元,用于根据所述占用状态判断是否存在空闲的所述处理器;
若是,开发选择子单元,用于若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为共享;
训练选择子单元,用于若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为独占。
若不存在空闲的所述处理器,开发选择子单元,还用于若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于共享状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器;
训练选择子单元,还用于若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于独占状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本申请实施例提供的另一种AI平台计算资源任务调度装置的结构图,如图3所示,AI平台计算资源任务调度装置包括:存储器30,用于存储计算机程序;
处理器31,用于执行计算机程序时实现如上述实施例(AI平台计算资源任务调度方法)获取用户操作习惯信息的方法的步骤。
本实施例提供的AI平台计算资源任务调度装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的AI平台计算资源任务调度方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于实现AI平台计算资源任务调度方法所涉及到的数据等。
在一些实施例中,AI平台计算资源任务调度装置还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。
本领域技术人员可以理解,图3中示出的结构并不构成对AI平台计算资源任务调度装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的AI平台计算资源任务调度装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:AI平台计算资源任务调度方法,接收待执行任务,确定待执行任务的计算资源利用率阈值,根据计算资源利用率阈值及待执行任务的任务类型选择适宜的处理器,控制处理器执行待执行任务。本发明针对AI平台,当用户物理集群资源有限,而使用平台的用户又相对较多,在任务调度过程中,将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。减少任务的排队时间,提高平台任务吞吐量,通过优化改进任务提交调度流程,基于计算资源利用率阈值,在保证任务正常运行的前提下,充分利用有限的计算资源,运行更多的任务,提高AI平台的效率。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述AI平台计算资源任务调度方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质,其上存储有计算机程序,当处理器执行该程序时,可实现以下方法:AI平台计算资源任务调度方法,接收待执行任务,确定待执行任务的计算资源利用率阈值,根据计算资源利用率阈值及待执行任务的任务类型选择适宜的处理器,控制处理器执行待执行任务。本发明针对AI平台,当用户物理集群资源有限,而使用平台的用户又相对较多,在任务调度过程中,将待执行任务计算资源利用率阈值作为影响任务调度优先级的因素,同时,在保证已运行的任务不受影响,避免出现存在空闲的计算资源,而有任务在排队,得不到训练的情况出现。减少任务的排队时间,提高平台任务吞吐量,通过优化改进任务提交调度流程,基于计算资源利用率阈值,在保证任务正常运行的前提下,充分利用有限的计算资源,运行更多的任务,提高AI平台的效率。
以上对本申请所提供的AI平台计算资源任务调度方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种AI平台计算资源任务调度方法,其特征在于,包括:
接收待执行任务;
确定所述待执行任务的计算资源利用率阈值;
根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器;
控制所述处理器执行所述待执行任务。
2.根据权利要求1所述的AI平台计算资源任务调度方法,其特征在于,所述确定所述待执行任务的资源利用率阈值,包括:
接收预估资源利用率阈值;
将所述预估资源利用率阈值作为所述计算资源利用率阈值。
3.根据权利要求1所述的AI平台计算资源任务调度方法,其特征在于,所述确定所述待执行任务的资源利用率阈值,包括:
接收预估资源利用率阈值;
根据所述待执行任务的任务类型获取对应的预设资源利用率阈值;
根据所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值。
4.根据权利要求3所述的AI平台计算资源任务调度方法,其特征在于,所述根据所述预估资源利用率阈值和所述预设资源利用率阈值得到所述计算资源利用率阈值,包括:
根据所述预估资源利用率阈值、所述预设资源利用率阈值、第一公式得到所述计算资源利用率阈值;
其中,所述第一公式为:U=(U1*ω+U2)/2;
U为所述计算资源利用率阈值,U1为所述预估资源利用率阈值,U2为所述预设资源利用率阈值,ω为预设误差权重。
5.根据权利要求4所述的AI平台计算资源任务调度方法,其特征在于,所述根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器,包括:
获取当前所述处理器的占用状态;
根据所述占用状态判断是否存在空闲的所述处理器;
若是,若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为共享;
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至空闲的所述处理器,并将所述处理器的状态设置为独占。
6.根据权利要求5所述的AI平台计算资源任务调度方法,其特征在于,若不存在空闲的所述处理器,则还包括:
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于共享状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器;
若所述待执行任务的任务类型为开发类,将所述待执行任务分配至处于独占状态,且所述处理器的可用利用率与所述计算资源利用率阈值小于100%的所述处理器。
7.根据权利要求4所述的AI平台计算资源任务调度方法,其特征在于,所述预设误差权重为上一个所述待执行任务的实际资源利用率阈值与所述计算资源利用率阈值的误差对应的修正权重值。
8.一种AI平台计算资源任务调度装置,其特征在于,包括:
接收模块,用于接收待执行任务;
确定模块,用于确定所述待执行任务的计算资源利用率阈值;
选择模块,用于根据所述计算资源利用率阈值及所述待执行任务的任务类型选择适宜的处理器;
执行模块,用于控制所述处理器执行所述待执行任务。
9.一种AI平台计算资源任务调度装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的AI平台计算资源任务调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的AI平台计算资源任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211190695.5A CN115586961A (zh) | 2022-09-28 | 2022-09-28 | 一种ai平台计算资源任务调度方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211190695.5A CN115586961A (zh) | 2022-09-28 | 2022-09-28 | 一种ai平台计算资源任务调度方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115586961A true CN115586961A (zh) | 2023-01-10 |
Family
ID=84778064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211190695.5A Pending CN115586961A (zh) | 2022-09-28 | 2022-09-28 | 一种ai平台计算资源任务调度方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115586961A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934300A (zh) * | 2023-03-08 | 2023-04-07 | 浙江九州云信息科技有限公司 | 一种云计算平台巡检任务调度方法及系统 |
CN117032937A (zh) * | 2023-09-28 | 2023-11-10 | 之江实验室 | 基于gpu的任务调度方法、电子装置和存储介质 |
-
2022
- 2022-09-28 CN CN202211190695.5A patent/CN115586961A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934300A (zh) * | 2023-03-08 | 2023-04-07 | 浙江九州云信息科技有限公司 | 一种云计算平台巡检任务调度方法及系统 |
CN115934300B (zh) * | 2023-03-08 | 2023-06-23 | 浙江九州云信息科技有限公司 | 一种云计算平台巡检任务调度方法及系统 |
CN117032937A (zh) * | 2023-09-28 | 2023-11-10 | 之江实验室 | 基于gpu的任务调度方法、电子装置和存储介质 |
CN117032937B (zh) * | 2023-09-28 | 2024-01-09 | 之江实验室 | 基于gpu的任务调度方法、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6898496B2 (ja) | 計算グラフの処理 | |
WO2022262167A1 (zh) | 集群资源调度方法及装置、电子设备和存储介质 | |
Samadi et al. | E-HEFT: enhancement heterogeneous earliest finish time algorithm for task scheduling based on load balancing in cloud computing | |
CN110389816B (zh) | 用于资源调度的方法、装置以及计算机可读介质 | |
CN115586961A (zh) | 一种ai平台计算资源任务调度方法、装置及介质 | |
WO2018059260A1 (en) | Apparatus and method for scheduling graph computing on heterogeneous platforms based on energy efficiency | |
WO2022095815A1 (zh) | 显存管理方法、装置、设备及系统 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
US20130268941A1 (en) | Determining an allocation of resources to assign to jobs of a program | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
US20240086249A1 (en) | System, method, and medium for elastic allocation of resources for deep learning jobs | |
CN113342477A (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
CN110780991B (zh) | 一种基于优先级的深度学习任务调度方法及装置 | |
US20230325235A1 (en) | Training task queuing cause analysis method and system, device and medium | |
CN114968567A (zh) | 用于分配计算节点的计算资源的方法、装置和介质 | |
CN114579284A (zh) | 任务调度方法及装置 | |
CN115827225A (zh) | 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
US11586475B2 (en) | Application aware resource allocation for deep learning job scheduling | |
CN110955644A (zh) | 一种存储系统的io控制方法、装置、设备及存储介质 | |
Wang et al. | GPARS: Graph predictive algorithm for efficient resource scheduling in heterogeneous GPU clusters | |
CN114896076B (zh) | 一种图形处理器集群的资源分配控制方法、系统和装置 | |
CN112308304B (zh) | 工作流执行时间优化方法及装置 | |
US11954527B2 (en) | Machine learning system and resource allocation method thereof | |
US20240126460A1 (en) | Enabling persistent memory for serverless applications |
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 |