一种针对资源统一管理的集群调度系统及方法与流程

文档序号:19943027发布日期:2020-02-14 23:26阅读:574来源:国知局
一种针对资源统一管理的集群调度系统及方法与流程

本发明涉及分布式集群技术领域,具体提供一种针对资源统一管理的集群调度系统及方法。



背景技术:

进入21世纪以来,集群计算技术得到了飞速发展,由于集群在性能价格比、可靠性、可扩展性、可管理性和应用支持性等方面的明显优势,基于linux的集群计算机系统已成为目前资料处理的主流平台。近几年来,集群系统的配置规模不断扩大,集群系统规模已达到上千甚至上万个节点,计算能力普遍从百亿次级提高到目前的数十至数百万亿次级。计算能力的增强,提高了处理数据的质量,极大地缩短了处理周期,为石油工业特别是油气勘探开发工业的发展提供了坚实的技术支撑。

从本质上讲,集群计算这项分布式技术核心的服务对象是一个个应用程序,或者说是作业,所以作业的调度自然就成为集群的一个核心部分。集群表现的好坏,也即作业执行的速度与效果如何,除了会受到处理器、网络、程序本身的结构等方面的影响,还取决于对作业的调度与控制。如何将各个作业派遣到集群中合适的资源上执行,如何使各并行作业的各个处于不同节点的分进程协调地工作,如何使各个作业的执行不会互相干扰,当被分配给工作的资源出现故障或被收回时又该如何处理,这一切都影响着作业运行的性能。除了单纯的速度要求,人们还可能提出要高效利用集群资源、平衡集群中各处的负载、实现具有不同重要性的用户作业可以按比例获得对资源的使用权。

在集群作业管理技术上,作业调度对于集群的性能有着很重要的影响。一个好的作业调度软件对于系统资源利用率、作业平均运行时间、公平性等方面有着至关重要的影响。因此,一个好的作业调度软件对于集群作业管理是种迫切需求。

把作业交付到一个对于用户来说近乎未知的分布式环境系统中,将会产生大量单机上作业执行不会遇到的难题,而且很多原来在单机中的问题一旦换成了多机的环境就会变得复杂。比如,可用的资源在哪里,这对于简单的单机环境来说不成问题,而在集群中就需要作业管理系统来从复杂且动态变化的集群环境中找到适合某个作业的资源,还要使集群中各个作业不会因为互相干扰而减低系统性能,又要保持系统各处的负载平衡以获得更大的系统吞吐率。这一切都促使作业管理系统的出现。

集群系统的核心问题是如何通过有效地调度和管理,合理利用系统资源。目前存在几十种集群调度管理软件,比如lsf、pbs等,然而它们对大数据资料的处理都并不完美。



技术实现要素:

本发明的技术任务是针对上述存在的问题,提供一种能够保证用户公平合理地使用集群系统,从而提高整个系统的利用率的针对资源统一管理的集群调度系统。

本发明进一步的技术任务是提供一种针对资源统一管理的集群调度方法。

为实现上述目的,本发明提供了如下技术方案:

一种针对资源统一管理的集群调度系统,该系统包括调度模块、任务后工作模块和界面模块:

调度模块负责结合调度策略控制作业的进行,并收集节点信息;

任务后工作模块负责关闭运行的任务,使后台损耗尽快最低;

界面模块负责管理任务和安排任务。

作为优选,所述调度模块协调任务后工作模块和界面模块,接收客户端的命令,对作业进行管理,根据作业调度策略,将集群可用的资源分配给作业。

作为优选,所述任务后工作模块在任务完成后做清理内存通知用户、关机、重启工作,其中通知用户采用闪屏和播放音乐。

作为优选,所述界面模块在图形界面中以按键形式调用集群调度的各种操作指令,用户选择命令的各种参数,在参数对话框中对每一参数作说明,每条命令执行的结果显示在图形界面上。

作为优选,在调度界面的主界面上显示运行任务、删除任务、查看状态及启动集群。

一种针对资源统一管理的集群调度方法,该方法通过所述针对资源统一管理的集群调度系统实现,具体包括以下步骤:

1)由客户产生事件,事件通知服务单元开始一个调度周期;

2)服务单元发送一个调度命令给调度单元;

3)调度单元向执行单元请求可用资源信息;

4)执行单元返回给调度单元一个资源信息;

5)得到资源信息后,调度单元向服务单元请求作业信息;

6)服务单元接收请求,并发送作业信息至调度单元,产生执行作业的策略;

7)调度单元发送执行作业请求至服务单元;

8)服务单元接收请求后,发送作业至执行进程执行作业。

作为优选,所述调度模块的工作过程为:服务进程加载任务,将任务放入队列,依照调度策略从队列中取出要运行的任务,并为任务分配资源,执行进程任务,判断任务是否结束,当任务结束时继续依照调度策略从队列中取出要运行的任务。

