针对大规模分布式机器学习的动态调度方法技术

技术编号:34572144 阅读:18 留言:0更新日期:2022-08-17 13:03
本发明专利技术公开了针对大规模分布式机器学习的动态调度方法,具体涉及计算资源管理领域,其包括计算节点分配、任务调度和任务迁移分配;所述计算节点分配是在初始化集群时,在一个计算节点启动远程过程调用服务作为调度器,其他的所有节点通过远程过程调用通知调度器将本节点加入调度器进行管理。本发明专利技术在任务调度时如发现资源不能满足将要调度任务,可以将正在运行的任务进行迁移,减少正在运行的任务使用的资源,腾出计算资源交给调度的任务进行使用,实现了分布式的动态调度,增加了调度效率,本发明专利技术使用两层任务调度策略,减少任务调度的中心负载,利用任务的迁移,提高了资源利用率,减少了任务等待的时间,增加调度效率。增加调度效率。增加调度效率。

【技术实现步骤摘要】
针对大规模分布式机器学习的动态调度方法


[0001]本专利技术涉及计算资源管理领域,尤其涉及针对大规模分布式机器学习的动态调度方法。

技术介绍

[0002]在过去十年,机器学习从图像处理到自然语言等各种领域都取得了令人瞩目的成就。机器学习这种快速的进展得益于以机器学习模型和各种加速平台为基础的硬件和软件系统绑定。
[0003]由于现在的机器学习模型越来越大,为了训练处更好的模型,往往需要在多台机器的成百上千的计算核心上进行训练。而且由于机器学习模型的多种多样,机器训练任务也是各有不同的特点。这种多任务训练模式对计算集群的资源调度带来很大的挑战。
[0004]当前的调度框架有Ray,Ray的实现上使用Redis对计算资源和任务信息进行存储,采用先到先得服务(First Come First Serve)进行调度,而不考虑任务特征,导致任务调度效率低。Ray将任务调度出去后,在任务执行过程中不在干预任务的执行,任务占有计算资源直到计算结束,这种设计导致多任务情况下任务排队较长,等待时间较久。

技术实现思路

[0005]本专利技术的目的是为了解决现有技术中存在的当今的调度系统未能针对这种多任务机器学习训练设计出有效的调度策略,现调度系统都是任务执行开始执行时分配资源,任务一直占有资源到任务结束,不能动态的进行任务调度,导致有些任务等待过长的缺点,和调度只有一个调度器在进行调度,造成负载过大的缺点,而提出的针对大规模分布式机器学习的动态调度方法。
[0006]为了实现上述目的,本专利技术采用了如下技术方案:
[0007]针对大规模分布式机器学习的动态调度方法,包括计算节点分配、任务调度和任务迁移分配;
[0008]所述计算节点分配是在初始化集群时,在一个计算节点启动远程过程调用服务(RPC)作为调度器,其他的所有节点通过远程过程调用通知调度器将本节点加入调度器进行管理;
[0009]所述任务调度是在调度任务时,当调度器检测到任务较多时,使用远程过程调用服务提交任务至中心任务调度器进行调度;
[0010]所述任务迁移分配是当有多个任务在排队时,任务调度器检测正在运行的任务,对正在运行的任务判断是否可以进行缩减,对可以缩减的任务进行迁移到更少的节点上运行;当部分资源存在空闲,任务调度器对任务判断是否可以进行扩展,对可以进行扩展的任务进行迁移到更多的节点上运行。
[0011]本专利技术进一步设置为:在进行中心任务调度时,可以根据任务的多少动态增加或减少调度器的数量。
[0012]本专利技术进一步设置为:在进行任务迁移分配时,腾出节点后,将正在排队的任务分配到腾出的节点。
[0013]本专利技术的有益效果为:
[0014]1、本专利技术在任务调度时如发现资源不能满足将要调度任务,可以将正在运行的任务进行迁移,减少正在运行的任务使用的资源,腾出计算资源交给调度的任务进行使用,实现了分布式的调度,增加了调度效率;
[0015]2、本专利技术使用两层任务调度策略,减少任务调度的中心负载,利用任务的迁移,提高了资源利用率,减少了任务等待的时间,增加调度效率。
附图说明
[0016]图1为本专利技术中的计算节点分配示意图。
[0017]图2为本专利技术中的任务分配示意图。
具体实施方式
[0018]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。、
[0019]实施例1
[0020]如图1

2所示,针对大规模分布式机器学习的动态调度方法,包括计算节点分配、任务调度和任务迁移分配;
[0021]所述计算节点分配是在初始化集群时,在一个计算节点启动远程过程调用服务(RPC)作为调度器,其他的所有节点通过远程过程调用通知调度器将本节点加入调度器进行管理;
[0022]所述任务调度是在调度任务时,当调度器检测到任务较多时,使用远程过程调用服务指派一个节点充当第二层的调度器,并且将部分任务交给第二层的任务调度器进行调度,可以根据任务的多少动态增加或减少调度器的数量;
[0023]所述任务迁移分配是当有多个任务在排队时,任务调度器检测正在运行的任务,对正在运行的任务判断是否可以进行迁移运行在更少的节点上,对可以运行在更少的节点上的任务进行迁移到更少的节点,腾出节点后,将正在排队的任务分配到腾出的节点。
[0024]实施例2
[0025]根据图1

2所示,本专利技术如一个需要128个GPU的任务正在运行,此时来了64个需要1个GPU的任务正在排队,通过调度器检测到有一个128个GPU的任务,经过调度器的分析,128个GPU可以运行在64个GPU上,那么暂停128个GPU的任务,将128个GPU的任务迁移到64个GPU上,将剩余的64个任务分配到剩余64个GPU上。
[0026]以上所述,仅为本专利技术较佳的具体实施方式,但本专利技术的保护范围并不局限于此,任何熟悉本
的技术人员在本专利技术揭露的技术范围内,根据本专利技术的技术方案及其专利技术构思加以等同替换或改变,都应涵盖在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.针对大规模分布式机器学习的动态调度方法,其特征在于,包括计算节点分配、任务调度和任务迁移分配;所述计算节点分配是在初始化集群时,在一个计算节点启动远程过程调用服务作为调度器,其他的所有节点通过远程过程调用通知调度器将本节点加入调度器进行管理;所述任务调度是在调度任务时,当调度器检测到任务较多时,使用远程过程调用服务提交任务至中心任务调度器进行调度;所述任务迁移分配是当有多个任务在排队时,任务调度器检测正在运行的任务,对正在运行的任务判断是否可以进...

【专利技术属性】
技术研发人员:卞正达陈巍文李永彬柳泓鑫刘育良麦思琪
申请(专利权)人:北京潞晨科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1