CN104657229A - 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 - Google Patents
基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 Download PDFInfo
- Publication number
- CN104657229A CN104657229A CN201510121095.7A CN201510121095A CN104657229A CN 104657229 A CN104657229 A CN 104657229A CN 201510121095 A CN201510121095 A CN 201510121095A CN 104657229 A CN104657229 A CN 104657229A
- Authority
- CN
- China
- Prior art keywords
- checkpoint
- processor
- kernel
- check point
- checking 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
Landscapes
- Retry When Errors Occur (AREA)
Abstract
基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法,属于计算机故障恢复技术领域。为了解决基于硬件方法实现多核处理器检查点故障恢复受限于硬件资源的问题。所述系统包括硬件检查点备份模块和多核处理器卷回恢复模块;硬件检查点备份模块包括写操作计数器、检查点备份控制部件和检查点存储块;写操作计数器用于控制检查点设置间隔;检查点备份控制部件用于发送检查点备份信号;检查点存储块包括全局检查点存储块和地址内容存储块,用于检查点信息的存储;多核处理器卷回恢复模块包括故障检测部件和检查点恢复控制部件;故障检测部件用于检测系统故障并发送故障信号;检查点恢复控制部件用于发送检查点恢复信号。用于检查点故障恢复。
Description
技术领域
本发明属于计算机故障恢复技术领域。
背景技术
检查点恢复技术是当前最常用的故障恢复技术,当故障检测机制发现错误后回滚至最近的备份现场,恢复之前备份的状态并重新运行程序,避免了程序从头重新执行,减少时间开销,避免计算资源浪费。
目前检查点故障恢复方式多基于软件方法实现,时间和空间开销巨大,通用性、透明性和可移植性难以兼得。也有学者提出了基于硬件实现的检查点故障恢复方式,但基于硬件方法受限于硬件资源,需要根据检查点记录格式准确估算片内非易失性存储的大小并设计良好的检查点设置规则,否则片内非易失性存储不足,无法保存检查点信息导致恢复机制失效。因此,高可用的存储结构、存储策略和恢复机制对提高处理器瞬时故障恢复性能至关重要。
发明内容
本发明的目的是为了解决基于硬件方法实现多核处理器检查点故障恢复受限于硬件资源的问题,本发明提供一种基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法。
本发明的基于高可用性硬件检查点的多核处理器卷回恢复系统,
所述系统包括高可用性硬件检查点备份模块和多核处理器卷回恢复模块;
所述高可用性硬件检查点备份模块包括写操作计数器、检查点备份控制部件和检查点存储块;
所述写操作计数器,用于控制检查点设置间隔,并发送设置的检查点间隔;
所述检查点备份控制部件,用于接收设置的检查点间隔,并根据检查点间隔向处理器的每个内核发送检查点备份信号;
所述检查点存储块包括全局存储块和地址内容存储块;
所述全局存储块,用于备份存储处理器的每个内核检查点的所有运行上下文信息,其中不包括处理器的每个内核检查点的写内存操作地址和内容;
所述地址内容存储块,用于备份存储处理器的每个内核检查点的写内存操作地址和内容;
所述多核处理器卷回恢复模块包括故障检测部件和检查点恢复控制部件;
所述故障检测部件,用于检测故障并发送故障信号;
所述检查点恢复控制部件,用于接收故障信号,根据所述故障信号向处理器的每个内核发送检查点恢复信号。
所有运行上下文信息包括程序计数器PC、程序状态字、指令计数器、寄存器内容、流水线锁存器内容和存储器写指令内容和地址。
所述地址内容存储块在存储写内存操作的地址和内容时,采用集中式记录方式,相同写操作只保留第一次的地址和内容。
基于高可用性硬件检查点的多核处理器卷回恢复系统的卷回恢复方法,所述方法包括如下步骤:
步骤一:处理器通过系统总线进行写内存操作,高可用性硬件检查点备份模块将每个内核的检查点文件备份到检查点存储块;
步骤二:故障检测部件检测到瞬时故障,发出故障信号给检查点恢复控制部件;
步骤三:检查点恢复控制部件接收到信号后发送瞬时故障恢复信号;
步骤四:处理器的每个内核分别打开相应检查点存储块中备份的检查点文件;若打开错误,结束检查点卷回恢复,否则,转入步骤五;
步骤五:处理器的每个内核暂停目标进程并利用内核函数flush_old_exec()函数释放目标进程占用资源;
步骤六:处理器的每个内核分别顺序读取相应的全局存储块中备份的检查点文件,同步恢复到目标进程中;
步骤七:目标进程基本信息同步恢复完毕后,目标进程继续执行;
步骤八:处理器的每个内核读取地址内容存储块中的信息并集中恢复到被改写的内存区域,结束检查点的卷回恢复。
所述步骤一包括如下步骤:
步骤一一:处理器通过系统总线进行写内存操作,同时写操作计数器计数;
步骤一二:根据设置的检查点间隔,到达检查点后,写操作计数器发出信号ck_flag给检查点备份控制部件;
步骤一三:检查点备份控制部件接收信号ck_flag并向处理器的每个内核发送检查点备份信号ck_backup;
步骤一四:判断每个内核的检查点文件的文件描述符fd(i)是否有效,若有效,则转入步骤一五,若无效,结束检查点备份;
步骤一五:获取每个内核的目标进程的进程描述符pro_struct并暂停目标进程;
步骤一六:通过进程描述符pro_struct获得目标进程的所有运行上下文信息,并进行备份,存储到相应的检查存储块中,转入步骤一七;
步骤一七:运行目标进程,结束检查点备份。
本发明的有益效果在于,具有更好的透明性、通用性,能够提高处理器瞬时故障恢复性能。同时,本发明相对于传统单核处理器芯片检查点结构,提出了一种高可用性多核处理器芯片硬件检查点结构,能够解决多核处理器的瞬时故障恢复问题。
附图说明
图1为具体实施方式一中4核处理器芯片的硬件检查点的多核处理器卷回恢复系统的原理示意图;
图2为本发明提供的多核处理器硬件检查点备份的原理示意图;
图3为本发明提供的多核处理器硬件检查点的瞬时故障恢复的原理示意图。
具体实施方式
具体实施方式一:结合图1至图3说明本实施方式,本实施方式所述的基于高可用性硬件检查点的多核处理器卷回恢复系统,所述系统包括高可用性硬件检查点备份模块和多核处理器卷回恢复模块;
所述高可用性硬件检查点备份模块包括写操作计数器、检查点备份控制部件和检查点存储块;
所述写操作计数器,用于控制检查点设置间隔,并发送设置的检查点间隔;
所述检查点备份控制部件,用于接收设置的检查点间隔,并根据检查点间隔向处理器的每个内核发送检查点备份信号;
所述检查点存储块包括全局存储块和地址内容存储块;
所述全局存储块,用于备份存储处理器的每个内核检查点的所有运行上下文信息,其中不包括处理器的每个内核检查点的写内存操作地址和内容;
所述地址内容存储块,用于备份存储处理器的每个内核检查点的写内存操作地址和内容;
所述多核处理器卷回恢复模块包括故障检测部件和检查点恢复控制部件;
所述故障检测部件,用于检测故障并发送故障信号;
所述检查点恢复控制部件,用于接收故障信号,根据所述故障信号向处理器的每个内核发送检查点恢复信号。
本实施方式中以4核的处理器芯片硬件检查点的备份与恢复为例进行说明,4核处理器芯片的硬件检查点的多核处理器卷回恢复系统的原理示意图如图1所示,4核处理器芯片的硬件检查点备份的原理示意图如图2所示。图2中,内核0、内核1、内核2和内核3形成了一个4核处理器。
具体实施方式二:本实施方式是对具体实施方式一所述的基于高可用性硬件检查点的多核处理器卷回恢复系统的进一步限定,所有运行上下文信息包括程序计数器PC、程序状态字、指令计数器、寄存器内容、流水线锁存器内容和存储器写指令内容和地址。
具体实施方式三:本实施方式是对具体实施方式一所述的基于高可用性硬件检查点的多核处理器卷回恢复系统的进一步限定,所述地址内容存储块在存储写内存操作的地址和内容时,采用集中式记录方式,相同写操作只保留第一次的地址和内容。
具体实施方式四:本实施方式是基于具体实施方式一所述的基于高可用性硬件检查点的多核处理器卷回恢复系统的卷回恢复方法,所述方法包括如下步骤:
步骤一:处理器通过系统总线进行写内存操作,高可用性硬件检查点备份模块将每个内核的检查点文件备份到检查点存储块;
步骤二:故障检测部件检测到瞬时故障,发出故障信号给检查点恢复控制部件;
步骤三:检查点恢复控制部件接收到信号后发送瞬时故障恢复信号;
步骤四:处理器的每个内核分别打开相应检查点存储块中备份的检查点文件;若打开错误,结束检查点卷回恢复,否则,转入步骤五;
步骤五:处理器的每个内核暂停目标进程并利用内核函数flush_old_exec()函数释放目标进程占用资源;
步骤六:处理器的每个内核分别顺序读取相应的全局存储块中备份的检查点文件,同步恢复到目标进程中;
步骤七:目标进程基本信息同步恢复完毕后,目标进程继续执行;
步骤八:处理器的每个内核读取地址内容存储块中的信息并集中恢复到被改写的内存区域,结束检查点的卷回恢复。
本实施方式中,4核的处理器芯片硬件检查点的卷回恢复的原理示意图如图3所示。图中内核0、内核1、内核2和内核3形成了一个4核处理器;当故障检测部件检测到故障发生后,对各个内核采用同步恢复方式同时恢复。同时,对被改写的内存区域采用集中恢复方式,避免不必要信息的恢复,提高瞬时故障恢复效率。
具体实施方式五:本实施方式是对具体实施方式四所述的基于高可用性硬件检查点的多核处理器卷回恢复系统的卷回恢复方法进一步限定,所述步骤一包括如下步骤:
步骤一一:处理器通过系统总线进行写内存操作,同时写操作计数器计数;
步骤一二:根据设置的检查点间隔,到达检查点后,写操作计数器发出信号ck_flag给检查点备份控制部件;
步骤一三:检查点备份控制部件接收信号ck_flag并向处理器的每个内核发送检查点备份信号ck_backup;
步骤一四:判断每个内核的检查点文件的文件描述符fd(i)是否有效,若有效,则转入步骤一五,若无效,结束检查点备份;
步骤一五:获取每个内核的目标进程的进程描述符pro_struct并暂停目标进程;
步骤一六:通过进程描述符pro_struct获得目标进程的所有运行上下文信息,并进行备份,存储到相应的检查存储块中,转入步骤一七;
步骤一七:运行目标进程,结束检查点备份。
其中,对上述具体步骤进行一下相应的补充说明:
(1)步骤一二中,由于写操作计数器根据处理器写内存操作次数控制检查点存储,用户可根据具体情况实现检查点间隔的优化设置,从而减少不必要的时间和空间开销;
(2)步骤一五中,内核模块利用内核函数find_task_by_vpid()内核函数,根据进程号pid获得目标进程的进程描述符;
(3)步骤一六中,目标进程的所有运行上下文信息主要包括处理器运行状态相关的硬件信息,即程序计数器PC、程序状态字、指令计数器、寄存器内容、流水线锁存器内容和存储器写指令内容和地址;
(4)各个核运行状态信息的存储采用全局检查点备份机制,存入对应检查点存储块中;多核处理器写内存操作的地址和内容采用集中式记录方式,相同写操作只保留第一次的地址和内容,减小两次检查点存储直接对写内存操作的记录数量,从而减小存储开销。
本具体实施方式提供的技术方案,采用硬件检查点方式,对多核处理器芯片硬件检查点结构进行优化,提高多核处理器对操作系统的应用程序的透明性,可用性。同时,对存储策略进行优化,降低时间开销和空间开销。
以上所述,仅为本发明较佳的具体实施方式,这些具体实施方式都是基于本发明整体构思下的不同实现方式,而且本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种基于高可用性硬件检查点的多核处理器卷回恢复系统,其特征在于,所述系统包括高可用性硬件检查点备份模块和多核处理器卷回恢复模块;
所述高可用性硬件检查点备份模块包括写操作计数器、检查点备份控制部件和检查点存储块;
所述写操作计数器,用于控制检查点设置间隔,并发送设置的检查点间隔;
所述检查点备份控制部件,用于接收设置的检查点间隔,并根据检查点间隔向处理器的每个内核发送检查点备份信号;
所述检查点存储块包括全局存储块和地址内容存储块;
所述全局存储块,用于备份存储处理器的每个内核检查点的所有运行上下文信息,其中不包括处理器的每个内核检查点的写内存操作地址和内容;
所述地址内容存储块,用于备份存储处理器的每个内核检查点的写内存操作地址和内容;
所述多核处理器卷回恢复模块包括故障检测部件和检查点恢复控制部件;
所述故障检测部件,用于检测故障并发送故障信号;
所述检查点恢复控制部件,用于接收故障信号,根据所述故障信号向处理器的每个内核发送检查点恢复信号。
2.根据权利要求1所述的基于高可用性硬件检查点的多核处理器卷回恢复系统,其特征在于,所有运行上下文信息包括程序计数器PC、程序状态字、指令计数器、寄存器内容、流水线锁存器内容和存储器写指令内容和地址。
3.根据权利要求1所述的基于高可用性硬件检查点的多核处理器卷回恢复系统,其特征在于,所述地址内容存储块在存储写内存操作的地址和内容时,采用集中式记录方式,相同写操作只保留第一次的地址和内容。
4.基于权利要求1所述的基于高可用性硬件检查点的多核处理器卷回恢复系统的卷回恢复方法,其特征在于,所述方法包括如下步骤:
步骤一:处理器通过系统总线进行写内存操作,高可用性硬件检查点备份模块将每个内核的检查点文件备份到检查点存储块;
步骤二:故障检测部件检测到瞬时故障,发出故障信号给检查点恢复控制部件;
步骤三:检查点恢复控制部件接收到信号后发送瞬时故障恢复信号;
步骤四:处理器的每个内核分别打开相应检查点存储块中备份的检查点文件;若打开错误,结束检查点卷回恢复,否则,转入步骤五;
步骤五:处理器的每个内核暂停目标进程并利用内核函数flush_old_exec()函数释放目标进程占用资源;
步骤六:处理器的每个内核分别顺序读取相应的全局存储块中备份的检查点文件,同步恢复到目标进程中;
步骤七:目标进程基本信息同步恢复完毕后,目标进程继续执行;
步骤八:处理器的每个内核读取地址内容存储块中的信息并集中恢复到被改写的内存区域,结束检查点的卷回恢复。
5.根据权利要求4所述的基于高可用性硬件检查点的多核处理器卷回恢复系统的卷回恢复方法,其特征在于,所述步骤一包括如下步骤:
步骤一一:处理器通过系统总线进行写内存操作,同时写操作计数器计数;
步骤一二:根据设置的检查点间隔,到达检查点后,写操作计数器发出信号ck_flag给检查点备份控制部件;
步骤一三:检查点备份控制部件接收信号ck_flag并向处理器的每个内核发送检查点备份信号ck_backup;
步骤一四:判断每个内核的检查点文件的文件描述符fd(i)是否有效,若有效,则转入步骤一五,若无效,结束检查点备份;
步骤一五:获取每个内核的目标进程的进程描述符pro_struct并暂停目标进程;
步骤一六:通过进程描述符pro_struct获得目标进程的所有运行上下文信息,并进行备份,存储到相应的检查存储块中,转入步骤一七;
步骤一七:运行目标进程,结束检查点备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121095.7A CN104657229A (zh) | 2015-03-19 | 2015-03-19 | 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121095.7A CN104657229A (zh) | 2015-03-19 | 2015-03-19 | 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104657229A true CN104657229A (zh) | 2015-05-27 |
Family
ID=53248402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510121095.7A Pending CN104657229A (zh) | 2015-03-19 | 2015-03-19 | 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657229A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124720A (zh) * | 2019-12-26 | 2020-05-08 | 江南大学 | 一种自适应的检查点间隔动态设置方法 |
CN111611111A (zh) * | 2020-05-22 | 2020-09-01 | 北京中科海讯数字科技股份有限公司 | 多处理器信号处理设备快速故障恢复方法及其系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175732A (zh) * | 1996-09-04 | 1998-03-11 | 株式会社东芝 | 检查点处理加速装置 |
CN101073064A (zh) * | 2004-08-24 | 2007-11-14 | 塞门铁克操作公司 | 使用检查点从存储事务故障中恢复 |
CN101154185A (zh) * | 2007-08-27 | 2008-04-02 | 电子科技大学 | 软件运行时执行恢复与重放方法 |
CN101625703A (zh) * | 2009-08-21 | 2010-01-13 | 华中科技大学 | 一种内存数据库的日志合并方法和系统 |
US20110185153A1 (en) * | 2010-01-22 | 2011-07-28 | Via Technologies, Inc. | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information |
US20140310490A1 (en) * | 2011-12-29 | 2014-10-16 | Pete D. Vogt | Heterogeneous memory die stacking for energy efficient computing |
-
2015
- 2015-03-19 CN CN201510121095.7A patent/CN104657229A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1175732A (zh) * | 1996-09-04 | 1998-03-11 | 株式会社东芝 | 检查点处理加速装置 |
CN101073064A (zh) * | 2004-08-24 | 2007-11-14 | 塞门铁克操作公司 | 使用检查点从存储事务故障中恢复 |
CN101154185A (zh) * | 2007-08-27 | 2008-04-02 | 电子科技大学 | 软件运行时执行恢复与重放方法 |
CN101625703A (zh) * | 2009-08-21 | 2010-01-13 | 华中科技大学 | 一种内存数据库的日志合并方法和系统 |
US20110185153A1 (en) * | 2010-01-22 | 2011-07-28 | Via Technologies, Inc. | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information |
US20140310490A1 (en) * | 2011-12-29 | 2014-10-16 | Pete D. Vogt | Heterogeneous memory die stacking for energy efficient computing |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124720A (zh) * | 2019-12-26 | 2020-05-08 | 江南大学 | 一种自适应的检查点间隔动态设置方法 |
CN111124720B (zh) * | 2019-12-26 | 2021-05-04 | 江南大学 | 一种自适应的检查点间隔动态设置方法 |
CN111611111A (zh) * | 2020-05-22 | 2020-09-01 | 北京中科海讯数字科技股份有限公司 | 多处理器信号处理设备快速故障恢复方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102451952B1 (ko) | 장애 허용 자동 듀얼 인라인 메모리 모듈 리프레시 | |
US10776267B2 (en) | Mirrored byte addressable storage | |
US8990617B2 (en) | Fault-tolerant computer system, fault-tolerant computer system control method and recording medium storing control program for fault-tolerant computer system | |
CN101377750B (zh) | 一种用于机群容错的系统和方法 | |
US8826283B2 (en) | Low overhead fault tolerance through hybrid checkpointing and replay | |
KR102408053B1 (ko) | 시스템 온 칩, 모바일 기기 및 시스템 온 칩의 동작 방법 | |
Park et al. | Fast and space-efficient virtual machine checkpointing | |
WO2017050287A1 (zh) | 一种调试方法、多核处理器和调试设备 | |
Wang et al. | Hybrid checkpointing for MPI jobs in HPC environments | |
US10521354B2 (en) | Computing apparatus and method with persistent memory | |
US20100031084A1 (en) | Checkpointing in a processor that supports simultaneous speculative threading | |
US9329958B2 (en) | Efficient incremental checkpointing of virtual devices | |
US10929234B2 (en) | Application fault tolerance via battery-backed replication of volatile state | |
JP2006164277A (ja) | プロセッサにおけるエラー除去装置および方法,プロセッサ | |
Mushtaq et al. | Survey of fault tolerance techniques for shared memory multicore/multiprocessor systems | |
CN111581003B (zh) | 一种全硬件双核锁步处理器容错系统 | |
CN101937344B (zh) | 一种计算机快速启动的装置及方法 | |
CN103226499A (zh) | 一种恢复内部存储器中的异常数据的方法及装置 | |
CN104699550A (zh) | 一种基于lockstep架构的错误恢复方法 | |
CN104657229A (zh) | 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 | |
CN112445696B (zh) | 面向异构众核Dcache纵向一致性的调试方法 | |
CN114756355B (zh) | 一种计算机操作系统的进程自动快速恢复的方法和装置 | |
CN104657239A (zh) | 基于分离式日志的多核处理器瞬时故障恢复系统及其瞬时故障恢复方法 | |
WO2012137239A1 (ja) | 計算機システム | |
Li et al. | ConSnap: Taking continuous snapshots for running state protection of virtual machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150527 |