CN104391763A - 基于设备视图冗余的众核处理器容错方法 - Google Patents

基于设备视图冗余的众核处理器容错方法 Download PDF

Info

Publication number
CN104391763A
CN104391763A CN201410780705.XA CN201410780705A CN104391763A CN 104391763 A CN104391763 A CN 104391763A CN 201410780705 A CN201410780705 A CN 201410780705A CN 104391763 A CN104391763 A CN 104391763A
Authority
CN
China
Prior art keywords
core
redundant
main
main core
mark
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.)
Granted
Application number
CN201410780705.XA
Other languages
English (en)
Other versions
CN104391763B (zh
Inventor
乔寓然
文梅
任巨
荀长庆
范方园
苏华友
张春元
黄达飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201410780705.XA priority Critical patent/CN104391763B/zh
Publication of CN104391763A publication Critical patent/CN104391763A/zh
Application granted granted Critical
Publication of CN104391763B publication Critical patent/CN104391763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种基于设备视图冗余的众核处理器容错方法,步骤包括:预先在众核处理器的主核和冗余核中加入可靠设备单元并提供可供编程调用的设备视图;主核执行到配置指令时配置可靠设备单元,控制核为主核分配冗余核;在主核执行到启用指令后,主核将现场复制给冗余核,主核和冗余核分别启用可靠设备单元;控制核分别发送冗余执行命令,主核和冗余核开始容错执行,控制核定时执行更新检查点,在容错执行出错时退回上一个检查点;在主核执行到停用指令后,分别停用可靠设备单元,主核继续执行应用程序。本发明可靠性高、软件调用方便、容错灵活、容错成本低、错误发现实时、容错执行效率高,能够充分利用空闲的核资源、对系统性能影响小。

Description

基于设备视图冗余的众核处理器容错方法
技术领域
本发明涉及微处理器体系结构领域众核容错技术,具体涉及一种基于设备视图冗余的众核处理器容错方法。
背景技术
故障率的增加使得容错成为所有处理器必需面对的问题。甚至桌面应用也开始考虑可靠性。目前广泛应用容错系统的都是金融、能源、航空航天等关键领域,这主要是因为这些关键应用对容错开销的承受能力强。而桌面应用,高性能计算等应用对容错代价是很敏感的。同时处理器的发展也日益从多核向众核发展。所以一种面向开销敏感型应用的众核容错技术是极为有意义的。
目前主流的容错技术分软件实现和硬件实现两种,软件实现多基于多次执行相同程序比较结果,而硬件容错多基于多模冗余,实现多套硬件资源来同时执行程序的多个副本。将软硬件结合起来进行全系统的容错是目前一个趋势,如硬件负责错误检测而软件负责错误恢复,这可以极大降低容错开销。
公认的,目前众核处理器存在利用率较低的问题,通常存在空闲资源。Pollack定律表明如果程序的并行性足够,众核能够维持性能继续按照摩尔定律增长。所以众核对并行性的需求也是遵循摩尔定律的,但是程序的并行性及其开发受多种因素限制很难满足需求,这就导致了众核性能的下降和空闲核的存在。实际的众核处理器如MIC的利用效率通常很低,利用空闲的核进行冗余执行容错就成了一个具有吸引力的选择。
设备视图是一种为物理设备提供编程调用的驱动接口技术,针对物理设备一般提供配置、启用、停用等方法,来实现对物理设备的编程调用。
发明内容
本发明要解决的技术问题是:针对现有技术的上述技术问题,提供一种可靠性高、软件调用方便、容错灵活、容错成本低、错误发现实时、容错执行效率高,能够充分利用空闲的核资源、对系统性能影响小的基于设备视图冗余的众核处理器容错方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于设备视图冗余的众核处理器容错方法,步骤包括:
1)预先在众核处理器指定的主核和冗余核中加入用于容错检测的可靠设备单元,且针对可靠设备单元提供可供编程调用的设备视图,所述设备视图可供编程调用的指令包括设备视图的配置、启用和停用;在主核执行应用程序时,如果执行到设备视图的配置指令,则初始化配置可靠设备单元并向控制核发送中断请求,控制核根据中断请求为主核分配一个可用的冗余核,跳转执行步骤2);
2)主核继续执行应用程序;当主核执行到设备视图的启用指令时挂起应用程序,启用可靠设备单元并将上下文复制给冗余核,冗余核保存上下文并启用可靠设备单元,控制核分别给主核和冗余核发送冗余执行命令,跳转执行步骤3);
3)主核、冗余核同时执行设备视图的启用指令后的关键代码段,同时控制核根据指定的间隔时间更新主核执行的检查点,在执行关键代码段的过程中如果主核的可靠设备单元检测到和冗余核的可靠设备单元执行的结果不一致则向控制核发出中断请求,则控制核控制主核和冗余核退回上一个检查点;当主核执行到设备视图的停用指令时,跳转执行步骤4);
4)主核、冗余核分别停用可靠设备单元,主核继续执行应用程序。
优选地,所述步骤1)中初始化配置可靠设备单元时包括配置控制核用于更新主核执行的间隔时间。
优选地,所述步骤1)中控制核根据中断请求为主核分配一个可用的冗余核的步骤包括:控制核收到中断请求后向各个冗余核发送空闲度查询指令,各个冗余核基于自带的性能计数器或者可靠设备单元内置的性能计数器统计指定的时间内该冗余核执行的NULL指令数和总指令数,并将NULL指令数除以总指令数得到该冗余核的空闲度并发送给控制核,控制核根据各个冗余核返回的空闲度为主核分配一个可用的冗余核。
优选地,所述步骤1)中初始化配置可靠设备单元时还包括配置主核的冗余优先级;所述控制核根据各个冗余核返回的空闲度为主核分配一个可用的冗余核时,如果同时只有一个主核向控制核发送中断请求,则查找一个空闲度最高的有效的冗余核分配给该主核,如果同时存在两个以上主核同时向控制核发送中断请求,则控制核根据各个主核的冗余优先级来分配冗余核,冗余优先级最高的主核获得空闲度最高的有效的冗余核,冗余优先级最低的主核获得空闲度最低的有效的冗余核,如果没有足够的冗余核,则将冗余核优先分配冗余优先级较高的主核,如果控制核没有足够的冗余核分配给主核,则向主核返回分配冗余核失败的消息,主核向控制核发送中断请求后如果收到发出分配冗余核失败的消息则退出并继续正常执行应用程序。
优选地,所述步骤3)的详细步骤包括:主核、冗余核同时执行设备视图的启用指令后的关键代码段,同时控制核根据指定的间隔时间更新主核执行的检查点;在执行关键代码段的过程中,主核判断当前的指令是否为设备视图停用指令,如果是则跳转执行步骤4);否则,主核产生主核执行的迹,所述迹为对寄存器组及存储器的访问信息;同时,冗余核产生冗余核执行的迹,冗余核的可靠设备单元提取迹的特征并发送给主核,主核的可靠设备单元提取迹的特征并与冗余核发送的迹的特征进行比较,如果两者不一致,则主核向控制核发送中断请求进行错误恢复,控制核收到中断请求后分别控制主核、冗余核退回至上一个检查点,主核和冗余核继续从上一个检查点开始重新执行关键代码段;如果两者一致,则主核和冗余核继续执行剩余的关键代码段。
优选地,所述主核产生主核执行的迹时,如果主核同时存在寄存器操作和存储器操作,则只记录存储器操作的访问信息;所述冗余核产生冗余核执行的迹时,如果冗余核同时存在寄存器操作和存储器操作,则只记录存储器操作的访问信息。
优选地,所述步骤1)中初始化配置可靠设备单元时包括配置用于可靠设备单元提取迹的特征的压缩算法类型;所述可靠设备单元提取迹的特征具体是指采用预设的压缩算法类型提取指定数量的迹的特征,且在每一次提取迹时,将上一次提取得到的特征、当前采集得到的指定数量的迹共同作为压缩算法的输入来提取得到本次指定数量的迹的特征。
优选地,所述可靠设备单元包括迹特征提取器、本地FIFO存储器、远程FIFO存储器、比较器、性能计数器以及控制器,在主核产生主核执行的迹后,所述主核的迹特征提取器采用预设的压缩算法类型提取指定数量的迹的特征并存储在本地FIFO存储器中;在冗余核产生冗余核执行的迹后,所述冗余核的迹特征提取器采用预设的压缩算法类型提取指定数量的迹的特征并存储在本地FIFO存储器中,同时冗余核的控制器将本地FIFO存储器中存储的冗余核的迹的特征发送并存储到主核的远程FIFO存储器中;主核的比较器针对本地FIFO存储器、远程FIFO存储器中存储的迹的特征进行比较,如果不一致则向控制器发出报错信息,主核的控制器如果收到报错信息则向控制核发送中断请求进行错误恢复。
本发明基于设备视图冗余的众核处理器容错方法具有下述优点:
1、与现有技术的硬件多模冗余相比,本发明不是对应用提供一个必要使用的软硬系统,而是只提供一个容错设备——可靠设备单元,通过编程调用可靠设备单元的设备视图即可实现对可靠设备单元的灵活调用,应用可以只在有容错需求时启用这个可靠设备单元,相对现有技术的容错方式而言,使用更加灵活、容错成本更低,本发明尤其适合于开销敏感型的应用程序容错,其目的不是提高整个系统所有应用的可靠性,而是利用众核处理器中的“空闲”资源增强系统中特定的关键代码段的可靠性,其设计的出发点不是尽可能的优化容错而是尽可能的在不降低整个系统的性能的前提下进行容错,能够实现针对关键代码段的按需容错,具有可靠性高、软件调用方便、容错灵活、容错成本低的优点。
2、本发明的控制核根据中断请求为主核分配一个可用的冗余核,因此能够通过动态监控众核处理器中的“空闲”资源,开发“空闲”资源并利用这些“空闲”资源进行主核执行关键代码段的容错,在不影响系统性能的情况下,增加系统的可靠性,具有能够充分利用空闲的核资源、对系统性能影响小的优点。
3、本发明在容错时,主核、冗余核同时执行设备视图的启用指令后的关键代码段,同时控制核根据指定的间隔时间更新主核执行的检查点,在执行关键代码段的过程中如果主核的可靠设备单元检测到和冗余核的可靠设备单元执行的结果不一致则向控制核发出中断请求,则控制核控制主核和冗余核退回上一个检查点,不需要执行完整个代码段,错误发现更加实时,容错执行效率更高。
4、本发明基于配置指令来实现冗余核的分配,可靠设备单元的配置和启用的时间分离,因此能够减少控制核查询各个冗余核空闲度的时间开销对主核执行应用程序的影响,确保应用程序的正常执行不受控制核分配冗余核的影响。
附图说明
图1为本发明实施例的基本流程示意图。
图2为本发明实施例中主核、控制核、冗余核之间的交互流程示意图。
图3为应用本发明实施例方法的众核处理器及可靠设备单元的框架结构示意图。
具体实施方式
如图1和图2所示,本实施例基于设备视图冗余的众核处理器容错方法的步骤包括:
1)预先在众核处理器指定的主核和冗余核中加入用于容错检测的可靠设备单元(Reliability device单元,下文简称RD单元),且针对RD单元提供可供编程调用的设备视图,设备视图可供编程调用的指令包括设备视图的配置、启用和停用RD-config()、启用RD-enable()和停用RD-disable ();在主核执行应用程序时,如果执行到设备视图的配置指令RD-config(),则初始化配置RD单元并向控制核发送中断请求,控制核根据中断请求为主核分配一个可用的冗余核,跳转执行步骤2);
2)主核继续执行应用程序;当主核执行到设备视图的启用指令RD-enable()时挂起应用程序,启用RD单元并将上下文复制给冗余核,冗余核保存上下文并启用RD单元,控制核分别给主核和冗余核发送冗余执行命令,跳转执行步骤3);
3)主核、冗余核同时执行设备视图的启用指令后的关键代码段,同时控制核根据指定的间隔时间更新主核执行的检查点,在执行关键代码段的过程中如果主核的RD单元检测到和冗余核的RD单元执行的结果不一致则向控制核发出中断请求,则控制核控制主核和冗余核退回上一个检查点;当主核执行到设备视图的停用指令RD-disable ()时,跳转执行步骤4);
4)主核、冗余核分别停用RD单元,主核继续执行应用程序。
应用本实施例方法的众核处理器和现有技术的众核处理器结构的不同点为在众核处理器指定的主核和冗余核中额外加入用于容错检测的RD单元(Reliability device单元,下文简称RD单元),通过编程调用RD单元的设备视图即可实现对指定的关键代码段进行容错执行,相对现有技术的纯软件以及纯硬件的容错方式而言,使用更加灵活;与现有技术的硬件多模冗余相比,本发明不是对应用提供一个必要使用的软硬系统而是只提供一个容错设备——RD单元,因此通过编程调用RD单元的设备视图即可实现对RD单元的灵活调用,应用可以只在有容错需求时启用这个RD单元,从而实现对指定的关键代码段进行容错执行,相对现有技术的纯软件以及纯硬件的容错方式而言,使用更加灵活,因此相对现有技术的硬件多模冗余而言,本发明的容错成本更低,具有可靠性高、软件调用方便、容错灵活、容错成本低的优点。
本实施例中,控制核只需要针对主核和冗余核之间做少量的协调工作即可,整个容错成本相对较低,而且由于利用的是众核处理器中的空闲度较高的冗余核,因此能够实现尽可能的在不降低整个系统的性能的前提下进行容错,能够实现按需容错同时能够开发尽可能多的空闲,再不影响系统性能的情况下,增加系统的可靠性,具有能够充分利用空闲的核实现应用程序容错、可靠性高、对系统性能影响小的优点。需要说明的是,控制核既可以使用众核处理器的控制核,此外,也可指定某个核为控制核。应用本实施例方法的众核处理器的基本结构、主核和冗余核的基本结构相对传统的众核处理器均没有变化,众核处理器中每一个核心都必须处于对称的地位,可以同时执行不同的程序,都有自己的可以显式管理的本地存储,此外还包括用于实现核间通信的路由模块。
本实施例中,步骤1)中初始化配置RD单元时包括配置控制核用于更新主核执行的间隔时间;当主核将上下文通过控制核复制给冗余核后,一并将配置的间隔时间传递给控制核,因此步骤3)时控制核根据该配置的间隔时间更新主核执行的检查点;同时控制核也配置有默认的间隔时间,如果没有收到配置的间隔时间,则使用默认的间隔时间更新主核执行的检查点。需要说明的是,本实施例中主核将上下文通过控制核复制给冗余核,此外当主核和冗余核具有DMA权限的时候,主核也可以直接将上下文复制给冗余核。
本实施例中,步骤1)中控制核根据中断请求为主核分配一个可用的冗余核的步骤包括:控制核收到中断请求后向各个冗余核发送空闲度查询指令,各个冗余核基于自带的性能计数器或者RD单元内置的性能计数器统计指定的时间内该冗余核执行的NULL指令数和总指令数,并将NULL指令数除以总指令数得到该冗余核的空闲度并发送给控制核,控制核根据各个冗余核返回的空闲度为主核分配一个可用的冗余核。
本实施例中,步骤1)中初始化配置RD单元时还包括配置主核的冗余优先级;控制核根据各个冗余核返回的空闲度为主核分配一个可用的冗余核时,如果同时只有一个主核向控制核发送中断请求,则查找一个空闲度最高的有效的冗余核分配给该主核,如果同时存在两个以上主核同时向控制核发送中断请求,则控制核根据各个主核的冗余优先级来分配冗余核,冗余优先级最高的主核获得空闲度最高的有效的冗余核,冗余优先级最低的主核获得空闲度最低的有效的冗余核,如果没有足够的冗余核,则将冗余核优先分配冗余优先级较高的主核,如果控制核没有足够的冗余核分配给主核,则向主核返回分配冗余核失败的消息,主核向控制核发送中断请求后如果收到发出分配冗余核失败的消息则退出并继续正常执行应用程序。
本实施例中,步骤3)的详细步骤包括:主核、冗余核同时执行设备视图的启用指令后的关键代码段,同时控制核根据指定的间隔时间更新主核执行的检查点;在执行关键代码段的过程中,主核判断当前的指令是否为设备视图停用指令,如果是则跳转执行步骤4);否则,主核产生主核执行的迹,迹为对寄存器组及存储器的访问信息;同时,冗余核产生冗余核执行的迹,冗余核的RD单元提取迹的特征并发送给主核,主核的RD单元提取迹的特征并与冗余核发送的迹的特征进行比较,如果两者不一致,则主核向控制核发送中断请求进行错误恢复,控制核收到中断请求后分别控制主核、冗余核退回至上一个检查点,主核和冗余核继续从上一个检查点开始重新执行关键代码段;如果两者一致,则主核和冗余核继续执行剩余的关键代码段。
本实施例中,主核产生主核执行的迹时,如果主核同时存在寄存器操作和存储器操作,则只记录存储器操作的访问信息;冗余核产生冗余核执行的迹时,如果冗余核同时存在寄存器操作和存储器操作,则只记录存储器操作的访问信息。
本实施例中,步骤1)中初始化配置RD单元时包括配置用于RD单元提取迹的特征的压缩算法类型(本实施例中,压缩算法类型为CRC16、CRC8算法中的一种);RD单元提取迹的特征具体是指采用预设的压缩算法类型提取指定数量的迹的特征,且在每一次提取迹时,将上一次提取得到的特征、当前采集得到的指定数量的迹共同作为压缩算法的输入来提取得到本次指定数量的迹的特征。本实施例中,迹的格式为<类型,地址,数据>,其中类型为寄存器读,寄存器写,存储器读,存储器写;类型,地址,数据三个字段的信息字段连接后作为压缩算法的输入,和上一次提取得到的特征为压缩算法的输入来提取得到本次指定数量的迹的特征。
如图3所示,RD单元包括迹特征提取器、本地FIFO存储器、远程FIFO存储器、比较器、性能计数器以及控制器,在主核产生主核执行的迹后,主核的迹特征提取器采用预设的压缩算法类型提取指定数量的迹的特征并存储在本地FIFO存储器中;在冗余核产生冗余核执行的迹后,冗余核的迹特征提取器采用预设的压缩算法类型提取指定数量的迹的特征并存储在本地FIFO存储器中,同时冗余核的控制器将本地FIFO存储器中存储的冗余核的迹的特征发送并存储到主核的远程FIFO存储器中;主核的比较器针对本地FIFO存储器、远程FIFO存储器中存储的迹的特征进行比较,如果不一致则向控制器发出报错信息,主核的控制器如果收到报错信息则向控制核发送中断请求进行错误恢复。本实施例中,性能计数器的功能为通过检测CPU的执行时间与闲置时间,输出CPU的空闲度。此模块统计CPU执行NULL指令数和执行总指令数,NULL指令占总指令数的比例idle_rate为判断此核是否为空闲核的指标。迹特征提取器的功能为将处理器产生的迹进行压缩后输出。这里迹指CPU所有访问寄存器组以及存储器的操作,格式为<类型,地址,数据>,其中类型为寄存器读,寄存器写,存储器读,存储器写。有事会同时产生寄存器操作和存储器操作,这时只产生存储器操作的迹。本文采用的压缩算法为通用的CRC16,CRC8算法,可以选择设定。本地FIFO存储器为标准队列模块,用来存储压缩后的迹。远程FIFO存储器为标准队列模块,用来存储冗余核的迹。比较器为标准比较器模块,用来比较主核和冗余核的迹。控制器除了前述的处理意外,还用于检查FIFO的空满并控制比较器的比较。对于主核和冗余核而言,核每产生一个读写操作,产生一个迹送至迹特征提取器,迹特征提取器将多个迹进行压缩后将其送至本地FIFO存储器,对于每一个从核到来的迹,控制器检查本地FIFO存储器的空满,如果本地FIFO存储器满则向对应的核发送stall信号阻止程序运行产生新的迹;若本地FIFO存储器有迹,则冗余核的控制器将其取出通过路由器发送到主核的远程FIFO存储器,而主核的控制器将本地FIFO存储器的迹取出送至比较器和远程FIFO存储器中的迹进行比较,若比较结果不同,则产生一个Error报错,从而向控制器发送中断请求容错恢复。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种基于设备视图冗余的众核处理器容错方法,其特征在于步骤包括:
1)预先在众核处理器指定的主核和冗余核中加入用于容错检测的可靠设备单元,且针对可靠设备单元提供可供编程调用的设备视图,所述设备视图可供编程调用的指令包括设备视图的配置、启用和停用;在主核执行应用程序时,如果执行到设备视图的配置指令,则初始化配置可靠设备单元并向控制核发送中断请求,控制核根据中断请求为主核分配一个可用的冗余核,跳转执行步骤2);
2)主核继续执行应用程序;当主核执行到设备视图的启用指令时挂起应用程序,启用可靠设备单元并将上下文复制给冗余核,冗余核保存上下文并启用可靠设备单元,控制核分别给主核和冗余核发送冗余执行命令,跳转执行步骤3);
3)主核、冗余核同时执行设备视图的启用指令后的关键代码段,同时控制核根据指定的间隔时间更新主核执行的检查点,在执行关键代码段的过程中如果主核的可靠设备单元检测到和冗余核的可靠设备单元执行的结果不一致则向控制核发出中断请求,则控制核控制主核和冗余核退回上一个检查点;当主核执行到设备视图的停用指令时,跳转执行步骤4);
4)主核、冗余核分别停用可靠设备单元,主核继续执行应用程序。
2.根据权利要求1所述的基于设备视图冗余的众核处理器容错方法,其特征在于:所述步骤1)中初始化配置可靠设备单元时包括配置控制核用于更新主核执行的间隔时间。
3.根据权利要求2所述的基于设备视图冗余的众核处理器容错方法,其特征在于:所述步骤1)中控制核根据中断请求为主核分配一个可用的冗余核的步骤包括:控制核收到中断请求后向各个冗余核发送空闲度查询指令,各个冗余核基于自带的性能计数器或者可靠设备单元内置的性能计数器统计指定的时间内该冗余核执行的NULL指令数和总指令数,并将NULL指令数除以总指令数得到该冗余核的空闲度并发送给控制核,控制核根据各个冗余核返回的空闲度为主核分配一个可用的冗余核。
4.根据权利要求3所述的基于设备视图冗余的众核处理器容错方法,其特征在于:所述步骤1)中初始化配置可靠设备单元时还包括配置主核的冗余优先级;所述控制核根据各个冗余核返回的空闲度为主核分配一个可用的冗余核时,如果同时只有一个主核向控制核发送中断请求,则查找一个空闲度最高的有效的冗余核分配给该主核,如果同时存在两个以上主核同时向控制核发送中断请求,则控制核根据各个主核的冗余优先级来分配冗余核,冗余优先级最高的主核获得空闲度最高的有效的冗余核,冗余优先级最低的主核获得空闲度最低的有效的冗余核,如果没有足够的冗余核,则将冗余核优先分配冗余优先级较高的主核,如果控制核没有足够的冗余核分配给主核,则向主核返回分配冗余核失败的消息,主核向控制核发送中断请求后如果收到发出分配冗余核失败的消息则退出并继续正常执行应用程序。
5.根据权利要求1~4中任意一项所述的基于设备视图冗余的众核处理器容错方法,其特征在于,所述步骤3)的详细步骤包括:主核、冗余核同时执行设备视图的启用指令后的关键代码段,同时控制核根据指定的间隔时间更新主核执行的检查点;在执行关键代码段的过程中,主核判断当前的指令是否为设备视图停用指令,如果是则跳转执行步骤4);否则,主核产生主核执行的迹,所述迹为对寄存器组及存储器的访问信息;同时,冗余核产生冗余核执行的迹,冗余核的可靠设备单元提取迹的特征并发送给主核,主核的可靠设备单元提取迹的特征并与冗余核发送的迹的特征进行比较,如果两者不一致,则主核向控制核发送中断请求进行错误恢复,控制核收到中断请求后分别控制主核、冗余核退回至上一个检查点,主核和冗余核继续从上一个检查点开始重新执行关键代码段;如果两者一致,则主核和冗余核继续执行剩余的关键代码段。
6.根据权利要求5所述的基于设备视图冗余的众核处理器容错方法,其特征在于:所述主核产生主核执行的迹时,如果主核同时存在寄存器操作和存储器操作,则只记录存储器操作的访问信息;所述冗余核产生冗余核执行的迹时,如果冗余核同时存在寄存器操作和存储器操作,则只记录存储器操作的访问信息。
7.根据权利要求6所述的基于设备视图冗余的众核处理器容错方法,其特征在于:所述步骤1)中初始化配置可靠设备单元时包括配置用于可靠设备单元提取迹的特征的压缩算法类型;所述可靠设备单元提取迹的特征具体是指采用预设的压缩算法类型提取指定数量的迹的特征,且在每一次提取迹时,将上一次提取得到的特征、当前采集得到的指定数量的迹共同作为压缩算法的输入来提取得到本次指定数量的迹的特征。
8.根据权利要求7所述的基于设备视图冗余的众核处理器容错方法,其特征在于:所述可靠设备单元包括迹特征提取器、本地FIFO存储器、远程FIFO存储器、比较器、性能计数器以及控制器,在主核产生主核执行的迹后,所述主核的迹特征提取器采用预设的压缩算法类型提取指定数量的迹的特征并存储在本地FIFO存储器中;在冗余核产生冗余核执行的迹后,所述冗余核的迹特征提取器采用预设的压缩算法类型提取指定数量的迹的特征并存储在本地FIFO存储器中,同时冗余核的控制器将本地FIFO存储器中存储的冗余核的迹的特征发送并存储到主核的远程FIFO存储器中;主核的比较器针对本地FIFO存储器、远程FIFO存储器中存储的迹的特征进行比较,如果不一致则向控制器发出报错信息,主核的控制器如果收到报错信息则向控制核发送中断请求进行错误恢复。
CN201410780705.XA 2014-12-17 2014-12-17 基于设备视图冗余的众核处理器容错方法 Active CN104391763B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410780705.XA CN104391763B (zh) 2014-12-17 2014-12-17 基于设备视图冗余的众核处理器容错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410780705.XA CN104391763B (zh) 2014-12-17 2014-12-17 基于设备视图冗余的众核处理器容错方法

