基于torque的并行检查点执行方法

文档序号:6377955阅读:553来源:国知局
专利名称:基于torque的并行检查点执行方法
技术领域
本发明属于计算机领域,具体涉及一种基于TORQUE的并行检查点执行方法。
背景技术
作业调度系统是高性能计算机系统基础的应用管理软件,其功能与性能直接关系到整个计算机系统的效率以及可靠性。但是在并行平台上对检查点技术并没能做到广泛的支持,而检查点的一个典型应用就是容错。检查点现有技术=Libckpt :集成在Condor操作系统中的检查点系统。由于缺乏内核的支持,它只能对有限的用户进程进行设置检查点,使得它在机群/作业管理系统中的应用变得困难。
SGI的Irix :内核级实现,提供了丰富的用户接口和实际应用。但是Irix不是一款开放源代码的系统。Epckpt :基于Linux的检查点系统,未作存储优化,效率低下。现有的TORQUE虽然已经实现了检查点技术,但是只能对单进程的任务进行检查点设置,且无法支持对多进程进行检查点和进程的迁移。存在这些问题的原因如下=TORQUE只是结合了 BLCR(Berkeley Lab’ s Linux Checkpoint/Restart伯克利实验室实现的检查点与恢复技术)进行进程检查点。而BLCR自身无法支持分布式多进程任务;而且只在任务运行节点上存有检查点映像文件,其他节点无法利用该文件,也就无法做到进程迁移。

发明内容
为克服上述缺陷,本发明提供了一种基于TORQUE的并行检查点执行方法,运用改进的基于TORQUE的改进检查点技术,使得原来只支持单进程检查点的T0RQUE,现在也能够支持多进程检查点,并能够对节点故障自动处理,对进程进行迁移。为实现上述目的,本发明提供一种基于TORQUE的并行检查点执行方法,基于TORQUE的并行检查点执行方法,在NFS文件共享存储系统中对计算节点进行检查点操作,其改进之处在于,所述方法包括如下步骤(I).用户向TORQUE服务器守护进程pbs_server提交作业;(2). TORQUE服务器守护进程发送任务消息给TORQUE调度器pbs_sched,TORQUE调度器pbs_sched根据作业中指定的参数要求寻找计算节点;(3).对计算节点进行检查点操作。本发明提供的优选技术方案中,在所述步骤I中,用户通过TORQUE提交作业命令qsub提交作业脚本,作业脚本使用MPI进程启动命令chkp_mpirun启动MPI,在提交作业命令中加入作业检查点请求。本发明提供的第二优选技术方案中,在所述步骤2中,TORQUE调度器pbS_SChed通过计算节点守护进程Pbsjnom轮询各计算节点的状态,将结果返回给TORQUE服务器守护进程 pbs_server。
本发明提供的第三优选技术方案中,在所述步骤3中,TORQUE服务器守护进程pbs_server将用户的检查点操作请求传送到相应的计算节点上并周期运行;其中,各个计算节点分别设置有独立检查点镜像。本发明提供的第四优选技术方案中,周期进行检查点操作的各个计算节点将独立检查点镜像合并成全局检查点文件。本发明提供的第五优选技术方案中,全局检查点文件存储在NFS文件共享存储系统中。本发明提供的第六优选技术方案中,在所述步骤3后,存在以下步骤a:(a).在轮询各个计算节点时,如果发现某个计算节点故障,则将该计算节点上分配的所有未执行完的和未执行的任务根据全局检查点文件全部进行卷回恢复。 本发明提供的第七优选技术方案中,在所述步骤a中,TORQUE调度器pbS_SChed将故障计算节点的所有任务号发回给TORQUE服务器守护进程pbs_serVer,TORQUE服务器守护进程pbs_server将读取NFS文件共享存储系统上离当前时间最近的全局进程映像文件,以卷回的方式重新提交任务。与现有技术比,本发明提供的一种基于TORQUE的并行检查点执行方法,基于TORQUE的改进检查点技术,可以使得TORQUE对运行于其上的,无论是单进程还是多进程的任务进行检查点,并在节点故障时自动进行卷回恢复,避免了由用户发现节点失效并重新提交作业的不便,以及重启作业不及时导致的系统利用率低下,从而提高了调度系统的可靠性;而且,经实验测试,运用改进的基于TORQUE的改进检查点技术,使得原来只支持单进程检查点的T0RQUE,现在也能够支持多进程检查点,并能够对节点故障自动处理,对进程进行迁移,从而减少了因节点故障造成的计算资源浪费。


