基于强化学习的集群调度系统的制作方法

文档序号:16067514发布日期:2018-11-24 12:49阅读:404来源:国知局

本发明涉及计算机技术领域,尤其涉及一种基于强化学习的集群调度系统。



背景技术:

hpc(highperformancecomputing,高性能计算)集群通常采用大规模计算节点进行计算,伴随着大型集群的普及应用,高性能计算集群的用户数量也越来越多。目前,hpc集群通常采用单个调度节点,或者独立的多个调度节点进行程序编译、计算作业的提交和资源分配。然而在hpc领域服务器同时接入用户数量不像互联网集群那样众多,相应的单个作业资源消耗却更加巨大。因此,hpc集群通常都会根据自身接入用户的应用特性做自定义的负载均衡策略,并借助选用的调度器,例如pbs或slurm,进行负载均衡优化。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:

现有的自定义负载均衡手段往往是以应用的具体需求做划分的,如:单个作业需求的cpu/gpu数量,对异构计算的需求,运算量需求等。然而这种调度策略是从满足具体作业需求的角度出发,虽然能保证应用需求,却无法保证集群性能被最大化利用。换言之集群整体利用率不高,且可能造成用户平均等待时间偏长。



技术实现要素:

本发明提供的一种基于强化学习的集群调度系统,能够提高集群整体利用率,缩短用户平均等待时间偏长。

本发明提供一种基于强化学习的集群调度系统,所述集群调度系统包括连接至少一个计算节点的调度节点,所述调度节点包括集群作业管理器和基于强化学习的负载均衡器;

其中,所述集群作业管理器,接收所述基于强化学习的负载均衡器时钟间隔为△t的中断请求,并接收到所述中断请求后发送当前集群的运算状态至所述基于强化学习的负载均衡器;

所述基于强化学习的负载均衡器,根据采集到的所述当前集群的运算状态由计算节点状态向量组成的集群状态矩阵s,根据所述集群状态矩阵s判断各个计算节点未来宕机或者报错概率,反馈调优动作a至所述集群作业管理器,计算当前中断时刻t的动作回报r,并利用强化学习方式构建基于各个计算节点的节点温度、资源利用率、作业总数以及所述集群状态矩阵s的q函数模型,以估计每一中断时刻的集群状态矩阵s所对应的预期未来收益值q,从而获得当前中断时刻t应对集群采用的优化操作。

本发明实施例提供的基于强化学习的集群调度装置,通过根据采集的集群实时信息判断计算节点未来宕机或者报错概率,从而对集群进行调优。与现有技术相比,本发明利用基于强化学习的负载均衡策略来优化集群调度,不仅能够满足作业本身对硬件资源的需求,而且能够提高集群整体利用率,降低节点宕机和故障概率,从而降低用户整体等待时间,达到对整个集群资源的更优化利用的目的。

附图说明

图1为本发明一实施例基于强化学习的集群调度系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例还提供一种基于强化学习的集群调度系统,如图1所示,所述集群调度系统包括连接至少一个计算节点的调度节点,所述调度节点包括集群作业管理器和基于强化学习的负载均衡器。

这里集群作业管理为slumjobmanager。

其中,所述集群作业管理器,接收所述基于强化学习的负载均衡器时钟间隔为△t的中断请求,并接收到所述中断请求后发送当前集群的运算状态至所述基于强化学习的负载均衡器;

所述基于强化学习的负载均衡器,根据采集到的所述当前集群的运算状态由计算节点状态向量组成的集群状态矩阵s,根据所述集群状态矩阵s判断各个计算节点未来宕机或者报错概率,反馈调优动作a至所述集群作业管理器,计算当前中断时刻t的动作回报r,并利用强化学习方式构建基于各个计算节点的节点温度、资源利用率、作业总数以及所述集群状态矩阵s的q函数模型,以估计每一中断时刻的集群状态矩阵s所对应的预期未来收益值q,从而获得当前中断时刻t应对集群采用的优化操作。

本发明实施例提供的基于强化学习的集群调度系统,通过根据采集的集群实时信息判断新作业队计算节点造成未来宕机或者报错概率,从而对集群进行调优。与现有技术相比,本发明利用基于强化学习的负载均衡策略来优化集群调度,不仅能够满足作业本身对硬件资源的需求,而且能够提高集群整体利用率,降低节点宕机和故障概率,从而降低用户整体等待时间,达到对整个集群资源的更优化利用的目的。

其中,所述当前集群的运算状态包括所述至少一个计算节点的实时信息,其中,所述实时信息包括计算节点编号、计算节点健康度和作业应用类型。

其中,所述计算节点状态向量包括计算节点编号、计算节点健康度和作业应用类型。具体地,计算节点健康度可以采用基于nodemanager的计算方式,也可以根据具体需求自行编写脚本获取。

可选地,所述当前中断时刻t对应的动作回报使用集群健康度增加的幅度来表示,具体表示如下:

rt=t+1时刻的集群健康度-t时刻的集群健康度。

其中,所述预期未来收益值q用于表示所有作业完成时集群健康度的累积增加量。

其中,所述当前中断时刻t应对集群采用的优化操作为在有限的动作a中选取使得q+r值最大的动作。

其中,所述调优动作包括重启应用、关闭进程和重启节点。

以下为基于q-learning的强化学习中的参数定义以及获取方式:

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。



技术特征:

技术总结
本发明提供一种基于强化学习的集群调度系统,其特征在于,所述集群调度系统包括连接至少一个计算节点的调度节点,所述调度节点包括集群作业管理器和基于强化学习的负载均衡器;其中,集群作业管理器,接收到所述中断请求后发送当前集群的运算状态至基于强化学习的负载均衡器;基于强化学习的负载均衡器,根据采集到的当前集群的运算状态由计算节点状态向量组成的集群状态矩阵S,根据集群状态矩阵S判断各个计算节点未来宕机或者报错概率,反馈调优动作a至集群作业管理器,计算当前中断时刻t的动作回报r,并利用强化学习方式构建Q函数模型,以获得当前中断时刻t应对集群采用的优化操作。本发明能够提高集群整体利用率,缩短用户平均等待时间偏长。

技术研发人员:王新雷
受保护的技术使用者:曙光信息产业(北京)有限公司
技术研发日:2018.06.25
技术公布日:2018.11.23
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1