Publications (2)

Publication Number Publication Date
CN104391763A true CN104391763A (zh) 2015-03-04
CN104391763B CN104391763B (zh) 2016-05-18

Family

ID=52609671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410780705.XA Active CN104391763B (zh) 2014-12-17 2014-12-17 基于设备视图冗余的众核处理器容错方法

Country Status (1)

Country Link
CN (1) CN104391763B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672377A (zh) * 2020-05-13 2021-11-19 株式会社日立制作所 程序生成装置、并行运算设备以及计算机可读记录介质
CN114416517A (zh) * 2021-12-01 2022-04-29 北京四方继保工程技术有限公司 一种嵌入式多核处理器的防护与诊断方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147755A (zh) * 2011-04-14 2011-08-10 中国人民解放军国防科学技术大学 一种基于内存缓存技术的多核系统容错方法
US20110208997A1 (en) * 2009-12-07 2011-08-25 SPACE MICRO, INC., a corporation of Delaware Radiation hard and fault tolerant multicore processor and method for ionizing radiation environment
CN103197994A (zh) * 2013-04-26 2013-07-10 哈尔滨工业大学 基于片上网络的众核芯片管理结构容错的方法
CN103294169A (zh) * 2013-05-31 2013-09-11 上海交通大学 一种功耗优化的众核系统的冗余保护系统及方法
WO2014084836A1 (en) * 2012-11-29 2014-06-05 Hewlett-Packard Development Company, L.P. Fault tolerance in a multi-core circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208997A1 (en) * 2009-12-07 2011-08-25 SPACE MICRO, INC., a corporation of Delaware Radiation hard and fault tolerant multicore processor and method for ionizing radiation environment
CN102147755A (zh) * 2011-04-14 2011-08-10 中国人民解放军国防科学技术大学 一种基于内存缓存技术的多核系统容错方法
WO2014084836A1 (en) * 2012-11-29 2014-06-05 Hewlett-Packard Development Company, L.P. Fault tolerance in a multi-core circuit
CN103197994A (zh) * 2013-04-26 2013-07-10 哈尔滨工业大学 基于片上网络的众核芯片管理结构容错的方法
CN103294169A (zh) * 2013-05-31 2013-09-11 上海交通大学 一种功耗优化的众核系统的冗余保护系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈鹰翔等: "基于片上网络众核系统容错技术研究", 《信息技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672377A (zh) * 2020-05-13 2021-11-19 株式会社日立制作所 程序生成装置、并行运算设备以及计算机可读记录介质
CN114416517A (zh) * 2021-12-01 2022-04-29 北京四方继保工程技术有限公司 一种嵌入式多核处理器的防护与诊断方法及装置

