CN103617094A - 多核处理器的瞬时故障容错系统 - Google Patents
多核处理器的瞬时故障容错系统 Download PDFInfo
- Publication number
- CN103617094A CN103617094A CN201310695327.0A CN201310695327A CN103617094A CN 103617094 A CN103617094 A CN 103617094A CN 201310695327 A CN201310695327 A CN 201310695327A CN 103617094 A CN103617094 A CN 103617094A
- Authority
- CN
- China
- Prior art keywords
- module
- recovery
- checkpoint
- subsystem
- check point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
Abstract
本发明提供了一种多核处理器的瞬时故障容错系统,包括:故障检测分析子系统、进程监控子系统和检查点设置及恢复子系统;所述检查点设置及恢复子系统包括:用户态命令模块、libcr库函数模块和进程保护恢复内核模块;所述用户调用接口模块用于向所述进程保护恢复内核模块发送检查点的保存和恢复的请求并显示操作结果;所述libcr库函数模块用于触发进程进行检查点的保存和恢复;所述进程保护恢复内核模块用于接收所述用户调用接口模块发送的检查点的保存和恢复请求,并在执行对所述进程的运行信息的检查点的保存和恢复的操作后返回操作结果。本发明能够较好地提高计算机系统的可靠性,并提高计算机从瞬时故障中恢复的能力。
Description
技术领域
本发明涉及计算机软硬件领域,尤其涉及一种多核处理器的瞬时故障容错系统。
背景技术
在体系结构技术的推动下,目前的微处理器已经全面进入片上多核时代。多核处理器是高性能计算机中关键的一环,但处理器数量的快速增长,以及采用基于互联网的集群、网格技术等原因,导致高性能并行计算系统的出错概率随之增加。同时,航空航天、核模拟实验、军事情报搜集处理、天气预报等等领域越来越依赖高性能计算。因此,对于高性能并行计算系统的可靠性能研究是尤为重要的。
MIPS架构多核处理器是一种基于RISC架构且兼容MIPS64指令的多核处理器,但是以MIPS架构为代表的多核处理器芯片在受到高能粒子轰击或噪声干扰时仍存在发生瞬态故障的问题,而且现有的系统容错加固机制并不适用于MIPS架构多核处理器的特有架构与指令系统,导致MIPS架构多核处理器应用于高性能并行计算中的可靠性得不到保证。
发明内容
本发明为解决MIPS架构多核处理器芯片因容易受到高能粒子轰击或噪声干扰等恶劣环境影响而发生瞬态故障的问题,进而提供一种多核处理器的瞬时故障容错系统。
本发明是通过以下技术方案实现的:
一种多核处理器的瞬时故障容错系统,包括:故障检测分析子系统、进程监控子系统和检查点设置及恢复子系统;
所述检查点设置及恢复子系统包括:用户态命令模块、libcr库函数模块和进程保护恢复内核模块;
所述用户调用接口模块用于向所述进程保护恢复内核模块发送检查点的保存和恢复的请求并显示操作结果;
所述libcr库函数模块用于触发进程进行检查点的保存和恢复;
所述进程保护恢复内核模块用于接收所述用户调用接口模块发送的检查点的保存和恢复请求,并在执行对所述进程的运行信息的检查点的保存和恢复的操作后返回操作结果。
本发明的有益效果:能够较好地提高计算机系统的可靠性,并提高计算机从瞬时故障中恢复的能力。
附图说明
图1为本发明提供的多核处理器的瞬时故障容错系统的结构示意图;
图2为本发明提供的多核处理器的瞬时故障容错系统的实现方案示意图;
图3为本发明提供的对会话进行检查点保存的流程示意图;
图4为本发明提供的从检查点文件恢复会话的流程示意图。
具体实施方式
为了能够更清晰地阐明本发明的特点和工作基本原理,以下结合附图及实施例,对本发明进行说明。
本具体实施方式提供了一种多核处理器的瞬时故障容错系统,如图1所示,包括:故障检测分析子系统、进程监控子系统和检查点设置及恢复子系统;
所述检查点设置及恢复子系统包括:用户态命令模块、libcr库函数模块和进程保护恢复内核模块;
所述用户调用接口模块用于向所述进程保护恢复内核模块发送检查点的保存和恢复的请求并显示操作结果;
所述libcr库函数模块用于触发进程进行检查点的保存和恢复;
所述进程保护恢复内核模块用于接收所述用户调用接口模块发送的检查点的保存和恢复请求,并在执行对所述进程的运行信息的检查点的保存和恢复的操作后返回操作结果。
本具体实施方式提供的多核处理器的瞬时故障容错系统中的多核处理器为MIPS架构多核处理器,运行的操作系统为支持RISC架构,兼容MIPS64指令CPU的Linux操作系统,其中的检查点的保存和恢复为内核级检查点技术。
具体的,本具体实施方式提供的多核处理器的瞬时故障容错系统针对多核处理器系统,添加内核模块,在操作系统级别上实现用户透明的检查点设置与回卷恢复机制。其功能包括系统容错、任务调度和进程迁移。如图2所示,本系统主要包括故障检测分析子系统、进程监控子系统、检查点设置及恢复子系统。
其中,故障检测分析子系统主要功能为:当系统发生故障时,分析故障类型为硬件损坏发生的永久故障,还是由于外界干扰引起的处理器内部电路单元状态发生改变的瞬时故障。发生硬件故障,硬件已损坏,无法再进行检查点设置及恢复操作;只有分析故障类型为瞬时故障时,才有必要进行本故障容错系统的其他操作。
另外,进程监控子系统自系统运行开始,始终运行于后台,系统终止运行时终止。对系统关键进程进行监控,当进程发生故障时,向故障分析子系统发送信号,令其对该进程发生故障类型进行分析。
最后,检查点设置及恢复子系统包括:用户态命令模块、libcr库函数模块和进程保护恢复内核模块三大部分:
(1)运行在内核空间的进程保护恢复内核模块是会话检查点的保存与恢复的核心,它接收用户调用接口模块发出的检查点的保存和恢复请求,执行对进程运行信息的检查点保存和恢复工作。
(2)libcr库函数模块是一个链接库,该链接库实现特别的函数,触发会话中的进程进行检查点的保存和恢复。
(3)用户调用接口模块用于访问内核信息,用户可通过用户调用接口模块调用内核模块的功能,实现对进程检查点的保存和恢复,系统通过用户调用接口模块在用户空间与内核空间传递调用信息,以及返回调用结果。
下面通过具体的实施例对本具体实施方式提供的多核处理器的瞬时故障容错系统进行详细说明。
实施例1
如图3所示,本系统对一个会话进行检查点保存的过程的具体步骤如下:
步骤1:请求对会话进行检查点保存,将请求加入请求队列;
步骤2:保存会话中进程的相互关系到检查点文件;
步骤3:通过向各个进程的libcr链接模块发送信号,触发各个进程进行自我检查点保存;
步骤4:等待各个进程完成检查点保存;
步骤5:完成会话的检查点设置保存,内核模块释放备份请求队列,并返回结果。
上述步骤3中触发会话中各个进程进行自我检查点信息保存的具体步骤如下:
步骤31:阻塞会话内用户进程;
步骤32:进入临界区,使各个进程可互斥地将进程运行信息保存到检查点文件中;
步骤33:将进程备份请求加入到请求队列中,保存进程运行信息到检查点文件中;
步骤34:请求队列上最后一个任务完成运行信息备份,各进程退出临界区;
步骤35:各个进程恢复运行;
步骤36:置位备份完成位,通知内核模块检查点保存完成。
上述的进程运行信息包括以下内容,保存进程运行信息时按顺序保存在检查点文件中:
(1)保存用户进程映像:保存数据段,包括:初始化数据区、未初始化数据区、堆;保存进程用户栈:保存栈指针,保存栈空间;
(2)保存与进程上下文切换有关的项(包括程序计数器PC、处理机状态字寄存器PSW等);
(3)保存用户进程打开的文件描述符;
(4)保存信号状态(包括即将被用户进程接收的信号)和由用户进程定义的信号处理函数。
实施例2
如图4所示,本系统恢复一个会话的过程的具体步骤如下:
步骤1:请求从检查点文件恢复会话;
步骤2:从检查点文件读取会话中进程数量及进程间关系;
步骤3:发送命令创建相应进程;
步骤4:等待进程创建并从检查点文件恢复完成,等待接收会话恢复请求;
步骤5:收到会话恢复请求,根据检查点文件恢复会话内进程间关系;
步骤6:进程间关系恢复完成,唤醒等待的会话进程,恢复完成;
步骤7:释放请求,返回结果。
上述步骤4中各个进程从检查点文件恢复各自的运行信息的具体步骤如下:
步骤41:根据检查点文件创建相应数目的进程;
步骤42:阻塞,等待最后一个进程加入等待队列后唤醒所有进程;
步骤43:各个进程进入临界区,互斥的从检查点文件恢复相应的运行信息,恢复完成的进程等待其他进程完成恢复;
步骤44:所有进程恢复完成,唤醒队列上的所有进程;
步骤45:置位进程恢复完成位,唤醒会话恢复进程,请求恢复进程间关系;
步骤46:等待进程间关系恢复完成。
采用本具体实施方式提供的技术方案,采用内核级检查点技术实现,是从属于整个操作系统的一个容错模块,同时也是操作系统其它功能模块的冗余,具有完全的用户透明性,无需对用户程序代码进行任何修改即可使用该容错加固机制;具有备份进程状态的功能,并且当操作系统出现故障而导致某些进程终止时,还可以调度冗余备份实现进程状态的恢复;本系统能够运用于多核计算机系统中,从而提高高性能并行计算的可靠性。
以上所述,仅为本发明较佳的具体实施方式,这些具体实施方式都是基于本发明整体构思下的不同实现方式,而且本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (1)
1.一种多核处理器的瞬时故障容错系统,包括:故障检测分析子系统、进程监控子系统和检查点设置及恢复子系统;
其特征在于,所述检查点设置及恢复子系统包括:用户态命令模块、libcr库函数模块和进程保护恢复内核模块;
所述用户调用接口模块用于向所述进程保护恢复内核模块发送检查点的保存和恢复的请求并显示操作结果;
所述libcr库函数模块用于触发进程进行检查点的保存和恢复;
所述进程保护恢复内核模块用于接收所述用户调用接口模块发送的检查点的保存和恢复请求,并在执行对所述进程的运行信息的检查点的保存和恢复的操作后返回操作结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695327.0A CN103617094A (zh) | 2013-12-18 | 2013-12-18 | 多核处理器的瞬时故障容错系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695327.0A CN103617094A (zh) | 2013-12-18 | 2013-12-18 | 多核处理器的瞬时故障容错系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103617094A true CN103617094A (zh) | 2014-03-05 |
Family
ID=50167797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310695327.0A Pending CN103617094A (zh) | 2013-12-18 | 2013-12-18 | 多核处理器的瞬时故障容错系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103617094A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815040A (zh) * | 2019-01-12 | 2019-05-28 | 西北工业大学 | 一种基于锁步加监控的高安全性计算机系统及其设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174484A1 (en) * | 2006-01-23 | 2007-07-26 | Stratus Technologies Bermuda Ltd. | Apparatus and method for high performance checkpointing and rollback of network operations |
CN101377750A (zh) * | 2007-09-21 | 2009-03-04 | 中国科学院计算技术研究所 | 一种用于机群容错的系统和方法 |
CN102364448A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种计算机故障管理系统的容错方法 |
CN103064770A (zh) * | 2013-01-08 | 2013-04-24 | 哈尔滨工程大学 | 双进程冗余瞬时故障容错方法 |
-
2013
- 2013-12-18 CN CN201310695327.0A patent/CN103617094A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174484A1 (en) * | 2006-01-23 | 2007-07-26 | Stratus Technologies Bermuda Ltd. | Apparatus and method for high performance checkpointing and rollback of network operations |
CN101377750A (zh) * | 2007-09-21 | 2009-03-04 | 中国科学院计算技术研究所 | 一种用于机群容错的系统和方法 |
CN102364448A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种计算机故障管理系统的容错方法 |
CN103064770A (zh) * | 2013-01-08 | 2013-04-24 | 哈尔滨工程大学 | 双进程冗余瞬时故障容错方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815040A (zh) * | 2019-01-12 | 2019-05-28 | 西北工业大学 | 一种基于锁步加监控的高安全性计算机系统及其设计方法 |
CN109815040B (zh) * | 2019-01-12 | 2022-07-08 | 西北工业大学 | 一种基于锁步加监控的高安全性计算机系统及其设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621030B2 (en) | Restoring an application from a system dump file | |
US10423783B2 (en) | Methods and apparatus to recover a processor state during a system failure or security event | |
US8972780B2 (en) | Low-latency fault-tolerant virtual machines | |
EP2572279B1 (en) | Method and system for achieving fault tolerant checkpointing across remote virtual machines | |
US8499297B2 (en) | Low overhead fault tolerance through hybrid checkpointing and replay | |
US9329958B2 (en) | Efficient incremental checkpointing of virtual devices | |
EP1974272B1 (en) | Method and apparatus for detecting a fault condition and restoration thereafter using user context information | |
US8473783B2 (en) | Fault tolerance in distributed systems | |
US9032414B1 (en) | Systems and methods for managing system resources allocated for backup validation | |
US10789135B2 (en) | Protection of infrastructure-as-a-service workloads in public cloud | |
CN106020932B (zh) | 一种用于kvm虚拟机系统的安全防护方法及系统 | |
US9003139B1 (en) | Systems and methods for recovering virtual machines after disaster scenarios | |
US8468388B2 (en) | Restoring programs after operating system failure | |
US9053022B2 (en) | Synchronous software interface for an accelerated compute engine | |
US9740544B2 (en) | Live snapshotting of multiple virtual disks in networked systems | |
CN113821257B (zh) | 处理器内核调用栈信息查询方法及装置 | |
US9904567B2 (en) | Limited hardware assisted dirty page logging | |
Radojkovic et al. | Towards resilient EU HPC systems: A blueprint | |
US9098461B2 (en) | Live snapshots of multiple virtual disks | |
CN103617094A (zh) | 多核处理器的瞬时故障容错系统 | |
CN114781322A (zh) | Cpu芯片仿真加速中针对无mmu环境的内存状态恢复方法 | |
CN104657229A (zh) | 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 | |
Axer et al. | Designing an analyzable and resilient embedded operating system | |
CN117851133B (zh) | Xen半虚拟化的无代理实时备份方法、系统及恢复方法 | |
JP2012198728A (ja) | プログラム実行装置及び情報保管装置及び情報処理方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140305 |