CN116501491A - 机器学习任务的资源管理方法、***、设备及介质 - Google Patents
机器学习任务的资源管理方法、***、设备及介质 Download PDFInfo
- Publication number
- CN116501491A CN116501491A CN202310411262.6A CN202310411262A CN116501491A CN 116501491 A CN116501491 A CN 116501491A CN 202310411262 A CN202310411262 A CN 202310411262A CN 116501491 A CN116501491 A CN 116501491A
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- target
- resources
- elastic
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 171
- 238000007726 management method Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 161
- 230000008569 process Effects 0.000 claims abstract description 121
- 238000013468 resource allocation Methods 0.000 claims abstract description 40
- 238000013439 planning Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000001419 dependent effect Effects 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 20
- 230000008602 contraction Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000004064 recycling Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage 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
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and 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/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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/506—Constraint
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- General Factory Administration (AREA)
Abstract
本申请实施例提供了一种机器学习任务的资源管理方法、***、设备及介质,属于机器学习技术领域。方法包括:获取机器学习中的目标任务;获取目标任务对应的资源弹性伸缩计划策略;根据资源弹性伸缩计划策略确定目标任务执行过程中不同时间段下的资源配置需求,并根据多个资源配置需求生成目标任务执行过程中不同时间段下的资源约束信息;根据资源约束信息生成分时段的弹性伸缩任务,并根据弹性伸缩任务对目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源。本申请能够提高机器学习任务中资源的利用率,降低机器学习的任务成本。
Description
技术领域
本申请涉及机器学习技术领域,尤其涉及一种机器学习任务的资源管理方法、***、设备及介质。
背景技术
机器学习任务生命周期内资源(如算力、内存、存储等)分配一般默认方法是固定进行资源的分配,而分配的资源规格需满足任务峰值时对算力的需求才可保证学习任务正常执行完毕。
但是,相关技术中,学***滑且一成不变的,而是存在波峰波谷,机器学***台资源成本升高,同时任务执行成本也会变高。
发明内容
本申请实施例的主要目的在于提出一种机器学习任务的资源管理方法、***、设备及介质,能够提高机器学习任务中资源的利用率,降低机器学习的任务成本。
为实现上述目的,本申请实施例的第一方面提出了一种机器学习任务的资源管理方法,所述方法包括:获取机器学习中的目标任务;获取所述目标任务对应的资源弹性伸缩计划策略;根据所述资源弹性伸缩计划策略确定所述目标任务执行过程中不同时间段下的资源配置需求,并根据多个所述资源配置需求生成所述目标任务执行过程中不同时间段下的资源约束信息;根据所述资源约束信息生成分时段的弹性伸缩任务,并根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源。
在一些实施例中,所述目标任务执行过程中包括第一时间段、第二时间段和第三时间段,所述目标资源包括第一目标资源、第二目标资源和第三目标资源;所述根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源,包括:获取机器学习过程中预先设置的用于执行所述目标任务的初始资源;若在所述第一时间段下所述弹性伸缩任务为资源增加任务,根据所述资源增加任务进行资源申请,得到所述初始资源以外的第一增加资源,并将所述第一增加资源和所述初始资源合并,得到所述目标任务执行过程中所述第一时间段下的所述第一目标资源;若在所述第二时间段下所述弹性伸缩任务为资源减少任务,根据所述资源减少任务进行资源选定,选定得到所述初始资源中的第一剩余资源,并将所述第一剩余资源作为所述目标任务执行过程中所述第二时间段下的所述第二目标资源;若在所述第三时间段下所述弹性伸缩任务为资源保持任务,根据所述资源保持任务将所述初始资源作为所述目标任务执行过程中所述第三时间段下的所述第三目标资源。
在一些实施例中,所述确定完成资源申请或资源选定后的资源为目标资源之后,所述方法还包括;获取所述目标任务执行过程中监控各个所述目标资源得到的状态数据;根据所述状态数据解析得到各个所述目标资源在不同时间段下的任务执行状态;当所述任务执行状态为异常状态,确定出现异常状态的时间段为目标时间段,并根据所述任务执行状态和所述资源约束信息调整所述弹性伸缩任务,得到更新后的所述弹性伸缩任务;根据更新后的所述弹性伸缩任务对所述目标时间段下的资源重新进行资源申请或资源选定,确定重新完成资源申请或资源选定后的资源为更新后的所述目标资源。
在一些实施例中,所述根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源,包括;根据所述弹性伸缩任务确定资源的调度策略为扩缩策略,并根据所述扩缩策略对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源;获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作。
在一些实施例中,所述策略调整信息包括并发控制信息;所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:获取所述目标任务相关的机器学习任务的所述并发控制信息;根据所述并发控制信息确定更新后的所述调度策略为并发策略;根据所述并发策略对所述目标任务执行过程中不同时间段下的所述弹性伸缩任务进行并发控制。
在一些实施例中,所述策略调整信息包括伸缩失败信息;所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:获取所述目标任务对应的所述弹性伸缩任务在执行时的所述伸缩失败信息;根据所述伸缩失败信息确定更新后的所述调度策略为熔断策略;根据所述熔断策略对所述目标任务执行过程中不同时间段下的所述弹性伸缩任务进行熔断控制。
在一些实施例中,所述策略调整信息包括优先级信息;所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:获取所述目标任务对应的所述弹性伸缩任务执行的所述优先级信息;根据所述优先级信息确定更新后的所述调度策略为调度优先策略;根据所述调度优先策略确定所述目标任务执行过程中不同时间段下所述弹性伸缩任务的工作优先级。
在一些实施例中,所述策略调整信息包括任务依赖信息;所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:获取所述目标任务对应的所述弹性伸缩任务对其他机任务的所述任务依赖信息;根据所述任务依赖信息确定更新后的所述调度策略为调度依赖策略;根据所述调度依赖策略确定所述目标任务执行过程中不同时间段下所述弹性伸缩任务的执行状态。
在一些实施例中,所述策略调整信息包括调度限制信息;所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:获取所述目标任务对应的所述弹性伸缩任务在执行时的所述调度限制信息;根据所述调度限制信息确定更新后的所述调度策略为调度限制策略;根据所述调度限制策略确定所述目标任务执行过程中不同时间段下所述弹性伸缩任务的执行状态。
在一些实施例中,所述获取所述目标任务对应的资源弹性伸缩计划策略,包括:获取预设的模版库,其中,所述模版库中含有多个不同的分时弹性计划模版;在所述模板库中根据所述目标任务进行匹配,确定与所述目标任务关联的所述分时弹性计划模版为目标分时弹性计划模版;根据所述目标分时弹性计划模版生成所述目标任务对应的资源弹性伸缩计划策略。
在一些实施例中,所述模版库根据以下步骤建立得到,包括:获取用户端发送的资源配置信息;根据所述资源配置信息配置弹性策略属性信息,根据所述弹性策略属性信息建立所述分时弹性计划模版,并将所述分时弹性计划模版存入预设的所述模版库中。
为实现上述目的,本申请实施例的第二方面提出了一种机器学习任务的资源管理***,所述***包括:任务确定模块,用于获取机器学习中的目标任务;伸缩计划策略确定模块,用于获取所述目标任务对应的资源弹性伸缩计划策略;资源约束确定模块,用于根据所述资源弹性伸缩计划策略确定所述目标任务执行过程中不同时间段下的资源配置需求,并根据多个所述资源配置需求生成所述目标任务执行过程中不同时间段下的资源约束信息;资源调度模块,用于根据所述资源约束信息生成分时段的弹性伸缩任务,并根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面实施例所述的机器学习任务的资源管理方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面实施例所述的机器学习任务的资源管理方法。
本申请实施例提出的机器学习任务的资源管理方法、***、设备及介质,机器学习任务的资源管理方法可以应用在机器学习任务的资源管理***中。通过执行机器学习任务的资源管理方法,可以为目标任务设置对应的资源弹性伸缩计划策略,并在目标任务触发后,根据资源弹性伸缩计划策略得到目标任务执行过程中不同时间段下的资源配置需求,从而基于资源配置需求生成资源约束信息,后续在目标任务执行过程中,根据资源约束信息可以生成分时段的弹性伸缩任务,并基于弹性伸缩任务进行分时段的资源申请或资源选定,确定最终需要用到的资源为目标资源,本申请实施例可以使机器学习任务过程中资源分配与学习任务资源需求贴合,能够提高机器学习任务中资源的利用率,降低机器学习的任务成本。
附图说明
图1是本申请实施例提供的机器学***台示意图;
图2是基于图1的资源弹性伸缩流程示意图;
图3是本申请实施例提供的机器学习任务的资源管理方法的流程示意图;
图4是图3中的步骤S104的流程示意图;
图5是图3中的步骤S104之后的流程示意图;
图6是图3中的步骤S104之中根据调度策略进行调度调整的流程示意图;
图7是图6中的步骤S402之中进行并发控制的流程示意图;
图8是图6中的步骤S402之中进行熔断控制的流程示意图;
图9是图6中的步骤S402之中进行调度优先控制的流程示意图;
图10是图6中的步骤S402之中进行调度依赖控制的流程示意图;
图11是图6中的步骤S402之中进行调度限制控制的流程示意图;
图12是图3中的步骤S102的流程示意图;
图13是图12中的步骤S1001中模版库建立流程示意图;
图14是本申请实施例提供的机器学习任务的资源管理***的功能模块示意图;
图15是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用***的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家***等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习任务生命周期内资源(如算力、内存、存储等)分配一般默认方法是固定进行资源的分配,而分配的资源规格需满足任务峰值时对算力的需求才可保证学习任务正常执行完毕。
但是,相关技术中,学***滑且一成不变的,而是存在波峰波谷,机器学***台资源成本升高,同时任务执行成本也会变高,平台学习任务吞吐量受限等。
基于此,本申请实施例提供了一种机器学习任务的资源管理方法、***、设备及介质,可以通过一个模型实现多种不同的机器学习任务的资源管理任务,能够提高***的通用性,降低机器学习任务的资源管理的成本和难度。
本申请实施例提供的机器学习任务的资源管理方法、***、设备及介质,具体通过如下实施例进行说明,首先描述本申请实施例中的机器学习任务的资源管理***。
示例性的,如图1所示,机器学习任务的资源管理***中设置有多个模块,分别是:
监控采集和分析模块(Monitor),该模块负责采集学习任务侧上报的状态数据,该状态数据为任务实时指标项数值,可以同步掌控任务执行动态并决策资源弹性伸缩需求;
分时弹性计划模块(ElasticPlan),该模块将用户资源需求同学***台提供了完备的弹性伸缩计划管理功能,如增、删、改、查以及具体任务触发等;
资源弹性伸缩任务模版(TaskTemplate),该模版可以根据任务启动参数、任务各步骤逻辑以及步骤间上下文信息传递等制定弹性伸缩任务,另外也包含弹性伸缩任务相关调度策略;
资源弹性伸缩任务调度模块(TaskScheduler),该模块依据上述任务模版定义的调度策略,作为最终的约束条件,触发资源弹性伸缩任务启动执行;
资源弹性扩缩任务模块(ScaleIn/Out Task),该模块具体任务记录,包含详细的任务执行参数,以任务执行记录的元数据跟踪任务执行状态,并可以通过任务事件来干预执行过程,满足一些特定场景的处理预案;
弹性伸缩任务流模块(WorkFlow),任务流执行资源弹性伸缩定义的各步骤逻辑,维护串联步骤的上下文信息,任务流与学习任务的资源环境命令交互,实现资源的动态扩缩;
机器学习任务部署运行Agent端(JobAgent),该模块既可以将任务侧各个资源实时运行状态的监控数据上报到Monitor模块,又可以与任务流模块之间建立命令通道,接收资源对象的扩缩操作指令,并应用到学习任务中。
具体的,Monitor通过监控、采集流程获取学习任务执行过程中的资源负载和性能指标等信息,对采集信息进行特定逻辑分析,实时判断任务执行状态以及任务之下的各类资源运行情况,掌控资源运行的突发状况,能够实时动态的生成有效资源调度及资源伸缩决策,触发资源弹性伸缩任务来应对突发;不仅如此,Monitor会监控用户针对学习任务设置的资源弹性计划,分析用户资源需求,有计划的执行实例资源的扩缩任务,Monitor在该过程起到居中调度决策的作用。
机器学***台,平台学习任务的资源弹性伸缩流程如下图2所示,现详细描述各步骤逻辑如下:
1.创建弹性计划(Create Elastic Plan):平台用户依据自身学习任务特征,创建配置资源弹性伸缩的计划,该计划的元数据是可以约束弹性伸缩的相关参数,限定资源伸缩策略、资源类型、伸缩上下限等;
2.生成弹性记录(Generate Elastic Record):机器学习任务触发后,上述计划会自动生成待执行弹性伸缩记录,用于跟踪学习任务的资源弹性伸缩操作,并提供具体约束信息,后续流程会结合该约束和学习任务的实时动态,生成弹性伸缩任务流;
3.监控作业(Monitor Job):机器学习任务执行过程中,任务侧Agent接口实时上报监控状态数据,服务端接收后动态分析任务特征,决策资源弹性伸缩目标;
4.创建弹性任务(Create Elastic Task):结合2、3步骤得出的弹性计划约束和动态弹性目标,可生成最终弹性伸缩任务,放入任务队列等待调度执行,包含资源伸缩最终目标参数和任务执行的上下文配置;
5.安排任务(Schedule Task)和任务流任务(PipeLine Task):任务调度模块通过任务模版的既定策略,包括并发策略、熔断策略、调度优先级、调度依赖、调度限制等,调度等待队列中待执行弹性伸缩任务,同时触发工作流并创建记录用来运维真正执行过程;
6.伸缩资源(Scaleln/Out Resource):工作流串联任务各逻辑步骤,完成资源弹性伸缩的资源申请(扩容时)或学习任务的资源选定(缩容时),以及后续资源初始化准备工作,最后完成目标资源从学习任务中上线或下线。
此外,分时段资源弹性计划设置生效流程具体如下:
1.首先用户创建分时弹性计划模版,模版中包含弹性策略属性信息,如:计划开始/结束日期、重复执行周期、资源弹性伸缩量化指标等;
2.用户选择将具体机器学习任务实例与已创建分时弹性计划模版关联(多对多关联关系),用于任务执行过程中的资源约束;
3.机器学习任务触发执行后,其关联的分时弹性计划模版自动生成具体弹性计划策略;
4.依据弹性计划的执行策略和资源分配策略,生成具体关联的资源伸缩任务,并通过任务调度器完成后续资源伸缩任务流的执行。
该机器学***台资源管理能力,平台可实时动态调整任务资源,任务资源具备弹性伸缩能力。平台对算力资源池资源管理更合理,学***台对资源具备更多操作空间和运营可能性,不仅能够提高平台资源利用率,提升平台任务并发吞吐量,让资源池资源得到更加充分的利用,甚至更能使平台资源具备超卖能力。
基于此,本申请实施例中的机器学习任务的资源管理方法可以通过如下实施例进行说明。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的机器学***板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式***,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现机器学习任务的资源管理方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,例如,获取用户存储的数据以及用户的缓存数据访问请求时,均会先获得用户的许可或者同意;在获取资源的数据时,本申请实施例会先获得用户的许可或者同意。而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
图3是本申请实施例提供的机器学习任务的资源管理方法的一个可选的流程图,图3中的方法可以包括但不限于包括步骤S101至步骤S104。
步骤S101,获取机器学习中的目标任务;
需要说明的是,本申请实施例中的机器学***台,即机器学习平台,在此不做限制。
示例性的,机器学习当中可能存在有多个需要执行的任务,本申请实施例中可以针对任意一个机器学习任务进行资源的弹性伸缩控制,而在具体执行过程中,可以选定当前进行资源管理的任务为目标任务。
步骤S102,获取目标任务对应的资源弹性伸缩计划策略;
上述资源弹性伸缩计划策略描述了任务执行过程中不同时间段下的资源需求,是对应的资源弹性伸缩计划下的具体策略,资源伸缩也可以叫资源扩缩。资源弹性伸缩计划策略可以是预先根据需求参数生成的,也可以是从预存的多个策略中匹配的到的,还可以是其他途径得到的,本申请实施例不做具体限制。
其中,本申请实施例中所说的资源,可以是机器学习过程中任务运行所需要的任何硬件资源类型,例如,资源的类型可以是CPU(CentralProcessingUnit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、内存和任意其他形式的处理器等。
示例性的,获取目标任务对应的资源弹性伸缩计划策略可以是自动匹配实现的,也就是说,***可以在确定需要弹性伸缩控制的目标任务后,根据目标任务的标识码或其他标识,与预存的多个策略进行匹配,从而确定所需要的资源弹性伸缩计划策略;此外,资源弹性伸缩计划策略还可以是人工选择得到,在确定需要弹性伸缩控制的目标任务后,***可以接收用户发送的选择指令,并响应于用户的选择指令选择资源弹性伸缩计划策略。
步骤S103,根据资源弹性伸缩计划策略确定目标任务执行过程中不同时间段下的资源配置需求,并根据多个资源配置需求生成目标任务执行过程中不同时间段下的资源约束信息;
上述资源配置需求是机器学习任务在执行过程中,不同时间段下所需要的资源需求量的需求,例如,在某个时间段下,需要4个单位的CPU和2个单位的内存,而在另一时间段下,需要8个单位的CPU和8个单位的内存。
可以理解的是,资源弹性伸缩计划策略是描述整个任务周期内的控制策略,除了包含有资源需求量外,资源弹性伸缩计划策略还可以包含有其他的控制内容,例如,可以包含有任务执行的起止时间、周期性进行机器学习的周期次数、所需要的资源类型和可供资源伸缩的上下限等。
上述资源约束信息用于对机器学习过程中的资源调度情况进行限制,可以约束不同时间段下的资源使用情况,例如,若资源配置需求表征在某个时间段下,需要4个单位的CPU和2个单位的内存,而在另一时间段下,需要8个单位的CPU和8个单位的内存,则此时资源约束信息可以根据资源配置需求进行约束设置,以约束在某个时段段下使用4个单位的CPU和2个单位的内存,并约束另一时间段下使用8个单位的CPU和8个单位的内存。
可以理解的是,本申请实施例中的资源约束信息可以与资源配置需求相对应,也就是根据计划设置得到的需求后,设置对等的资源约束情况。此外,若在机器学习过程中接收到其他控制策略或足以影响当前目标任务的机器学习过程的信息,也可以据此对资源约束信息进行调节,在此不做具体限制。
步骤S104,根据资源约束信息生成分时段的弹性伸缩任务,并根据弹性伸缩任务对目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源。
上述弹性伸缩任务可以是机器学***台任务的任务流,并在机器学习执行过程中,从任务流中抽取具体的资源伸缩任务,因此,若弹性伸缩任务为一任务流,则该任务流中含有不同时段下的具体伸缩任务;此外,弹性伸缩任务也可以是机器学习过程中用于进行弹性伸缩控制的具体任务,因此,若弹性伸缩任务为一项具体任务,则根据资源约束信息生成分时段的弹性伸缩任务有多个,每个弹性伸缩任务代表对应时间段下的资源伸缩控制。
本申请实施例以弹性伸缩任务为机器学习过程中用于进行弹性伸缩控制的具体任务为例子,在机器学习中,可以存在任务流,使得机器学习的过程根据任务流执行,而弹性伸缩任务可以存入任务流中执行。
根据资源约束信息可以知道各个时间段下的资源使用情况,因此需要进行相应的资源调度,据此生成分时段的弹性伸缩任务,以对不同时间段下的资源进行调度控制。
在得到分时段的弹性伸缩任务后,***可以进行对应的资源调度,具体为根据弹性伸缩任务对目标任务执行过程中不同时间段下的资源进行资源申请或资源选定。本申请实施例中资源调度的方式有两种,若当前时间段下的资源达不到资源约束信息指示的资源使用情况时,需要进行额外的资源申请,以使该时间段下的资源达到计划要求;若当前时间段下的资源超过资源约束信息指示的资源使用情况时,需要进行资源选定,选定其中部分资源,以使该时间段下的资源达到计划要求。
目标资源是最终基于计划确定后的资源,不同时间段下的目标资源情况不同,包括类型不同或数量不同,这是根据一开始制定的资源弹性伸缩计划或者资源弹性伸缩计划策略得到的,因此,机器学习在执行目标任务时,可以通过不同时间段下的目标资源进行。
本申请实施例中目标任务在执行过程中,不同时间段下的资源是不同的,可以是类型不同,或者是数量不同,资源不是单一不变的,对资源来讲,实现了智能的弹性伸缩调节,因此可以使机器学***台资源利用最大化,因此能够提高机器学***台训练任务执行更高效,平台资源可以去实现一个更高层次的超卖能力等,最终降低机器学习的任务成本。
示例性的,目标任务执行过程中可以分为多个时间段,为了方便描述资源的弹性伸缩控制情况,可以将时间段分为三种,分别为第一时间段、第二时间段和第三时间段,可以理解的是,第一时间段、第二时间段和第三时间段均分别表示一种类型的时间段,因此上述每个均可以有多个,且每个时间段下的资源弹性伸缩幅度可以不同。
基于此,不同时间段下描述的目标资源也不同,也就是说,目标资源在不同时间段下的类型或数量可以不同。基于上述时间段的划分,可以将目标资源分为第一目标资源、第二目标资源和第三目标资源。
请参阅图4,在一些实施例中,步骤S104可以包括步骤S201至步骤S204:
步骤S201,获取机器学习过程中预先设置的用于执行目标任务的初始资源;
步骤S202,若在第一时间段下弹性伸缩任务为资源增加任务,根据资源增加任务进行资源申请,得到初始资源以外的第一增加资源,并将第一增加资源和初始资源合并,得到目标任务执行过程中第一时间段下的第一目标资源;
步骤S203,若在第二时间段下弹性伸缩任务为资源减少任务,根据资源减少任务进行资源选定,选定得到初始资源中的第一剩余资源,并将第一剩余资源作为目标任务执行过程中第二时间段下的第二目标资源;
步骤S204,若在第三时间段下弹性伸缩任务为资源保持任务,根据资源保持任务将初始资源作为目标任务执行过程中第三时间段下的第三目标资源。
示例性的,机器学***均资源。可以理解的是,每个时间段下的初始资源可以相同,也可以不相同,在此不做具体限制。
本申请实施例中的弹性伸缩任务可以分为三种,分别是资源增加任务、资源减少任务和资源保持任务。
若在第一时间段下弹性伸缩任务为资源增加任务,则需要根据资源增加任务进行资源申请,此时该时间段下的初始资源不满足计划的要求,表明该时间段下计划需要更多的资源投入到机器学习当中,因此本申请为此进行额外的资源申请,得到初始资源以外的第一增加资源,并将第一增加资源和初始资源合并,得到更多的资源,可以投入到第一时间段下的机器学习中,因此,最终得到目标任务执行过程中第一时间段下的第一目标资源。
若在第二时间段下弹性伸缩任务为资源减少任务,则需要根据资源减少任务进行资源选定,此时该时间段下的初始资源超过计划的要求,表明该时间段下计划不需要这么多的资源投入到机器学习当中,因此本申请为此在初始资源的基础上进行资源选定,选定得到初始资源中的第一剩余资源,并将第一剩余资源作为目标任务执行过程中第二时间段下的第二目标资源。
若在第三时间段下弹性伸缩任务为资源保持任务,此时该时间段下的初始资源恰好满足计划的要求,则根据资源保持任务将初始资源作为目标任务执行过程中第三时间段下的第三目标资源。
本申请实施例中根据资源伸缩任务进行资源调度的时机,可以是在目标任务的触发时进行,也可以在目标任务执行时进行。
平台可以预先得到初始资源的情况,也就是在目标任务执行之前获得初始资源,这样平台就可以直接基于资源配置需求和初始资源生成最终的资源伸缩任务;此外,平台也可以先基于资源配置需求生成初始的任务信息,并在执行目标任务时,获取具体的初始资源,再结合资源配置需求生成最终的资源伸缩任务,本申请实施例不做具体限制。
请参阅图5,在一些实施例中,步骤S104之后,还可以包括步骤S301至步骤S304:
步骤S301,获取目标任务执行过程中监控各个目标资源得到的状态数据;
步骤S302,根据状态数据解析得到各个目标资源在不同时间段下的任务执行状态;
步骤S303,当任务执行状态为异常状态,确定出现异常状态的时间段为目标时间段,并根据任务执行状态和资源约束信息调整弹性伸缩任务,得到更新后的弹性伸缩任务;
步骤S304,根据更新后的弹性伸缩任务对目标时间段下的资源重新进行资源申请或资源选定,确定重新完成资源申请或资源选定后的资源为更新后的目标资源。
示例性的,本申请实施例中可以对目标任务执行过程中,对各个目标资源的运行状态进行判断。平台可以对目标资源的运行进行监控,获取目标资源的元数据,从而将各个元数据作为对应的各个目标资源的状态数据。
示例性的,根据状态数据解析得到各个目标资源在不同时间段下的任务执行状态。可以理解的是,状态数据表征该目标资源是否处于机器学习任务的运行状态,通过各个目标资源是否处于运行中,可以得到当前时间段下目标资源的负载情况,将该负载情况作为任务执行状态。
示例性的,任务执行状态有多种,当任务执行状态为正常状态,说明当前时间段下的目标资源均处于运行中。当任务执行状态为异常状态,说明当前时间段下实际需要运行的资源,高于或低于目标资源,例如,目标资源可以认为是根据计划配置的资源阈值,当实际需要运行的资源高于目标资源,表明当前根据计划配置的资源不满足实际的任务需求,反之,当实际需要运行的资源低于目标资源,表明当前根据计划配置的资源超过了实际的任务需求。
当任务执行状态为异常状态,本申请实施例可以确定出现异常状态的时间段为目标时间段,后续方便针对识别到的目标时间段进行资源的动态调节。具体的,本申请实施例根据任务执行状态和资源约束信息调整弹性伸缩任务,得到更新后的弹性伸缩任务,并根据更新后的弹性伸缩任务对目标时间段下的资源重新进行资源申请或资源选定,确定重新完成资源申请或资源选定后的资源为更新后的目标资源。
例如,若当实际需要运行的资源高于目标资源,则更新当前时间段下的弹性伸缩任务,以根据更新后的弹性伸缩任务在目标资源的基础上申请到额外的资源,并得到更新后的目标资源,可知,更新后的目标资源的类型或数量,大于原来的目标资源的类型或数量;反之,若当实际需要运行的资源低于目标资源,则更新当前时间段下的弹性伸缩任务,以根据更新后的弹性伸缩任务在目标资源的基础上再进行资源选定,并得到更新后的目标资源,可知,更新后的目标资源的类型或数量,小于原来的目标资源的类型或数量。
可以理解的是,资源申请和资源选定的过程在上述实施例中已有描述,在此不再赘述。
示例性的,本申请实施例中还可以根据计划,也即根据资源弹性伸缩计划策略设定动态调节过程中资源的最高上限或最低下限。其中,通过设定最高上限,可以限定动态调节后目标资源的最多类型和最多数量,避免机器学习过程中成本过高,或者让目标任务的执行影响到其他并发执行的机器学习任务;而通过设定最低下限,可以限定动态调节后目标资源的最少类型和最少数量,避免当前目标任务执行过程中,突然出现无可利用的资源的情况,保证了机器学习的正常进行。
本申请实施例中通过上述手段,可以动态调节资源的弹性伸缩任务,使得本申请实施例实现了将用户训练任务的资源成本与学***台的资源弹性计划管理功能,以及如何感知算法执行的实时状态,并预测资源需求量,使平台具备针对学习任务资源量的自动伸缩能力。
机器学***台任务实际执行时的资源需求,对大量学***台来说,不仅资源池资源可以被合理分配,高效使用,而且还可提升平台任务并发吞吐量,让更多任务被调度执行,更可实现机器学***台的资源超卖能力等。
请参阅图6,在一些实施例中,步骤S104之中还可以包括步骤S401至步骤S402:
步骤S401,根据弹性伸缩任务确定资源的调度策略为扩缩策略,并根据扩缩策略对目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源;
步骤S402,获取目标任务对应的策略调整信息,根据策略调整信息确定更新后的调度策略,根据更新后的调度策略对目标任务下的弹性伸缩任务进行资源调度操作。
示例性的,本申请实施例中在根据计划得到的弹性伸缩任务后,可以确定当前资源的调度策略为扩缩策略,可以理解的是,调度策略是对弹性伸缩任务的。在扩缩策略中,需要执行弹性伸缩任务,可以基于弹性伸缩任务对目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,最终确定完成资源申请或资源选定后的资源为目标资源。
但是,机器学习中还可以有其他的学习任务,或者,通过执行扩缩策略进行资源的弹性伸缩后,还会出现其他的突发情况,基于这些情况,需要对目标任务下的弹性伸缩任务进行调度调整。本申请实施例中还可以根据机器学习中任务各步骤逻辑以及步骤间上下文信息传递等,制定包含弹性伸缩任务相关调度策略,这些机器学习中任务各步骤逻辑以及步骤间上下文信息传递等可以描述为策略调整信息,除此之外,策略调整信息还可以是执行扩缩策略进行资源的弹性伸缩后出现的突发情况,在此不做具体限制。
在得到策略调整信息,需要对调度策略进行调整,从而得到更新后的调度策略,以便机器学习过程中根据更新后的调度策略对目标任务下的弹性伸缩任务进行资源调度操作。
示例性的,策略调整信息包括并发控制信息,根据更新后的调度策略对目标资源进行资源调度操作还可以如下所述:
请参阅图7,在一些实施例中,步骤S402可以包括步骤S501至步骤S503:
步骤S501,获取目标任务相关的机器学习任务的并发控制信息;
步骤S502,根据并发控制信息确定更新后的调度策略为并发策略;
步骤S503,根据并发策略对目标任务执行过程中不同时间段下的弹性伸缩任务进行并发控制。
示例性的,机器学***台可以检测是否存在其他需要并发控制的任务,据此进行调度控制。
并发控制信息是平台获取其他机器学习任务后得到的,在得到各个不同的机器学习任务后,可以了解到各个任务之间的关联,或者得知各个任务的执行时间,基于任务之间的关联或执行时间,可以知道任务之间的并发情况,从而得到并发控制信息。
在机器学***台拥有一定的承载能力,对任务的执行有一定的并发量限制,以满足平台的承载能力。因此,本申请实施例中的并发控制,是对各个机器学习任务的弹性伸缩任务进行并发控制。在确定存在并发控制信息后,表明当前的目标任务下的弹性伸缩任务需要与其他的某项或多项机器学习任务的弹性伸缩任务进行并发执行,因此需要调整调度策略,并确定更新后的调度策略为并发策略。
可以理解的是,在并发策略下,可以根据并发量的限制,控制当前的目标任务不同时间段下的弹性伸缩任务是否执行。例如,若某时间段下存在多个其他并发执行的机器学***台的限制,因此,该时间段下的弹性伸缩任务暂不执行;或者,若另一时间段下存在其他并发执行的机器学***台的限制,因此,该时间段下的弹性伸缩任务可以并发执行,可以实现同时处理多个用户的资源伸缩请求。
示例性的,并发控制的执行时间可以是在目标任务的执行之前,也就是在目标任务触发之时,在此不做具体限制。
示例性的,策略调整信息包括伸缩失败信息,根据更新后的调度策略对目标资源进行资源调度操作还可以如下所述:
请参阅图8,在一些实施例中,步骤S402还可以包括步骤S601至步骤S603:
步骤S601,获取目标任务对应的弹性伸缩任务在执行时的伸缩失败信息;
步骤S602,根据伸缩失败信息确定更新后的调度策略为熔断策略;
步骤S603,根据熔断策略对目标任务执行过程中不同时间段下的弹性伸缩任务进行熔断控制。
示例性的,机器学***台的机器学***台可以检测目标任务对应不同时段下的弹性伸缩任务在执行时的伸缩失败信息,据此进行调度控制。
伸缩失败信息是在平台执行目标任务下的弹性伸缩任务后得到的,其中,伸缩失败信息可以是整个周期内所有的弹性伸缩任务都执行失败的信息,也可以是某个时间下弹性伸缩任务执行失败的信息。
出现故障的原因有多种,可以是线网故障等,导致在执行弹性伸缩任务后出现资源伸缩失败,此时需要一种保护机制,以保证机器学习平台任务的正常执行。
示例性的,若出现伸缩失败信息,根据伸缩失败信息确定更新后的调度策略为熔断策略。在熔断策略下,需要对当前执行失败的弹性伸缩任务进行熔断控制,以停止执行该任务。
示例性的,本申请实施例中可以在出现多次资源伸缩失败后才得到伸缩失败信息,例如,平台可以设定执行次数阈值,只有在某个时间段下的弹性伸缩任务执行失败的次数达到执行次数阈值,才判断该任务执行失败,从而生成伸缩失败信息。
示例性的,平台在熔断执行失败的弹性伸缩任务后,还可以发出提示,提示的方式可以是任意形式,如消息弹窗、声音报警等,以便用户查看到资源伸缩失败的信息,从而方便用户解决问题。
示例性的,策略调整信息包括优先级信息,根据更新后的调度策略对目标资源进行资源调度操作还可以如下所述:
请参阅图9,在一些实施例中,步骤S402还可以包括步骤S701至步骤S703:
步骤S701,获取目标任务对应的弹性伸缩任务执行的优先级信息;
步骤S702,根据优先级信息确定更新后的调度策略为调度优先策略;
步骤S703,根据调度优先策略确定目标任务执行过程中不同时间段下弹性伸缩任务的工作优先级。
示例性的,机器学***台的机器学***台可以检测目标任务对应的弹性伸缩任务执行的优先级信息,据此进行调度控制。
优先级信息是在目标任务下的弹性伸缩任务的执行优先级描述,优先级信息可以是用户输入得到的,也可以是平台自动生成的。
示例性的,若存在优先级信息,根据优先级信息确定更新后的调度策略为调度优先策略。在调度优先策略下,确定目标任务执行过程中不同时间段下弹性伸缩任务的工作优先级,以确定任务流中不同任务的执行先后顺序。例如,可以为资源分配任务或资源回收任务设定更高的优先级,并在目标任务触发后,先执行资源分配任务或资源回收任务,随后才执行弹性伸缩任务,最终在执行完弹性伸缩任务后,就可以在计划的资源下执行目标任务。
示例性的,策略调整信息包括任务依赖信息,根据更新后的调度策略对目标资源进行资源调度操作还可以如下所述:
请参阅图10,在一些实施例中,步骤S402还可以包括步骤S801至步骤S803:
步骤S801,获取目标任务对应的弹性伸缩任务对其他任务的任务依赖信息;
步骤S802,根据任务依赖信息确定更新后的调度策略为调度依赖策略;
步骤S803,根据调度依赖策略确定目标任务执行过程中不同时间段下弹性伸缩任务的执行状态。
示例性的,其他任务是指平台下的其他机器学***台可以检测目标任务对应的弹性伸缩任务对其他任务的任务依赖信息,据此进行调度控制。
任务依赖信息描述了弹性伸缩任务对其他任务的依赖情况,任务依赖信息可以是用户输入得到的,也可以是平台自动生成的。
示例性的,若存在任务依赖信息,根据任务依赖信息确定更新后的调度策略为调度依赖策略。在调度依赖策略下,确定目标任务执行过程中不同时间段下弹性伸缩任务的执行状态,以确定弹性伸缩任务是否需要执行。
根据不同的任务依赖信息可以执行不同的调度依赖策略。例如,若任务依赖信息表征弹性伸缩任务对任务流中的某一资源任务有依赖,需要等待其执行完毕才可以执行弹性伸缩任务,因此在进行调度控制时,需要先执行任务流中的这个资源任务,待执行完毕才执行弹性伸缩任务;或者,若任务依赖信息表征弹性伸缩任务对任务流中的某一资源任务有依赖,需要与其一起执行,因此在进行调度控制时,需要控制这个资源任务与弹性伸缩任务一起执行;若任务依赖信息表征弹性伸缩任务对任务流中的某一资源任务有依赖,在其关闭时,弹性伸缩任务也必须关闭,因此在进行调度控制时,若检测到这个资源任务关闭了,则不再执行弹性伸缩任务。
示例性的,策略调整信息包括调度限制信息,根据更新后的调度策略对目标资源进行资源调度操作还可以如下所述:
请参阅图11,在一些实施例中,步骤S402还可以包括步骤S901至步骤S903:
步骤S901,获取目标任务对应的弹性伸缩任务在执行时的调度限制信息;
步骤S902,根据调度限制信息确定更新后的调度策略为调度限制策略;
步骤S903,根据调度限制策略确定目标任务执行过程中不同时间段下弹性伸缩任务的执行状态。
示例性的,目标任务下的弹性伸缩任务在执行时可能会有一些条件进行调度限制,例如,会结合任务流中的其他资源任务限制弹性伸缩任务的执行,以确保整个机器学***台可以检测目标任务对应的弹性伸缩任务在执行时的调度限制信息,据此进行调度控制。
调度限制信息描述了弹性伸缩任务的执行限制情况,调度限制信息可以是用户输入得到的,也可以是平台自动生成的。可以理解的是,上述任务依赖信息中也存在调度限制,也就是,某一类任务依赖信息也可以理解为调度限制信息。
示例性的,若存在调度限制信息,根据调度限制信息确定更新后的调度策略为调度限制策略。在调度限制策略下,确定目标任务执行过程中不同时间段下弹性伸缩任务的执行状态,以确定弹性伸缩任务是否需要执行。
根据不同的任务限制信息可以执行不同的调度依赖策略。部分调度限制策略与调度依赖策略类似,在此不再赘述。此外,若调度限制信息表明资源伸缩任务需要在某个时间段下执行,因此在进行调度控制时,只有在该时间段下,才可以执行资源伸缩任务。
请参阅图12,在一些实施例中,步骤S102可以包括步骤S1001至步骤S1003:
步骤S1001,获取预设的模版库,其中,模版库中含有多个不同的分时弹性计划模版;
步骤S1002,在模板库中根据目标任务进行匹配,确定与目标任务关联的分时弹性计划模版为目标分时弹性计划模版;
步骤S1003,根据目标分时弹性计划模版生成目标任务对应的资源弹性伸缩计划策略。
示例性的,平台可以预先存储有模版库,模版库用于提供具体的计划模版,使得机器学习过程中,可以从模版库中获取模版,据此建立所需要的资源弹性伸缩计划策略。
示例性的,模版库中含有多个不同的分时弹性计划模版,分时弹性计划模版可以描述有弹性策略属性信息,如资源弹性计划的开始或结束日期、重复执行周期和资源弹性伸缩量化指标等,其中,资源弹性伸缩量化指标是指机器学习在执行目标任务后所需要达到的制表,可以是成本指标,也可以是效率指标,也可以是资源的利用率指标、类型指标和使用量指标等。
不同的机器学习任务可以为其配置不同的分时弹性计划模版,以实现不同计划的资源伸缩要求。本申请实施例中可以在模板库中根据目标任务进行匹配,确定与目标任务关联的分时弹性计划模版为目标分时弹性计划模版。
可以理解的是,根据目标任务进行匹配目标分时弹性计划模版的方式多种,本申请实施例不做具体限制。例如,平台可以接收用户输入的匹配信息,根据用户的匹配信息为目标任务匹配目标分时弹性计划模版,因此用户可以选择将具体机器学***台在得到目标任务的信息后,可以根据目标任务的标识信息在模版库中进行筛选,并找到对应名称的分时弹性计划模版为关联的目标分时弹性计划模版;或者,平台设置有默认的分时弹性计划模版,可以自动推荐默认的分时弹性计划模版为目标分时弹性计划模版。
在得到目标分时弹性计划模版后,一个目标分时弹性计划模版就是一个具体的弹性伸缩计划,因此,机器学习任务触发执行后,其关联的分时弹性计划模版自动生成对应的资源弹性伸缩计划策略,以便后续生成具体关联的资源伸缩任务,并通过任务调度器完成后续资源伸缩任务流的执行。
请参阅图13,在一些实施例中,模版库根据以下步骤建立得到,可以包括步骤S1101至步骤S1102:
步骤S1101,获取用户端发送的资源配置信息;
步骤S1102,根据资源配置信息配置弹性策略属性信息,根据弹性策略属性信息建立分时弹性计划模版,并将分时弹性计划模版存入预设的模版库中。
示例性的,本申请实施例中可以通过接收用户发送的信息来制定不同的计划。具体的,平台可以设置有用户端,或者平台与用户端通信连接,以获取用户端发送的资源配置信息。
资源配置信息描述了所需要配置的资源伸缩计划的情况,平台在接收到资源配置信息后,可以根据资源配置信息配置弹性策略属性信息,如:计划开始/结束日期、重复执行周期、资源弹性伸缩量化指标等,平台再基于弹性策略属性信息建立分时弹性计划模版,并将分时弹性计划模版存入预设的模版库中。
综上,可以理解的是,本申请实施例的机器学习平台为用户提供分时弹性功能。当用户任务经过多轮次执行后,用户通过对自身算法实现逻辑的理解,以及对监控指标等信息的分析,便可以掌握算法执行特点,能够分析得出训练任务执行过程中对资源量的需求变化,做出相对精准预测,并可以对该过程不断调优。这样用户就可以通过分时弹性功能来制定训练任务执行各阶段的资源分配计划,任务启动执行后通过弹性计划来指导训练任务的资源分配。
而学习任务执行过程中有时会出现用户无法预先精准判断的资源突发需求,以及用户设置资源弹性计划覆盖不到的场景,因此需要资源动态伸缩来弥补和应对以上问题。首先,通过监控、采集流程可以感知到任务资源的运行状态,如:资源负载过高,计算资源部分硬件异常等;然后,根据感知到的状况实时分析、动态决策,触发相应学习任务的资源动态伸缩管控任务,最终抵消突发带来的影响。这里需要强调说明,弹性计划和任务动态伸缩是相互结合,也相互制约。即自动弹性伸缩的触发点由弹性计划配置,并且弹性伸缩的资源变更上下限需要满足弹性计划的资源范围,只允许在弹性计划范围内自主调控。
请参阅图14,本申请实施例还提供一种机器学习任务的资源管理***,可以实现上述机器学习任务的资源管理方法,机器学习任务的资源管理***包括:
任务确定模块1401,用于获取机器学习中的目标任务;
伸缩计划策略确定模块1402,用于获取目标任务对应的资源弹性伸缩计划策略;
资源约束确定模块1403,用于根据资源弹性伸缩计划策略确定目标任务执行过程中不同时间段下的资源配置需求,并根据多个资源配置需求生成目标任务执行过程中不同时间段下的资源约束信息;
资源调度模块1404,用于根据资源约束信息生成分时段的弹性伸缩任务,并根据弹性伸缩任务对目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源。
需要说明的是,本申请实施例中的机器学***台,即机器学习平台,在此不做限制。
示例性的,机器学习当中可能存在有多个需要执行的任务,本申请实施例中可以针对任意一个机器学习任务进行资源的弹性伸缩控制,而在具体执行过程中,可以选定当前进行资源管理的任务为目标任务。
上述资源弹性伸缩计划策略描述了任务执行过程中不同时间段下的资源需求,是对应的资源弹性伸缩计划下的具体策略。资源弹性伸缩计划策略可以是预先根据需求参数生成的,也可以是从预存的多个策略中匹配的到的,还可以是其他途径得到的,本申请实施例不做具体限制。
其中,本申请实施例中所说的资源,可以是机器学习过程中任务运行所需要的任何硬件资源类型,例如,资源的类型可以是CPU(CentralProcessingUnit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、内存和任意其他形式的处理器等。
示例性的,获取目标任务对应的资源弹性伸缩计划策略可以是自动匹配实现的,也就是说,***可以在确定需要弹性伸缩控制的目标任务后,根据目标任务的标识码或其他标识,与预存的多个策略进行匹配,从而确定所需要的资源弹性伸缩计划策略;此外,资源弹性伸缩计划策略还可以是人工选择得到,在确定需要弹性伸缩控制的目标任务后,***可以接收用户发送的选择指令,并响应于用户的选择指令选择资源弹性伸缩计划策略。
上述资源配置需求是机器学习任务在执行过程中,不同时间段下所需要的资源需求量的需求,例如,在某个时间段下,需要4个单位的CPU和2个单位的内存,而在另一时间段下,需要8个单位的CPU和8个单位的内存。
可以理解的是,资源弹性伸缩计划策略是描述整个任务周期内的控制策略,除了包含有资源需求量外,资源弹性伸缩计划策略还可以包含有其他的控制内容,例如,可以包含有任务执行的起止时间、周期性进行机器学习的周期次数、所需要的资源类型和可供资源伸缩的上下限等。
上述资源约束信息用于对机器学习过程中的资源调度情况进行限制,可以约束不同时间段下的资源使用情况,例如,若资源配置需求表征在某个时间段下,需要4个单位的CPU和2个单位的内存,而在另一时间段下,需要8个单位的CPU和8个单位的内存,则此时资源约束信息可以根据资源配置需求进行约束设置,以约束在某个时段段下使用4个单位的CPU和2个单位的内存,并约束另一时间段下使用8个单位的CPU和8个单位的内存。
可以理解的是,本申请实施例中的资源约束信息可以与资源配置需求相对应,也就是根据计划设置得到的需求后,设置对等的资源约束情况。此外,若在机器学习过程中接收到其他控制策略或足以影响当前目标任务的机器学习过程的信息,也可以据此对资源约束信息进行调节,在此不做具体限制。
上述弹性伸缩任务可以是机器学***台任务的任务流,并在机器学习执行过程中,从任务流中抽取具体的资源伸缩任务,因此,若弹性伸缩任务为一任务流,则该任务流中含有不同时段下的具体伸缩任务;此外,弹性伸缩任务也可以是机器学习过程中用于进行弹性伸缩控制的具体任务,因此,若弹性伸缩任务为一项具体任务,则根据资源约束信息生成分时段的弹性伸缩任务有多个,每个弹性伸缩任务代表对应时间段下的资源伸缩控制。
以弹性伸缩任务为机器学习过程中用于进行弹性伸缩控制的具体任务为例子,根据资源约束信息可以知道各个时间段下的资源使用情况,因此需要进行相应的资源调度,据此生成分时段的弹性伸缩任务,以对不同时间段下的资源进行调度控制。
在得到分时段的弹性伸缩任务后,***可以进行对应的资源调度,具体为根据弹性伸缩任务对目标任务执行过程中不同时间段下的资源进行资源申请或资源选定。本申请实施例中资源调度的方式有两种,若当前时间段下的资源达不到资源约束信息指示的资源使用情况时,需要进行额外的资源申请,以使该时间段下的资源达到计划要求;若当前时间段下的资源超过资源约束信息指示的资源使用情况时,需要进行资源选定,选定其中部分资源,以使该时间段下的资源达到计划要求。
目标资源是最终基于计划确定后的资源,不同时间段下的目标资源情况不同,包括类型不同或数量不同,这是根据一开始制定的资源弹性伸缩计划或者资源弹性伸缩计划策略得到的,因此,机器学习在执行目标任务时,可以通过不同时间段下的目标资源进行。
本申请实施例中目标任务在执行过程中,不同时间段下的资源是不同的,可以是类型不同,或者是数量不同,资源不是单一不变的,对资源来讲,实现了智能的弹性伸缩调节,因此可以使机器学***台资源利用最大化,因此能够提高机器学***台训练任务执行更高效,平台资源可以去实现一个更高层次的超卖能力等,最终降低机器学习的任务成本。
该机器学习任务的资源管理***的具体实施方式与上述机器学习任务的资源管理方法的具体实施例基本相同,在此不再赘述。在满足本申请实施例要求的前提下,机器学习任务的资源管理***还可以设置其他功能模块,以实现上述实施例中的机器学习任务的资源管理方法。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述机器学***板电脑、车载电脑等任意智能终端。
请参阅图15,图15示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1501,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1502,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器1502可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1502中,并由处理器1501来调用执行本申请实施例的机器学习任务的资源管理方法;
输入/输出接口1503,用于实现信息输入及输出;
通信接口1504,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1505,在设备的各个组件(例如处理器1501、存储器1502、输入/输出接口1503和通信接口1504)之间传输信息;
其中处理器1501、存储器1502、输入/输出接口1503和通信接口1504通过总线1505实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述机器学习任务的资源管理方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (14)
1.一种机器学习任务的资源管理方法,其特征在于,所述方法包括:
获取机器学习中的目标任务;
获取所述目标任务对应的资源弹性伸缩计划策略;
根据所述资源弹性伸缩计划策略确定所述目标任务执行过程中不同时间段下的资源配置需求,并根据多个所述资源配置需求生成所述目标任务执行过程中不同时间段下的资源约束信息;
根据所述资源约束信息生成分时段的弹性伸缩任务,并根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源。
2.根据权利要求1所述的机器学习任务的资源管理方法,其特征在于,所述目标任务执行过程中包括第一时间段、第二时间段和第三时间段,所述目标资源包括第一目标资源、第二目标资源和第三目标资源;
所述根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源,包括:
获取机器学习过程中预先设置的用于执行所述目标任务的初始资源;
若在所述第一时间段下所述弹性伸缩任务为资源增加任务,根据所述资源增加任务进行资源申请,得到所述初始资源以外的第一增加资源,并将所述第一增加资源和所述初始资源合并,得到所述目标任务执行过程中所述第一时间段下的所述第一目标资源;
若在所述第二时间段下所述弹性伸缩任务为资源减少任务,根据所述资源减少任务进行资源选定,选定得到所述初始资源中的第一剩余资源,并将所述第一剩余资源作为所述目标任务执行过程中所述第二时间段下的所述第二目标资源;
若在所述第三时间段下所述弹性伸缩任务为资源保持任务,根据所述资源保持任务将所述初始资源作为所述目标任务执行过程中所述第三时间段下的所述第三目标资源。
3.根据权利要求1所述的机器学习任务的资源管理方法,其特征在于,所述确定完成资源申请或资源选定后的资源为目标资源之后,所述方法还包括;
获取所述目标任务执行过程中监控各个所述目标资源得到的状态数据;
根据所述状态数据解析得到各个所述目标资源在不同时间段下的任务执行状态;
当所述任务执行状态为异常状态,确定出现异常状态的时间段为目标时间段,并根据所述任务执行状态和所述资源约束信息调整所述弹性伸缩任务,得到更新后的所述弹性伸缩任务;
根据更新后的所述弹性伸缩任务对所述目标时间段下的资源重新进行资源申请或资源选定,确定重新完成资源申请或资源选定后的资源为更新后的所述目标资源。
4.根据权利要求1或3所述的机器学习任务的资源管理方法,其特征在于,所述根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源,包括;
根据所述弹性伸缩任务确定资源的调度策略为扩缩策略,并根据所述扩缩策略对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源;
获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作。
5.根据权利要求4所述的机器学习任务的资源管理方法,其特征在于,所述策略调整信息包括并发控制信息;
所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:
获取所述目标任务相关的机器学习任务的所述并发控制信息;
根据所述并发控制信息确定更新后的所述调度策略为并发策略;
根据所述并发策略对所述目标任务执行过程中不同时间段下的所述弹性伸缩任务进行并发控制。
6.根据权利要求4所述的机器学习任务的资源管理方法,其特征在于,所述策略调整信息包括伸缩失败信息;
所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:
获取所述目标任务对应的所述弹性伸缩任务在执行时的所述伸缩失败信息;
根据所述伸缩失败信息确定更新后的所述调度策略为熔断策略;
根据所述熔断策略对所述目标任务执行过程中不同时间段下的所述弹性伸缩任务进行熔断控制。
7.根据权利要求4所述的机器学习任务的资源管理方法,其特征在于,所述策略调整信息包括优先级信息;
所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:
获取所述目标任务对应的所述弹性伸缩任务执行的所述优先级信息;
根据所述优先级信息确定更新后的所述调度策略为调度优先策略;
根据所述调度优先策略确定所述目标任务执行过程中不同时间段下所述弹性伸缩任务的工作优先级。
8.根据权利要求4所述的机器学习任务的资源管理方法,其特征在于,所述策略调整信息包括任务依赖信息;
所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:
获取所述目标任务对应的所述弹性伸缩任务对其他机任务的所述任务依赖信息;
根据所述任务依赖信息确定更新后的所述调度策略为调度依赖策略;
根据所述调度依赖策略确定所述目标任务执行过程中不同时间段下所述弹性伸缩任务的执行状态。
9.根据权利要求4所述的机器学习任务的资源管理方法,其特征在于,所述策略调整信息包括调度限制信息;
所述获取所述目标任务对应的策略调整信息,根据所述策略调整信息确定更新后的所述调度策略,根据更新后的所述调度策略对所述目标任务下的所述弹性伸缩任务进行资源调度操作,包括:
获取所述目标任务对应的所述弹性伸缩任务在执行时的所述调度限制信息;
根据所述调度限制信息确定更新后的所述调度策略为调度限制策略;
根据所述调度限制策略确定所述目标任务执行过程中不同时间段下所述弹性伸缩任务的执行状态。
10.根据权利要求1所述的机器学习任务的资源管理方法,其特征在于,所述获取所述目标任务对应的资源弹性伸缩计划策略,包括:
获取预设的模版库,其中,所述模版库中含有多个不同的分时弹性计划模版;
在所述模板库中根据所述目标任务进行匹配,确定与所述目标任务关联的所述分时弹性计划模版为目标分时弹性计划模版;
根据所述目标分时弹性计划模版生成所述目标任务对应的资源弹性伸缩计划策略。
11.根据权利要求10所述的机器学习任务的资源管理方法,其特征在于,所述模版库根据以下步骤建立得到,包括:
获取用户端发送的资源配置信息;
根据所述资源配置信息配置弹性策略属性信息,根据所述弹性策略属性信息建立所述分时弹性计划模版,并将所述分时弹性计划模版存入预设的所述模版库中。
12.一种机器学习任务的资源管理***,其特征在于,所述***包括:
任务确定模块,用于获取机器学习中的目标任务;
伸缩计划策略确定模块,用于获取所述目标任务对应的资源弹性伸缩计划策略;
资源约束确定模块,用于根据所述资源弹性伸缩计划策略确定所述目标任务执行过程中不同时间段下的资源配置需求,并根据多个所述资源配置需求生成所述目标任务执行过程中不同时间段下的资源约束信息;
资源调度模块,用于根据所述资源约束信息生成分时段的弹性伸缩任务,并根据所述弹性伸缩任务对所述目标任务执行过程中不同时间段下的资源进行资源申请或资源选定,确定完成资源申请或资源选定后的资源为目标资源。
13.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至11任一项所述的机器学习任务的资源管理方法。
14.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任一项所述的机器学习任务的资源管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310411262.6A CN116501491A (zh) | 2023-04-10 | 2023-04-10 | 机器学习任务的资源管理方法、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310411262.6A CN116501491A (zh) | 2023-04-10 | 2023-04-10 | 机器学习任务的资源管理方法、***、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501491A true CN116501491A (zh) | 2023-07-28 |
Family
ID=87319535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310411262.6A Pending CN116501491A (zh) | 2023-04-10 | 2023-04-10 | 机器学习任务的资源管理方法、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501491A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519964A (zh) * | 2023-10-17 | 2024-02-06 | 本原数据(北京)信息技术有限公司 | 数据库资源管理方法和***、电子设备及存储介质 |
-
2023
- 2023-04-10 CN CN202310411262.6A patent/CN116501491A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519964A (zh) * | 2023-10-17 | 2024-02-06 | 本原数据(北京)信息技术有限公司 | 数据库资源管理方法和***、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254842B (zh) | 分布式流式***的资源管理方法、装置及可读存储介质 | |
CN106557369A (zh) | 一种多线程的管理方法及*** | |
WO2016015519A1 (en) | Methods, apparatuses, and systems for controlling task migration | |
CN103189843B (zh) | 用于管理软件应用程序的方法和装置 | |
US20200342419A1 (en) | Intelligent management of one or more machines of a vehicle service center | |
CN107908465B (zh) | 大数据平台的任务调度方法 | |
CN112445575B (zh) | 多集群资源调度方法、装置及*** | |
CN109672709B (zh) | 一种混合云业务调度***及方法 | |
Xu et al. | Enhancing kubernetes automated scheduling with deep learning and reinforcement techniques for large-scale cloud computing optimization | |
CN108173840B (zh) | 基于云平台的智能物流终端集成*** | |
CN111143045B (zh) | 智能家居操作***的任务调度方法及装置、存储介质 | |
CN110933178B (zh) | 调整集群***内的节点配置的方法及服务器 | |
CN110928553A (zh) | 深度学习模型的部署方法、装置和*** | |
CN116501491A (zh) | 机器学习任务的资源管理方法、***、设备及介质 | |
CN113467944B (zh) | 面向复杂软件***的资源部署装置及方法 | |
CN111198754B (zh) | 一种任务调度方法及装置 | |
CN103870324A (zh) | 异构多处理器环境中人机接口应用的有效执行 | |
CN112445615A (zh) | 一种线程的调度***、计算机设备和存储介质 | |
CN115543577A (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN110989403A (zh) | 综合能源调控***及其控制方法、服务器 | |
CN109936471B (zh) | 一种多集群的资源分配方法和装置 | |
US9177167B2 (en) | Automation framework | |
CN107944004A (zh) | Spark‑SQL调度的方法、***、设备及存储介质 | |
CN105204956A (zh) | 一种实时动态重构管理方法 | |
CN106874129A (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 |