Also Published As

Publication number Publication date
CN104391763B (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
US10261853B1 (en) Dynamic replication error retry and recovery
Scales et al. The design of a practical system for fault-tolerant virtual machines
EP3008600B1 (en) Virtual machine backup from storage snapshot
US9417965B2 (en) Low overhead fault tolerance through hybrid checkpointing and replay
US9785523B2 (en) Managing replicated virtual storage at recovery sites
Prathiba et al. Survey of failures and fault tolerance in cloud
US20090300414A1 (en) Method and computer system for making a computer have high availability
CN103516736A (zh) 分布式缓存系统的数据恢复方法及装置
CN104541244A (zh) 用于进行重放执行的方法和系统
US9940152B2 (en) Methods and systems for integrating a volume shadow copy service (VSS) requester and/or a VSS provider with virtual volumes (VVOLS)
CN101398770A (zh) 迁移一个或多个虚拟机的系统和方法
AU2012273366A1 (en) Managing replicated virtual storage at recovery sites
CN104239166A (zh) 一种对运行中虚拟机实现文件备份的方法
CN105677480B (zh) 一种数据处理方法及装置
CN108038201B (zh) 一种数据整合系统及其分布式数据整合系统
CN101876926A (zh) 一种非对称结构的软件三机热备容错方法
CN106155943B (zh) 一种双控存储设备的掉电保护的方法及装置
CN106777394B (zh) 一种集群文件系统
CN103455393A (zh) 一种基于进程冗余的容错系统设计方法
WO2014075586A1 (zh) 一种jbod阵列自动恢复存储的方法和装置
Ouyang et al. CRFS: A lightweight user-level filesystem for generic checkpoint/restart
US9934110B2 (en) Methods for detecting out-of-order sequencing during journal recovery and devices thereof
WO2017014814A1 (en) Replicating memory volumes
CN111400086A (zh) 虚拟机容错的实现方法和系统
CN103729166A (zh) 程序的线程关系确定方法、设备及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant