一种用于机群容错的系统和方法技术方案

技术编号:2918131 阅读:228 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用于机群容错的系统和方法。该系统包括:检查点服务器,其网络连接到所述多个结点,用于收集并行应用的所有进程的信息,向结点发送监控请求,并响应来自结点的检查点操作请求,并将检查点文件保存于检查点文件服务器上;在检查点切取操作完成后,执行检查点恢复操作;检查点文件服务器,其网络连接到所述多个结点,用于存储检查点文件,并在进程恢复过程中提供检查点文件访问支持;故障监测模块,位于所述结点上,用于根据所述监控请求来监测本地结点的操作系统的运行状态和所述监控请求指定进程的指定运行状态,以及所述监控请求指定的硬件部件的指定状态,并在监测到故障时向所述检查点服务器发送检查点操作请求。

【技术实现步骤摘要】

本专利技术涉及机群容错,特别涉及一种基于进程检查点切取和恢复的用于机群容错的方法和系统。
技术介绍
机群是当前高性能计算机的主流结构,它的结点和互连网络通常都采用现成的商品化部件而非定制。这种硬件平台的开放性和可扩展性使机群相对于传统的大型机(Mainframe)、大规模并行处理系统(Massively ParallelProcessors,MPPs)和对称多处理系统(Symmetric MultiProcessors,SMPs)而言具有优良的性能价格比。随着机群系统规模的不断扩展和复杂性的逐渐提高,其可靠性呈现下降趋势。机群系统的容错问题已经引起了学术界和工业界的广泛关注。探索具有较低的开销和良好的可扩展性的机群容错机制,使得百万亿次、千万亿次规模的机群系统能够具有理想的可用性是当前机群系统设计所面临的迫切任务。基于进程检查点切取和恢复技术的卷回恢复策略是在机群等并行计算机系统中并行应用容错的主要途径。进程检查点切取和恢复技术是指在一个时刻保存一个目标进程的运行状态,并在随后的一个时刻以此状态为起点重建该进程,使其继续运行。在该过程中,被保存的进程状态叫做该进程的检查点,保存检查点的操作常称为切取(Checkpointing)。而利用检查点重建进程,使其能够继续运行的操作称为恢复(Recovery或Restart)。对于在应用的运行过程中周期性执行的检查点操作,相邻两次操作之间的时间跨度称为检查点间隔。进程检查点的内容不但包括基本的进程属性,用户地址空间中的数据段、堆栈段、堆等存储区域的当前内容,而且还包括用于进程间通信和输入/输出(I/O)的各种操作系统资源的当前状态,例如已创建的套接字(Sockets)、共享内存、消息队列和已打开的各种类型的文件等等。-->根据在机群系统中实现的不同层次,目前已有的进程检查点技术可以分为系统级检查点技术和用户级检查点技术。系统级检查点技术是通过修改操作系统代码或者加载核心扩展模块的方式,在操作系统的核心层实现进程状态的保存和恢复。用户级检查点技术是在目标进程的用户态上下文中对其状态进行保存和恢复。这两种现有技术都需要在目标进程所在的结点内运行,其不足之处在于当目标结点出现故障的时候检查点操作无法运行。这一特点使得现有的并行应用检查点技术需要在并行计算机出现任何软硬件错误之前,对所有的相关进程执行检查点操作。因此,现有的协同式并行应用检查点技术有如下缺点:一,需要定期对一个并行应用中的所有进程进行检查点操作,导致时间开销很大;二,检查点映像文件所占存储资源庞大,为了满足检查点的存储需求,会使机群系统部件数量增多,从而导致系统成本增加,但系统整体可靠性却下降。
技术实现思路
本专利技术的一个目的是为并行应用提供局部化的快速故障恢复,提供一种用于机群容错的系统。本专利技术的另一个目的是提供一种用于机群容错的方法,克服现有的并行应用检查点方法通过对一个并行应用中的所有进程执行周期性的检查点操作实现容错所导致的不足。本专利技术的
技术实现思路
主要是源于对机群故障的如下规律性:第一,并行应用异常中止过程中的多米诺骨牌效应。对于一个并行程序而言,除了诸如水灾、断电等特殊的全系统故障之外,往往是其中一个进程首先异常中止,然后这一故障通过进程间通信机制逐渐扩散到更多的进程,最终导致整个并行应用的中止。基于该规律认识,本专利技术能够在结点出现故障的情况下及时地对一个并行应用中受故障影响的进程单独进行检查点和恢复,从而避免整个并行应用因为极少数受结点故障影响的进程而异常中止。第二,并行应用中一个进程的异常中止往往源于该进程所在结点的操作系统、后台服务进程错误和机群系统资源紧张等客观故障因素。由于现有的处理器(CPU)和操作系统对用户进程的各种保护机制,上述客观故障因素往往不会对无关应用程序的进程状态造成破坏,即结点故障发生时,其操作系统中的-->绝大部分用户进程的状态依然正确而完整。基于该规律认识,本专利技术可以对已出现故障的结点中的进程执行检查点操作,获取该进程的正确状态。第三,上述客观故障的发生是一个过程。无论是硬件故障,还是软件故障,从故障被激活到造成无法忽略或者不可挽回的机群系统错误和失效,这两个时间点之间往往存在一个过程。基于该规律认识,本专利技术可以根据故障的类型,针对不同硬件部件的特点或者软件故障传播的可能路径确定当前故障对于指定进程的状态的影响,甚至阻止特定故障导致计算机系统的崩溃。因此,机群中并行应用的容错问题就归结为可否实现对机群软硬件故障的探测,可否从已探测到故障的计算机(即结点)中获取所需的进程状态,如何使得单个进程的检查点切取和恢复过程不会影响其所在的并行应用中的其它进程。为了本专利技术的目的,本专利技术提供如下技术方案:一种用于机群容错的系统,所述机群包括网络连接的多个结点,该系统包括:检查点服务器,其网络连接到所述多个结点,用于收集并行应用的所有进程的信息,根据进程信息,向结点发送监控请求,并响应来自结点的检查点操作请求,执行远程检查点切取操作,并将检查点文件保存于检查点文件服务器上;在检查点切取操作完成后,执行检查点恢复操作;检查点文件服务器,其网络连接到所述多个结点,用于存储检查点文件,并在进程恢复过程中提供检查点文件访问支持;故障监测模块,位于所述结点上,用于根据所述监控请求来监测本地结点的操作系统的运行状态和所述监控请求指定进程的指定运行状态,以及所述监控请求指定的硬件部件的指定状态,并在监测到故障时向所述检查点服务器发送检查点操作请求和向被监测的并行应用的其他进程广播通知该进程正在进行检查点操作。进一步地,所述检查点服务器包括:并行应用进程管理器,用于在机群结点中加载并行应用,并收集并行应用的所有进程的信息;并行应用注册管理器,用于注册并行应用的所有进程的信息,并根据进程信息,向结点发送监控请求;-->检查点切取模块,用于响应来自结点的检查点操作请求,执行远程检查点切取操作,将检查点文件保存于检查点文件服务器中,并在检查点切取操作完成后,将检查点文件的位置和对应进程在其并行应用中的逻辑序号信息发送给所述并行应用进程管理器;所述并行应用进程管理器还用于在收到所述检查点文件的位置和对应进程的逻辑序号信息后,执行进程恢复操作。进一步地,在检查点服务器进行远程检查点切取过程中,通过远程直接内存访问方式获取出现故障的进程的所有状态。进一步地,所述结点还包括:用于通信及状态监控的协处理器;所述协处理器上的通信系统检查点模块,用于实现通信设备的检查点切取并将通信设备的检查点文件保存到所述检查点文件服务器上,和根据所述通信设备的检查点实现通信设备的断点恢复;其中,所述故障监测模块运行在该协处理器上。进一步地,所述协处理器上还包括:远程检查点服务模块,用于响应来自所述检查点服务器的读取本地进程状态、本地通信设备的状态的请求,和响应来自本地结点的故障监测模块的请求向检查点服务器发出启动检查点操作的请求并向检查点服务器发送启动检查点操作的请求。进一步地,所述结点还包括:主机方处理器,该主机方处理器上的内核状态监控模块和进程恢复模块;其中,当该所述内核状态监控模块监测到操作系统内核状态出现故障时,向所述故障监测模块发送结点故障恢复请求;所述故障监测模块在接收到所述结点故障恢复请求后,向所述检查本文档来自技高网
...