图I为基于TORQUE的并行检查点执行方法的流程示意图。
具体实施例方式涉及的关键技术术语的说明I TORQUE Tera-scale Open-source Resource and Queue manager 开源的万亿级计算资源与队列管理器2检查点在一个事务结束而另一个事务即将开始的时候,对系统状态的一次快照。3映像文件检查点文件,保存了进程执行的所有信息。4进程迁移在不同的处理器上移动一个正在执行进程的能力,这些处理器通过网络互相连接而不是局部共享内存。5NFS Network File System 网络文件系统如图I所示,一种基于TORQUE的并行检查点执行方法,基于TORQUE的并行检查点执行方法,在NFS文件共享存储系统中对计算节点进行检查点操作,所述方法包括如下步骤(I).用户向TORQUE服务器守护进程pbs_server提交作业;(2). TORQUE服务器守护进程发送任务消息给TORQUE调度器pbs_sched,TORQUE调度器pbs_sched根据作业中指定的参数要求寻找计算节点;(3).对计算节点进行检查点操作。在所述步骤I中,用户通过TORQUE提交作业命令qsub提交作业脚本,提交命令中需要加入作业检查点请求,作业脚本中使用MPI进程启动命令chkp_mpirun启动MPI,或者可以直接在客户端以命令行形式提交MPI作业,方法为在命令行执行MPI启动命令chkp_mpirun0在所述步骤2中,TORQUE调度器pbs_sched通过计算节点守护进程pbs_mom轮询各计算节点的状态,将结果返回给TORQUE服务器守护进程pbs_server。在所述步骤3中,TORQUE服务器守护进程pbsjerver将用户的检查点操作请求传送到相应的计算节点上并周期运行;其中,各个计算节点分别设置有独立检查点镜像。周期进行检查点操作的各个计算节点将独立检查点镜像合并成全局检查点文件。全局检查点文件存储在NFS文件共享存储系统中。 在所述步骤3后,存在以下步骤a (a).在轮询各个计算节点时,如果发现某个计算节点故障,则将该计算节点上分配的所有未执行完的和未执行的任务根据全局检查点文件全部进行卷回恢复。在所述步骤a中,TORQUE调度器pbS_SChed将故障计算节点的所有任务号发回给TORQUE服务器守护进程pbs_server, TORQUE服务器守护进程pbs_server将读取NFS文件共享存储系统上离当前时间最近的全局进程映像文件,以卷回的方式重新提交任务。通过以下实施例对基于TORQUE的并行检查点执行方法做进一步描述。基于TORQUE的并行检查点执行方法,包括一、NFS文件系统(Network File System网络文件系统)本方法采用了 NFS共享存储来存储映像文件,各进程在为自己设置检查点时,其检查点文件实际上是被NFS发送到挂载在管理结点上的稳定存储阵列中,存储阵列的可靠性一般由其自身来保证(RAID-Redundant Arrays of InexpensiveDisks磁盘阵列机制)。用NFS共享文件系统提供的服务,可以使得所有的计算节点都能访问到该存储空间,为进程的迁移以及节点故障后在其他节点恢复提供了有利条件。二、并行检查点执行流程I.通常并行任务的实现都是基于MPI (Message Passing Interface消息传递接口)而实现的,本方法在执行作业命令时不再使用MPI自身的mpirun(MPI启动命令),而是使用本方法提供的chkp_mpirun命令(本方法提供的MPI进程启动命令),具体实现流程如下2.用户可以直接使用chkp_mpirun命令在命令行启动MPI可执行程序,用户也可以通过qsub命令(TORQUE的提交作业命令)提交作业脚本,作业脚本中使用chkp_mpirun命令启动MPI可执行程序,并在提交命令中加入作业检查点请求;pbs_serVer (TORQUE在管理节点上的守护进程)接收到用户脚本之后,发送任务消息给pbs_sched调度器(TORQUE在管理节点上的调度器),调度器根据脚本文件中指定的参数要求寻找合适的节点。调度器通过pbS_mom(T0RQUE在计算节点上的守护进程)轮询各计算节点的状态,将结果返回给pbs_server, pbs_server再将用户的任务程序由网络传送到相应的计算节点,并在该节点上运行,同时在该节点上周期进行检查点,启动任务的节点会将个计算节点上的独立检查点镜像合并成全局一致的检查点镜像,从而达到单一系统映像效果。并将这个周期性产生的检查点文件存放在NFS共享存储上。3.实现自动卷回恢复也就是实现进程迁移,需要管理节点定时轮询各计算节点是状态。如果发现节点故障,则将该节点上分配的所有未执行完的和未执行的任务全部进行卷回恢复。这是通过修改pbs_sched调度器的定时执行函数来实现的。pbs_sched调度器会将故障节点的所有任务号发回给pbs_server, pbs_server将读取共享存储上的离当前时间最近的全局进程映像文件,以卷回的方式重新提交任务。
需要声明的是,本发明内容及具体实施方式
意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。
权利要求
1.一种基于TORQUE的并行检查点执行方法,在NFS文件共享存储系统中对计算节点进行检查点操作,其特征在于,所述方法包括如下步骤 (1).用户向TORQUE服务器守护进程pbs_server提交作业; (2).TORQUE服务器守护进程发送任务消息给TORQUE调度器pbS_SChed,TORQUE调度器pbs_sched根据作业中指定的参数要求寻找计算节点; (3).对计算节点进行检查点操作。
2.根据权利要求I所述的方法,其特征在于,在所述步骤I中,用户通过TORQUE提交作业命令qsub提交作业脚本,作业脚本使用MPI进程启动命令chkp_mpirun启动MPI,在提交作业命令中加入作业检查点请求。
3.根据权利要求I所述的方法,其特征在于,在所述步骤2中,TORQUE调度器pbs_sched通过计算节点守护进程pbs_mom轮询各计算节点的状态,将结果返回给TORQUE服务器守护进程pbs_server。
4.根据权利要求I所述的方法,其特征在于,在所述步骤3中,TORQUE服务器守护进程pbs_server将用户的检查点操作请求传送到相应的计算节点上并周期运行;其中,各个计算节点分别设置有独立检查点镜像。
5.根据权利要求4所述的方法,其特征在于,周期进行检查点操作的各个计算节点将独立检查点镜像合并成全局检查点文件。
6.根据权利要求5所述的方法,其特征在于,全局检查点文件存储在NFS文件共享存储系统中。
7.根据权利要求I或者4所述的方法,其特征在于,在所述步骤3后,存在以下步骤a (a).在轮询各个计算节点时,如果发现某个计算节点故障,则将该计算节点上分配的所有未执行完的和未执行的任务根据全局检查点文件全部进行卷回恢复。
8.根据权利要求7所述的方法,其特征在于,在所述步骤a中,TORQUE调度器pbs_sched将故障计算节点的所有任务号发回给TORQUE服务器守护进程pbs_server, TORQUE服务器守护进程pbs_server将读取NFS文件共享存储系统上离当前时间最近的全局进程映像文件,以卷回的方式重新提交任务。
全文摘要
本发明提供了一种基于TORQUE的并行检查点执行方法,在NFS文件共享存储系统中对计算节点进行检查点操作,所述方法包括如下步骤(1).用户向TORQUE服务器守护进程pbs_server提交作业,提交命令加入检查点请求,作业脚本中使用作业启动命令chkp_mpirun启动任务;(2).TORQUE服务器守护进程发送任务消息给TORQUE调度器pbs_sched,TORQUE调度器pbs_sched根据作业中指定的参数要求寻找计算节点;(3).对计算节点进行检查点操作。本发明提供的基于TORQUE的并行检查点执行方法,运用改进的基于TORQUE的改进检查点技术,使得原来只支持单进程检查点的TORQUE,现在也能够支持多进程检查点,并能够对节点故障自动处理,对进程进行迁移。
文档编号G06F11/00GK102915257SQ20121036765
公开日2013年2月6日 申请日期2012年9月28日 优先权日2012年9月28日
发明者林霞 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1