一种具有弹性架构的集群作业调度系统的制作方法

文档序号:6481157阅读:230来源:国知局
专利名称:一种具有弹性架构的集群作业调度系统的制作方法
技术领域
本发明涉及计算机领域,具体涉及高性能计算集群中一种具有弹性体系架构的作业调度系统,尤其涉及一种支持多集群间作业调度的方法。
背景技术
随着计算机技术的发展,高性能计算在科学研究和工程技术中的作用越来越重要。在各个科学计算领域,都存在着相应的科学计算软件,用来辅助用户进行问题求解。但这些软件所面临的一个共同问题是,用户必须登录到集群系统上才能使用相应的软件,创建作业,提交V乍业。这就增加了用户使用软件的难度,降
低了工作效率。此外,大部分高性能集群的操作系统都是Lirmx或Unix,用户要想使用某个科学计算软件必须首先学会使用Limix或Unix,极大 的增加了用户的负担。目前市场上的同类作业调度系统产品主要有PlatformMultiCluster。存在的不足是产品价格昂贵,集群内部的调度器只能是Platform LSF,而不支持其它集群调度器,无法为用户提供统一的图形界面和进行远程作业管理以及满足科学计算软件进行问题求解。

发明内容
本发明的目的是提供一种具有弹性架构的集群作业调度系统,作业调度系统是B/S架构的,为用户提供统一的图形界面和进行远程作业管理以及使用科学计算软件进行问题求解。系统同时支持在集群间建立调度器,支持多集群的调度,集群内部调度器支持OpenPBS、 MAUI,并且可以扩展。
本发明要解决的问题是用户可以通过web提交作业,使用科学计算软件求解并且支持在集群间和集群内部建立不同的调度器,支持多集群以及大规模集群时的作业调度。本发明的系统还提供应用管理功能,自动生成作业运行时与应用相关的运行脚本。
本发明的作业调度系统,包括调度器管理模块,策略管理模块,资源管理模块,作业管理模块,应用管理模块。调度器管理模块与策略管理模块、资源管理模块、作业管理模块相连,作业管理模块又与应用管理模块和资源管理模块相连,五模块共同协作完成作业的调度。如图1所示。
调度器管理模块负责创建调度器,控制调度器的状态,在集群间和集群内部建立的调度器是不同的。集群间的调度器是应用i,度器,负贲将作业按照作业的应用属性分配到具有该应用的集群上,即将任务提交给具有某个应用属性的队列里。集群内部调度器负责按用户设定的调度策略调度在该集群队列中的任务。当大规模集群时,可以通过把这个大集群划分成小集群,扩展集群内调度器,降低一个调度器时的调度负载和通讯负载,来支持大规模的集群应用。
策略管理模块负责调度策略的制定,在本发明的系统中包含作业的调度策略和资源的调度策略。其中作业的调度策略,包括优先级、资源公平共享、资源需求的策略,并允许用户自定义调度策略;资源的调度策略包括CPU负载低优先,资源先空闲先使用,最小满足需求的资源优先策略。调度器需要选择要使用的调度策略,这些调度策略可以相同,也可以不同。资源管理模块,负贲包括集群、功能池、节点的管理,其中节点的管理包括收集节点的静态信息、负载信息;静态信息包括,按核计算的CPU个数,CPU类型,内存大小,磁盘容量;负载信息包括CPU利用率、内存利用率、磁盘利用率。调度器需要根据资源管理模块提供的信息进行调度。
作业管理模块,负责作业的提交、修改、删除、重启、挂起、退出、强制执行,作业管理模块与资源管理模块和应用管理模块相连。作业创建时,可以选择提交的集群和节点,这些集群和节点是资源管理模块提供的;作业创建时时有一个应用属性,选择某一应用后,填写这个应用相关的参数配置,当作业提交时根据该应用的运行命令和参数配置信息,自动生成作业运行脚本,根据应用配置自动生成运行脚本的流程图,如图2所示。应用相关的参数和应用运行命令都是应用管理模块提供的,应用管理模块负责应用的添加、删除,应用添加时,用户界面中提示,填写应用名称,添加应用运行的命令,添加应用描述,添加应用参数的格式,添加应用参数。应用添加的流程图如例图3所示。
本发明的有益效果是为用户提供web界面,使各科学应用领域(如数学、化学、生物、物理、气象、工业制造等)的研究人员、专家能够以图形化的方式便捷的查看集群系统中可用的软硬件资源,并通过简单的填写和选择参数提交作业,在优秀的作业调度器的管理下,实现对各领域专业应用软件及系统计算资源的使用。本发明支持多集群间调度,通过集群系统的共享,可以解决用户对计算资源的需求问题,让用户同时使用更多的硬件资源来解决同一个问题,从而加快问题求解的规模和速度, 一定程度上缓解某些用户计算能力紧张的局面。采用B/S结构,符合作业调度系统的发展趋势,客户端不依赖于操作系统平台,通过Web浏览器即可方便地对作业进行管理,为单集群和多集群上作业的管理提供了单一 :的系统映像。


