一种训练任务编排方法及系统与流程
未命名
09-16
阅读:109
评论:0

1.本发明涉及云计算技术领域,尤其涉及一种训练任务编排方法及系统。
背景技术:
2.云计算平台用处理各类任务;其中,最为常见的便是训练任务,在执行训练任务时会消耗大量的算力资源,若是对训练任务编排不当,则会造成计算资源的浪费。
3.为此,申请号为:cn202211420673.3的发明申请公开了一种分布式算力资源的编排方法、装置、设备及存储介质,在接收到任务训练请求时,通过分布式锁将算力资源池进行锁定,并将训练任务添加至排队任务队列;在接收到训练任务添加成功信息时,根据预设资源算法计算出训练任务所需的算力资源;在训练任务所需的算力资源小于或等于剩余算力资源时,将所述训练任务从排队任务队列中移除;根据训练任务所需的算力资源通过训练节点对所述训练任务进行训练。
4.但是,在进行训练任务编排时,不仅需要关注平台资源的利用率,还需要综合考虑数据传输带来的网络负载影响和训练执行带来的计算负载影响,在充分利用计算资源的情况下,寻求高效且经济的训练任务编排方法,以达到网络负载和计算负载的双平衡。
5.因此,针对现有技术在网络负载和计算负载上的空缺,有必要提供一种训练任务编排方法及系统来解决上述技术问题。
技术实现要素:
6.为解决上述技术问题,本发明提供的一种训练任务编排系统,部署在云计算平台上,所述云计算平台上部署有若干计算执行设备和数据存储设备;包括接收前端和编排后端,并在计算执行设备上部署任务执行模块、bmc监控模块和负载监测模块;在计算执行设备和数据存储设备上分别部署网络通信模块;其中,云计算平台通过接收前端获取用户上传的训练任务;训练任务由训练模型、训练算法和训练数据组成,编排后端为用户分配api上传接口和对应数据存储设备完成对训练数据的接收存储;训练模型和训练算法则一起部署至对应计算执行设备中,并编排计算执行设备所需完成的对应算力计算;在进行训练任务编排时,编排后端通过bmc监控模块和负载监测模块获取各计算执行设备的能耗和负载情况,并综合网络通信质量和计算能耗性价比,完成对计算执行设备的选取和对应算力的设置。
7.一种训练任务编排方法,运用于如上所述的一种训练任务编排系统,通过如下步骤进行训练任务编排:获取待编排训练任务的算法类型、算力需求和数据上传地址;为数据上传地址分配最速上传接口,训练数据上传并存储至接口对应数据存储设备中;各计算执行设备分别ping接口对应数据存储设备,得到各计算执行设备的通信评
分;各计算执行设备上传算法类型对应负载状态,并进行分类得到计算执行设备状态分组;对各执行设备状态分组进行组内通信评分排序,得到分组对应的组内通信优先级序列;对执行设备状态分组进行组间状态优先级排序,得到分组对应的组间状态优先级序列;将各组内通信优先级序列按照组间状态优先级序列进行排序,得到训练任务编排序列;各计算执行设备按照训练任务编排序列顺序进行算力认领,直至算力需求完全被认领;将待编排训练任务按照算力认领分割为若干子训练任务,并编排到对应计算执行设备。
8.作为更进一步的解决方案,通过如下步骤获取各计算执行设备的负载状态:获取待编排训练任务的算法类型;查询各类型—阈值对照表,得到各计算执行设备在当前算法类型下的判断阈值;询问各计算执行设备的当前算力负载值,并与判断阈值进行比较,得到负载状态;若当前算力负载值未超第一判断阈值,则为第一负载状态;若当前算力负载值超过第一判断阈值,未超第二判断阈值,则为第二负载状态;若当前算力负载值超过第二判断阈值,则为第三负载状态;重复上述步骤,得到各计算执行设备的负载状态。
9.作为更进一步的解决方案,通过如下步骤获取各计算执行设备针对不同算法类型的判断阈值:设置不同算法类型对应的训练测试任务;执行当前算法类型的训练测试任务,并记录能耗变化率曲线;通过能耗变化率曲线获取能耗下降区间、能耗稳定区间和能耗上升区间;进行当前算法类型的判断阈值获取:将能耗下降区间和能耗稳定区间之间的算力负载值设置为第一判断阈值,将能耗稳定区间和能耗上升区间之间的算力负载值设置为第二判断阈值;完成不同算法类型的判断阈值获取,并整理为当前计算执行设备的类型_阈值对照表;各计算执行设备分别执行上述步骤,得到各计算执行设备的类型_阈值对照表。
10.作为更进一步的解决方案,通过如下步骤获取能耗变化率曲线和各能耗区间:获取当前算法类型设置计算测试任务,并下放至子域范围内的各计算执行设备上;计算执行设备开始执行计算测试任务,并线性改变计算执行设备的算力负载情况;通过bmc监测模块记录执行计算测试任务时的单位计算能耗;通过负载监测模块记录执行计算测试任务时的算力负载情况;
将单位计算能耗和算力负载情况进行匹配,得到负载能耗曲线;对负载能耗曲线的各点进行数据平滑和求导操作,得到能耗变化率曲线;通过能耗变化率曲线划分能耗下降区间、能耗稳定区间和能耗上升区间;其中,能耗下降区间位于能耗变化率曲线负半轴,能耗稳定区间位于能耗变化率曲线零值附近,能耗上升区间位于能耗变化率曲线正半轴。
11.作为更进一步的解决方案,通过如下步骤进行训练任务编排序列生成/更新:各计算执行设备上传算法类型对应负载状态并进行分类,得到第一负载状态分组、第二负载状态分组和第三负载状态分组;对各执行设备状态分组进行组内通信评分由高到低排序,得到第一组内通信优先级序列、第二组内通信优先级序列和第三组内通信优先级序列;对执行设备状态分组进行组间状态优先级排序;其中,组间状态优先级序列:第一负载状态分组优先于第二负载状态分组,第二负载状态分组优先于第三负载状态分组;将各组内通信优先级序列按照组间状态优先级序列进行排序,得到训练任务编排序列;其中,训练任务编排序列:[第一组内通信优先级序列,第二组内通信优先级序列,第三组内通信优先级序列]。
[0012]
作为更进一步的解决方案,各计算执行设备通过如下步骤进行算力认领:按照训练任务编排序列,询问优先级最高的计算执行设备进行算力认领:计算执行设备获取达到下一负载状态的算力负载裕度,并与未认领算力需求进行比较;若算力负载裕度小于未认领算力需求,则认领算力负载裕度;若算力负载裕度不小于未认领算力需求,则认领未认领算力需求;更新训练任务编排序列和未认领算力需求,若仍存在未认领算力需求,则按照更新后的训练任务编排序列,询问优先级最高的计算执行设备进行算力认领,直至算力需求均被认领。
[0013]
作为更进一步的解决方案,当优先级最高的计算执行设备为第三负载状态时,则暂停训练任务编排,直至负载状态回落至第一负载状态或第二负载状态。
[0014]
与相关技术相比较,本发明提供的一种训练任务编排方法及系统具有如下有益效果:本发明通过设置bmc监控模块和负载监测模块实现对计算执行设备负载监测和能耗监测,并综合网络通信质量和计算能耗性价比,完成对计算执行设备的选取和对应算力的设置,以达到网络负载和计算负载的双平衡;在获取数据上传地址后,便能为其分配最速上传接口,从而实现训练数据快速上传,通过负载状态和通信评分结合,得到训练任务编排序列,通过训练任务编排序列进行算力认领,从而实现将负载与通信双优的设备接收训练任务,达到最佳能耗性价比。
附图说明
[0015]
图1为本发明提供的一种训练任务编排系统的结构示意图;图2为本发明提供的一种训练任务编排方法的较佳流程图;图3为本发明实施例提供的负载能耗曲线较佳示意图;图4为本发明实施例提供能耗变化率曲线较佳示意图。
具体实施方式
[0016]
下面结合附图和实施方式对本发明作进一步说明。
[0017]
如图1所示,本实施例提供的一种训练任务编排系统,部署在云计算平台上,所述云计算平台上部署有若干计算执行设备和数据存储设备;包括接收前端和编排后端,并在计算执行设备上部署任务执行模块、bmc监控模块和负载监测模块;在计算执行设备和数据存储设备上分别部署网络通信模块;其中,云计算平台通过接收前端获取用户上传的训练任务;训练任务由训练模型、训练算法和训练数据组成,编排后端为用户分配api上传接口和对应数据存储设备完成对训练数据的接收存储;训练模型和训练算法则一起部署至对应计算执行设备中,并编排计算执行设备所需完成的对应算力计算;在进行训练任务编排时,编排后端通过bmc监控模块和负载监测模块获取各计算执行设备的能耗和负载情况,并综合网络通信质量和计算能耗性价比,完成对计算执行设备的选取和对应算力的设置。
[0018]
需要说明的是:现有的训练任务编排系统仅关注平台资源的利用率,未综合考虑数据传输带来的网络负载影响和训练执行带来的计算负载影响;为此,本实施例通过设置bmc监控模块和负载监测模块实现对计算执行设备负载监测和能耗监测,并综合网络通信质量和计算能耗性价比,完成对计算执行设备的选取和对应算力的设置,以达到网络负载和计算负载的双平衡。注:bmc监测模块:用于监测设备的能耗情况,负载监测模块:用于获取设备的当前负载情况。
[0019]
如图2所示,一种训练任务编排方法,运用于如上所述的一种训练任务编排系统,通过如下步骤进行训练任务编排:获取待编排训练任务的算法类型、算力需求和数据上传地址;为数据上传地址分配最速上传接口,训练数据上传并存储至接口对应数据存储设备中;各计算执行设备分别ping接口对应数据存储设备,得到各计算执行设备的通信评分;各计算执行设备上传算法类型对应负载状态,并进行分类得到计算执行设备状态分组;对各执行设备状态分组进行组内通信评分排序,得到分组对应的组内通信优先级序列;对执行设备状态分组进行组间状态优先级排序,得到分组对应的组间状态优先级序列;将各组内通信优先级序列按照组间状态优先级序列进行排序,得到训练任务编排序列;各计算执行设备按照训练任务编排序列顺序进行算力认领,直至算力需求完全被认领;将待编排训练任务按照算力认领分割为若干子训练任务,并编排到对应计算执行设备。
[0020]
需要说明的是:本实施例在获取数据上传地址后,便能为其分配最速上传接口(通
信质量好和通信延迟低),从而实现训练数据快速上传,通过负载状态和通信评分结合,得到训练任务编排序列,通过训练任务编排序列进行算力认领,从而实现将负载与通信双优的设备接收训练任务,达到最佳能耗性价比。
[0021]
作为更进一步的解决方案,通过如下步骤获取各计算执行设备的负载状态:获取待编排训练任务的算法类型;查询各类型—阈值对照表,得到各计算执行设备在当前算法类型下的判断阈值;询问各计算执行设备的当前算力负载值,并与判断阈值进行比较,得到负载状态;若当前算力负载值未超第一判断阈值,则为第一负载状态;若当前算力负载值超过第一判断阈值,未超第二判断阈值,则为第二负载状态;若当前算力负载值超过第二判断阈值,则为第三负载状态;重复上述步骤,得到各计算执行设备的负载状态。
[0022]
需要说明的是:由于各训练算法采用的算法类型不同,其不同的算法类型有不同的判断阈值,因此我们需要构建类型—阈值对照表来快速寻找各算法类型对应的判断阈值,以准确判断设备的负载状态,通过负载状态能更好地感知各设备的情况。
[0023]
作为更进一步的解决方案,通过如下步骤获取各计算执行设备针对不同算法类型的判断阈值:设置不同算法类型对应的训练测试任务;执行当前算法类型的训练测试任务,并记录能耗变化率曲线;通过能耗变化率曲线获取能耗下降区间、能耗稳定区间和能耗上升区间;进行当前算法类型的判断阈值获取:将能耗下降区间和能耗稳定区间之间的算力负载值设置为第一判断阈值,将能耗稳定区间和能耗上升区间之间的算力负载值设置为第二判断阈值;完成不同算法类型的判断阈值获取,并整理为当前计算执行设备的类型_阈值对照表;各计算执行设备分别执行上述步骤,得到各计算执行设备的类型_阈值对照表。
[0024]
需要说明的是:如图3所示,由于计算执行设备存在基础能耗,因此,在算力负载较低时,其均摊到各单位计算能耗是很高的,但是随着算力负载增大,基础能耗会被均摊,这时单位计算能耗会随之下降,我们将这个区间称为下降区间,在算力负载达到一定值后,其单位计算能耗会较为平稳,我们将这个区间称为稳定区间,之后我们再增加算力负载,设备便会出现过载发热等情况,因此会伴随能耗增加但是算力提升并不明显,我们将这个区间称之为上升区间。
[0025]
作为更进一步的解决方案,通过如下步骤获取能耗变化率曲线和各能耗区间:获取当前算法类型设置计算测试任务,并下放至子域范围内的各计算执行设备上;计算执行设备开始执行计算测试任务,并线性改变计算执行设备的算力负载情况;通过bmc监测模块记录执行计算测试任务时的单位计算能耗;通过负载监测模块记录执行计算测试任务时的算力负载情况;将单位计算能耗和算力负载情况进行匹配,得到负载能耗曲线;
对负载能耗曲线的各点进行数据平滑和求导操作,得到能耗变化率曲线;通过能耗变化率曲线划分能耗下降区间、能耗稳定区间和能耗上升区间;其中,能耗下降区间位于能耗变化率曲线负半轴,能耗稳定区间位于能耗变化率曲线零值附近,能耗上升区间位于能耗变化率曲线正半轴。
[0026]
需要说明的是:如图4所示,从能耗变化率曲线上我们不难看出,在下降区间时,其单位计算能耗先是急剧下降,再缓慢下降直至到达稳定区间,稳定区间基本没什么变化,也就是变化率为0,此后到达上升区间,其单位计算能耗先是缓慢上升,再急剧上升直至最大到达负载;因此,能耗下降区间位于能耗变化率曲线负半轴,能耗稳定区间位于能耗变化率曲线零值附近,,能耗上升区间位于能耗变化率曲线正半轴。
[0027]
作为更进一步的解决方案,通过如下步骤进行训练任务编排序列生成/更新:各计算执行设备上传算法类型对应负载状态并进行分类,得到第一负载状态分组、第二负载状态分组和第三负载状态分组;对各执行设备状态分组进行组内通信评分由高到低排序,得到第一组内通信优先级序列、第二组内通信优先级序列和第三组内通信优先级序列;对执行设备状态分组进行组间状态优先级排序;其中,组间状态优先级序列:第一负载状态分组优先于第二负载状态分组,第二负载状态分组优先于第三负载状态分组;将各组内通信优先级序列按照组间状态优先级序列进行排序,得到训练任务编排序列;其中,训练任务编排序列:[第一组内通信优先级序列,第二组内通信优先级序列,第三组内通信优先级序列]。
[0028]
需要说明的是:在进行优先级排序时,首选要考虑第一负载状态的设备,再考虑第二负载状态的设备,最后才是第三负载状态的设备,这就是我们的组间状态优先级序列;我们通过负载状态进行分类,这就得到了第一负载状态分组、第二负载状态分组和第三负载状态分组,再结合组间状态优先级序列,就得到了组件排序;然后再结合通信质量评分,我们就得到了各组内通信优先级序列,将各组内通信优先级序列按照组间状态优先级序列进行排序,我们就能得到训练任务编排序列,通过训练任务编排序列我们能兼顾能耗和网络质量。
[0029]
作为更进一步的解决方案,各计算执行设备通过如下步骤进行算力认领:按照训练任务编排序列,询问优先级最高的计算执行设备进行算力认领:计算执行设备获取达到下一负载状态的算力负载裕度,并与未认领算力需求进行比较;若算力负载裕度小于未认领算力需求,则认领算力负载裕度;若算力负载裕度不小于未认领算力需求,则认领未认领算力需求;更新训练任务编排序列和未认领算力需求,若仍存在未认领算力需求,则按照更新后的训练任务编排序列,询问优先级最高的计算执行设备进行算力认领,直至算力需求均被认领。
[0030]
需要说明的是:单次算力认领最大量为达到下一负载状态的算力负载裕度,若是已处于第三负载状态,则一下负载状态是最大负载状态;完成一次算力认领后,需要对各计算执行设备的负载状态进行更新,如有设备本处在第一算力状态,在认领算力后达到第二算力状态,第一组内通信优先级序列与第二组内通信优先级序列均会发生变化,此时就需要更新负载状态,并对训练任务编排序列进行更新,生成当前的训练任务编排序列,然后再
进行下一次算力认领。
[0031]
作为更进一步的解决方案,当优先级最高的计算执行设备为第三负载状态时,则暂停训练任务编排,直至负载状态回落至第一负载状态或第二负载状态。
[0032]
需要说明的是:由于第三负载状态为单位算力高耗能状态;因此,若是优先级最高的计算执行设备为第三负载状态时,则说明整个计算平台都处于第三负载状态,其单位计算力耗能高;因此,我们这时需要暂停训练任务编排,直至负载状态回落至第一负载状态或第二负载状态,以保证整个系统的运行稳定并保证能耗算力性价比。
[0033]
以上仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种训练任务编排系统,部署在云计算平台上,所述云计算平台上部署有若干计算执行设备和数据存储设备;其特征在于,包括接收前端和编排后端,并在计算执行设备上部署任务执行模块、bmc监控模块和负载监测模块;在计算执行设备和数据存储设备上分别部署网络通信模块;其中,云计算平台通过接收前端获取用户上传的训练任务;训练任务由训练模型、训练算法和训练数据组成,编排后端为用户分配api上传接口和对应数据存储设备完成对训练数据的接收存储;训练模型和训练算法则一起部署至对应计算执行设备中,并编排计算执行设备所需完成的对应算力计算;在进行训练任务编排时,编排后端通过bmc监控模块和负载监测模块获取各计算执行设备的能耗和负载情况,并综合网络通信质量和计算能耗性价比,完成对计算执行设备的选取和对应算力的设置。2.一种训练任务编排方法,运用于如权利要求1所述的一种训练任务编排系统,其特征在于,通过如下步骤进行训练任务编排:获取待编排训练任务的算法类型、算力需求和数据上传地址;为数据上传地址分配最速上传接口,训练数据上传并存储至接口对应数据存储设备中;各计算执行设备分别ping接口对应数据存储设备,得到各计算执行设备的通信评分;各计算执行设备上传算法类型对应负载状态,并进行分类得到计算执行设备状态分组;对各执行设备状态分组进行组内通信评分排序,得到分组对应的组内通信优先级序列;对执行设备状态分组进行组间状态优先级排序,得到分组对应的组间状态优先级序列;将各组内通信优先级序列按照组间状态优先级序列进行排序,得到训练任务编排序列;各计算执行设备按照训练任务编排序列顺序进行算力认领,直至算力需求完全被认领;将待编排训练任务按照算力认领分割为若干子训练任务,并编排到对应计算执行设备。3.根据权利要求2所述的一种训练任务编排方法,其特征在于,通过如下步骤获取各计算执行设备的负载状态:获取待编排训练任务的算法类型;查询各类型—阈值对照表,得到各计算执行设备在当前算法类型下的判断阈值;询问各计算执行设备的当前算力负载值,并与判断阈值进行比较,得到负载状态;若当前算力负载值未超第一判断阈值,则为第一负载状态;若当前算力负载值超过第一判断阈值,未超第二判断阈值,则为第二负载状态;若当前算力负载值超过第二判断阈值,则为第三负载状态;重复上述步骤,得到各计算执行设备的负载状态。4.根据权利要求3所述的一种训练任务编排方法,其特征在于,通过如下步骤获取各计
算执行设备针对不同算法类型的判断阈值:设置不同算法类型对应的训练测试任务;执行当前算法类型的训练测试任务,并记录能耗变化率曲线;通过能耗变化率曲线获取能耗下降区间、能耗稳定区间和能耗上升区间;进行当前算法类型的判断阈值获取:将能耗下降区间和能耗稳定区间之间的算力负载值设置为第一判断阈值,将能耗稳定区间和能耗上升区间之间的算力负载值设置为第二判断阈值;完成不同算法类型的判断阈值获取,并整理为当前计算执行设备的类型_阈值对照表;各计算执行设备分别执行上述步骤,得到各计算执行设备的类型_阈值对照表。5.根据权利要求4所述的一种训练任务编排方法,其特征在于,通过如下步骤获取能耗变化率曲线和各能耗区间:获取当前算法类型设置计算测试任务,并下放至子域范围内的各计算执行设备上;计算执行设备开始执行计算测试任务,并线性改变计算执行设备的算力负载情况;通过bmc监测模块记录执行计算测试任务时的单位计算能耗;通过负载监测模块记录执行计算测试任务时的算力负载情况;将单位计算能耗和算力负载情况进行匹配,得到负载能耗曲线;对负载能耗曲线的各点进行数据平滑和求导操作,得到能耗变化率曲线;通过能耗变化率曲线划分能耗下降区间、能耗稳定区间和能耗上升区间;其中,能耗下降区间位于能耗变化率曲线负半轴,能耗稳定区间位于能耗变化率曲线零值附近,能耗上升区间位于能耗变化率曲线正半轴。6.根据权利要求5所述的一种训练任务编排方法,其特征在于,通过如下步骤进行训练任务编排序列生成/更新:各计算执行设备上传算法类型对应负载状态并进行分类,得到第一负载状态分组、第二负载状态分组和第三负载状态分组;对各执行设备状态分组进行组内通信评分由高到低排序,得到第一组内通信优先级序列、第二组内通信优先级序列和第三组内通信优先级序列;对执行设备状态分组进行组间状态优先级排序;其中,组间状态优先级序列:第一负载状态分组优先于第二负载状态分组,第二负载状态分组优先于第三负载状态分组;将各组内通信优先级序列按照组间状态优先级序列进行排序,得到训练任务编排序列;其中,训练任务编排序列:[第一组内通信优先级序列,第二组内通信优先级序列,第三组内通信优先级序列]。7.根据权利要求6所述的一种训练任务编排方法,其特征在于,各计算执行设备通过如下步骤进行算力认领:按照训练任务编排序列,询问优先级最高的计算执行设备进行算力认领:计算执行设备获取达到下一负载状态的算力负载裕度,并与未认领算力需求进行比较;若算力负载裕度小于未认领算力需求,则认领算力负载裕度;若算力负载裕度不小于未认领算力需求,则认领未认领算力需求;更新训练任务编排序列和未认领算力需求,若仍存在未认领算力需求,则按照更新后的训练任务编排序列,询问优先级最高的计算执行设备进行算力认领,直至算力需求均被
认领。8.根据权利要求7所述的一种训练任务编排方法,其特征在于,当优先级最高的计算执行设备为第三负载状态时,则暂停训练任务编排,直至负载状态回落至第一负载状态或第二负载状态。
技术总结
本发明提供了一种训练任务编排方法及系统,涉及云计算技术领域。本发明通过设置BMC监控模块和负载监测模块实现对计算执行设备负载监测和能耗监测,并综合网络通信质量和计算能耗性价比,完成对计算执行设备的选取和对应算力的设置,以达到网络负载和计算负载的双平衡;在获取数据上传地址后,便能为其分配最速上传接口,从而实现训练数据快速上传,通过负载状态和通信评分结合,得到训练任务编排序列,通过训练任务编排序列进行算力认领,从而实现将负载与通信双优的设备接收训练任务,达到最佳能耗性价比。到最佳能耗性价比。到最佳能耗性价比。
技术研发人员:吕超星 丁鹏 吴清忠
受保护的技术使用者:北京万界数据科技有限责任公司武汉分公司
技术研发日:2023.08.10
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/