作为优选,所述任务后工作模块的工作过程为:所有任务结束后,判断是否需要播放音乐,若是则播放音乐,否则判断是否闪屏,若是则闪屏,否则直到任务完成后工作进行关机、重启、清理内存或者什么也不做,最后显示结果。

与现有技术相比,本发明的针对资源统一管理的集群调度系统具有以下突出的有益效果:通过所述针对资源统一管理的集群调度系统,能过对作业和资源合理调度,对作业运行状态能过有效监控,一批作业结束时合理释放集群的资源以及通知用户查看结果,并当所有任务都执行完时,能够执行用户已选择的工作,自动清理系统垃圾,使得系统资源开销处于最小状态,或者自动关机,以节省电力和设备损耗,能够从视觉和听觉两方面通知用户任务结束,具有良好的推广应用价值。

附图说明

图1是本发明所述针对资源统一管理的集群调度系统的架构图;

图2是本发明所述针对资源统一管理的集群调度方法的流程图;

图3是本发明所述针对资源统一管理的集群调度方法的界面模块工作流程图;

图4是本发明所述针对资源统一管理的集群调度方法的任务后工作模块示意图;

图5是本发明所述针对资源统一管理的集群调度方法的任务后工作模块工作流程图;

图6是本发明所述针对资源统一管理的集群调度方法的界面模块流程图。

具体实施方式

下面将结合附图和实施例,对本发明的针对资源统一管理的集群调度系统及方法作进一步详细说明。

实施例

如图1所示,本发明的针对资源统一管理的集群调度系统,包括调度模块、任务后工作模块和界面模块。

调度模块负责结合调度策略控制作业的进行,并收集节点信息。

任务后工作模块负责关闭运行的任务,使后台损耗尽快最低。

界面模块负责管理任务和安排任务。

调度模块协调任务后工作模块和界面模块,接收客户端的命令,对作业进行管理,根据作业调度策略,将集群可用的资源分配给作业。

任务后工作模块在任务完成后做清理内存通知用户、关机、重启工作,其中通知用户采用闪屏和播放音乐。

如图6所示,界面模块在图形界面中以按键形式调用集群调度的各种操作指令,用户选择命令的各种参数,在参数对话框中对每一参数作说明,每条命令执行的结果显示在图形界面上。

在调度界面的主界面上显示运行任务、删除任务、查看状态及启动集群。

如图2所示,本发明的针对资源统一管理的集群调度方法,该方法通过针对资源统一管理的集群调度系统实现,具体包括以下步骤:

1)由客户产生事件,事件通知服务单元开始一个调度周期。

2)服务单元发送一个调度命令给调度单元;。

3)调度单元向执行单元请求可用资源信息。

4)执行单元返回给调度单元一个资源信息。

5)得到资源信息后,调度单元向服务单元请求作业信息。

6)服务单元接收请求,并发送作业信息至调度单元,产生执行作业的策略。

7)调度单元发送执行作业请求至服务单元。

8)服务单元接收请求后,发送作业至执行进程执行作业。

如图3所示,调度模块的工作过程为:服务进程加载任务,将任务放入队列,依照调度策略从队列中取出要运行的任务,并为任务分配资源,执行进程任务,判断任务是否结束,当任务结束时继续依照调度策略从队列中取出要运行的任务。

如图4和图5所示,任务后工作模块的工作过程为:所有任务结束后,判断是否需要播放音乐,若是则播放音乐,否则判断是否闪屏,若是则闪屏,否则直到任务完成后工作进行关机、重启、清理内存或者什么也不做,最后显示结果。

其中,关机和重启都为通过ssh通信机制,在服务器节点远程登陆各子节点来使其关机或重启。最后在服务器节点做关机或重启的任务。子节点关机的主要代码如下,重启与其类似。

任务完成后通知用户的实现以视觉和听觉两种方式实现。

视觉方面以调度软件的主界面最大化和最小化连续更替3次实现闪屏,并最后以主界面最大化显示在桌面,使用户能更易于观察到。主要代码如下:

听觉方面以播放音乐来实现,在程序文件夹中放入一首歌曲,利用linux终端播放音乐的命令播放此歌曲。主要代码如下:

system("playgequ1.wav")。

当用户选择任务结束后清理内存的选项时,在文本框中不间断更新显示集群中各个节点内存的使用情况,在这里用多线程编程的方法。在服务器节点新建一线程通过ssh通信机制不间断的对每一节点做“free-m”的linux终端显示内存使用情况的命令,然后把结果收集起来在界面显示。

热清理内存的关键命令为“echo3>/proc/sys/vm/drop_caches”,此命令只能被root用户所运行,然而集群任务是只能在普通用户下运行的,对于此矛盾,将配置集群中所有节点的root用户和普通用户之间的ssh通信机制,使普通用户能够不需要输入密码就可以通过ssh运行root用户的命令。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1