附图1系统基本结构示意附件2根据应用配置自动生成运行脚本的流程图;附图3应用管理中添加应用的流程图;附图4小规模集群时作业系统架构图;附图5大规模集群时作业系统架构图;附图6多集群吋作业系统架构图。
具体实施例方式
为了使本发明的目的、技术方案和优点更加清晰,下面结合附图和实施例,对小规模集群、大规模集群、多集群时的作业系统架构和作业提交的流程进行详细说明。
为小规模集群时作业系统架构图如附图4所示,小规模集群时,WebServer、Scheduler and Manager部署在一台服务器上,启动Webserver和SchedulerandManager的进程以及各Node上的Agent,用户通过Webserver的用户接口创建作业、提交作业,作业进入SchedulerandManager的进程所管理的队列等待调度,SchedulerandManager通过各Node上Agent査看各Node的资源使用情况,执行调度策略,决定某个作业的运行情况。
为大规模集群时作业系统架构图如附图5所示,大规模集群时,集群内部将扩展多个SchedulerandManager ,每个SchedulerandManager管理和调度其所辖节点。WebServer、 Scheduler and Manager分别部署在不同的服务器上,这样扩展的SchedulerandManager,分担作业的管理,降低单个SchedulerandManager时的调度任务,以降低通信瓶颈。启动Webserver和各个SchedulerandManager的进程以及各Node上的Agent,用户通过Webserver的用户接口创建作业、提交作业,在创建作业时用户可以指定作业调度的SchedulerandManager,如果不指定,系统根据简单的轮询原则,将提交的作业依次分配给各SchedulerandManager,分配的作业进入相应SchedulerandManager所管理的队列等待调度,SchedulerandManager根据其所辖Node上的资源使用情况,执行调度策略,确定其队列中某个作业的运行情况。各SchedulerandManager的调度独立进行,每个SchedulerandManager的调度策略可以不同,用户可以根据需要设定。
为多集群时作业系统架构图如附图6所示,多集群时,增加集群间SchedulerandManager,负责集群间的调度和管理,每个集群内部有各自的SchedulerandManager,负责集群内部节点的管—理和调度。WebServer、集群间的SchedulerandManager可以部署在同一台服务器上,启动Webserver和集群间SchedulerandManager进程,以及各集群内部的SchedulerandManager禾晰有Node上的Agent,用户通过Webserver的用户接口创建作业、提交作业,作业进入集群间SchednlerandManager的进程所管理的队列等待调度,如果指定运行该作业的cluster,作业就直接进入该cluster的内部调度器,如果没有指定运行该作业的cluster,则集群间SchedulerandManager,根据作业的应用属性选择当前任务最少的cluster作为运行该作业的cluster。作业进入集群内部后,将被集群内部的SchedulerandManager进行管理和调度。
本发明的具有弹性架构的作业调度系统釆用B/S架构,用户通过浏览器,可以方便快捷的进行作业管理。由于本体系结构中允许在集群间和集群内部支持多个调度器,当集群规模小,作业调度规则要求单一时,就可以采用一个调度器的方式进行调度,减少管理负责度;当大规模集群时,在集群内部扩展调度器,降低一个调度器时的调度负载和通讯负载,解决单点瓶颈问题;当多集群时,增加集群间的调度器,负责将作业分配到某个集群上,然后再利用集群内部调度器进行调度,解决多集群调度问题。当集群规模较大时或者要求集群内部节点使用不同作业调度规则时,可以使用多个调度器进行调度。当多个集群间进行作业调度时,可以在集群间添加一个调度器,将作业先分配到集群上,然后再在集群内部进行调度。因此本体系架构可以满足多集群作业调度和单集群规模较大时的作业调度。由此可见,本发明的系统具有很好的可扩展性,较广适用范围。
权利要求
1、一种具有弹性架构的集群作业调度系统,其特征在于,系统采用B/S结构,客户端通过浏览器远程实现作业的提交和管理;系统允许在集群间和集群内部建立不同的调度器,每个调度器选择使用的调度策略相同或不同,作业提交时根据其应用属性,自动生成该应用的配置和运行脚本,当集群规模小,作业调度规则要求单一时,采用一个调度器的方式进行调度,当集群规模较大时或者要求集群内部节点使用不同作业调度规则时,扩展多个调度器进行调度,用户根据需要为不同的调度器选择不同的调度规则;作业调度系统包括调度器管理模块,策略管理模块、资源管理模块、作业管理模块和应用管理模块,其中调度器管理模块与策略管理模块、资源管理模块、作业管理模块相连,作业管理模块又与应用管理模块和资源管理模块相连,五模块共同协作完成作业的调度;调度器管理模块负责创建调度器,控制调度器的状态,在集群间和集群内部建立的调度器是不同的,集群间的调度器是应用调度器,负责将作业按照作业的应用属性分配到具有该应用的集群上,即将任务提交给具有某个应用属性的队列里,集群内部调度器负责按用户设定的调度策略调度在该集群队列中的任务,当大规模集群时,通过把这个大集群划分成小集群,扩展集群内调度器,降低一个调度器时的调度负载和通讯负载,来支持大规模的集群应用;策略管理模块负责调度策略的制定,系统中包含作业的调度策略和资源的调度策略,其中作业的调度策略包括优先级、资源公平共享、资源需求的策略,并允许用户自定义调度策略;资源的调度策略包括CPU负载低优先,资源先空闲先使用,最小满足需求的资源优先策略;调度器需要选择要使用的调度策略,这些调度策略相同或不同;资源管理模块负责包括集群、功能池、节点的管理,其中节点的管理包括收集节点的静态信息、负载信息;静态信息包括,按核计算的CPU个数,CPU类型,内存大小,磁盘容量;负载信息包括CPU利用率、内存利用率、磁盘利用率,调度器需要根据资源管理模块提供的信息进行调度;作业管理模块负责作业的提交、修改、删除、重启、挂起、退出、强制执行,作业管理模块与资源管理模块和应用管理模块相连,作业创建时,选择提交的集群和节点,这些集群和节点是资源管理模块提供的;作业创建时时有一个应用属性,选择某一应用后,填写这个应用相关的参数配置,当作业提交时根据该应用的运行命令和参数配置信息,自动生成作业运行脚本,应用相关的参数和应用运行命令都是应用管理模块提供的,应用管理模块负责应用的添加、删除,应用添加时,用户界面中提示,填写应用名称,添加应用运行的命令,添加应用描述,添加应用参数的格式,添加应用参数。
2、 根据权利要求1所描述的系统,其特征在于,当多个集群间进行作业调度 时,在集群间添加一个调度器,通过该调度器将作业先分配到集群上,然后再利 用集群内部的调度器在集群内部进行调度。
3、 根据权利要求1所描述的系统,其特征在于,该系统中的作业有一个应用 属性,作业提交时,从应用管理模块中获得该应用的配置和应用运行命令,当作 业提交时,自动生成方便用户使用的作业运行脚本。
全文摘要
本发明提供了一种具有弹性架构的集群作业调度系统,本作业调度系统采用B/S结构,客户端通过web浏览器即可方便地实现作业的提交和管理,为多集群上作业的管理提供了单一的系统映像。系统结构包括调度器管理模块、资源管理模块、作业管理模块、应用管理模块和策略管理模块,调度器管理模块可以在集群间和集群内部建立不同的调度器,每个调度器选择使用的调度策略可以各不相同,作业管理模块根据作业的应用属性,从应用管理模块中获得相应应用的配置和应用运行命令,当作业提交时,自动生成作业运行脚本,为作业调度提供了灵活的调度机制,方便用户使用。
文档编号G06F3/048GK101599026SQ20091001711
公开日2009年12月9日 申请日期2009年7月9日 优先权日2009年7月9日
发明者刚 李, 邸双朋, 健 魏 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1