【技术保护点】
一种用于机群容错的系统,所述机群包括网络连接的多个结点,其特征是,该系统包括: 检查点服务器,其网络连接到所述多个结点,用于收集并行应用的所有进程的信息,根据进程信息,向结点发送监控请求,并响应来自结点的检查点操作请求,执行远程检查点切取操作,并将检查点文件保存于检查点文件服务器上;在检查点切取操作完成后,执行检查点恢复操作; 检查点文件服务器,其网络连接到所述多个结点,用于存储检查点文件,并在进程恢复过程中提供检查点文件访问支持; 故障监测模块,位于所述结点上,用于根据所述监控请求来监测本地结点的操作系统的运行状态和所述监控请求指定进程的指定运行状态,以及所述监控请求指定的硬件部件的指定状态,并在监测到故障时向所述检查点服务器发送检查点操作请求和向被监测的并行应用的其他进程广播通知该进程正在进行检查点操作。

【技术特征摘要】
1、一种用于机群容错的系统,所述机群包括网络连接的多个结点,其特征是,该系统包括:检查点服务器,其网络连接到所述多个结点,用于收集并行应用的所有进程的信息,根据进程信息,向结点发送监控请求,并响应来自结点的检查点操作请求,执行远程检查点切取操作,并将检查点文件保存于检查点文件服务器上;在检查点切取操作完成后,执行检查点恢复操作;检查点文件服务器,其网络连接到所述多个结点,用于存储检查点文件,并在进程恢复过程中提供检查点文件访问支持;故障监测模块,位于所述结点上,用于根据所述监控请求来监测本地结点的操作系统的运行状态和所述监控请求指定进程的指定运行状态,以及所述监控请求指定的硬件部件的指定状态,并在监测到故障时向所述检查点服务器发送检查点操作请求和向被监测的并行应用的其他进程广播通知该进程正在进行检查点操作。2、根据权利要求1所述的一种用于机群容错的系统,其特征是,所述检查点服务器包括:并行应用进程管理器,用于在机群结点中加载并行应用,并收集并行应用的所有进程的信息;并行应用注册管理器,用于注册并行应用的所有进程的信息,并根据进程信息,向结点发送监控请求;检查点切取模块,用于响应来自结点的检查点操作请求,执行远程检查点切取操作,将检查点文件保存于检查点文件服务器中,并在检查点切取操作完成后,将检查点文件的位置和对应进程在其并行应用中的逻辑序号信息发送给所述并行应用进程管理器;所述并行应用进程管理器还用于在收到所述检查点文件的位置和对应进程的逻辑序号信息后,执行进程恢复操作。3、根据权利要求1或2所述的一种用于机群容错的系统,其特征是,在检查点服务器进行远程检查点切取过程中,通过远程直接内存访问方式获取出现故障的进程的所有状态。4、根据权利要求1或2所述的一种用于机群容错的系统,其特征是,所述结点包括:用于通信及状态监控的协处理器;所述协处理器上的通信系统检查点模块,用于实现通信设备的检查点切取并将通信设备的检查点文件保存到所述检查点文件服务器上,和根据所述通信设备的检查点实现通信设备的断点恢复;其中,所述故障监测模块运行在该协处理器上。5、根据权利要求4所述的一种用于机群容错的系统,其特征是,所述协处理器上还包括:远程检查点服务模块,用于响应来自所述检查点服务器的读取本地进程状态、本地通信设备的状态的请求,和响应来自本地结点的故障监测模块的请求向检查点服务器发出启动检查点操作的请求并向检查点服务器发送启动检查点操作的请求。6、根据权利要求1或2所述的一种用于机群容错的系统,其特征是,所述结点还包括:主机方处理器,该主机方处理器上的内核状态监控模块和进程恢复模块;其中,当该所述内核状态监控模块监测到操作系统内核状态出现故障时,向所述故障监测模块发送结点故障恢复请求;所述故障监测模块在接收到所述结点故障恢复请求后,向所述检查点服务器发送检查点操作请求;所述进程恢...

【专利技术属性】
技术研发人员:霍志刚
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

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

1