CN117743008A - 多核处理器故障诊断与异常处理方法、主控板卡及设备 - Google Patents
多核处理器故障诊断与异常处理方法、主控板卡及设备 Download PDFInfo
- Publication number
- CN117743008A CN117743008A CN202311708813.1A CN202311708813A CN117743008A CN 117743008 A CN117743008 A CN 117743008A CN 202311708813 A CN202311708813 A CN 202311708813A CN 117743008 A CN117743008 A CN 117743008A
- Authority
- CN
- China
- Prior art keywords
- partition
- hash value
- hash
- core processor
- program
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003745 diagnosis Methods 0.000 title claims abstract description 32
- 238000005192 partition Methods 0.000 claims abstract description 271
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 230000002159 abnormal effect Effects 0.000 claims description 25
- 230000000694 effects Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 8
- 238000006073 displacement reaction Methods 0.000 abstract description 2
- 238000012937 correction Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供一种多核处理器故障诊断与异常处理方法、主控板卡及设备,属于计算机技术领域,所述方法包括:监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值,目标内存区域包括第一分区和第二分区,第一分区和第二分区以互为备份的方式存放目标应用程序的代码,程序指针所在分区为第一分区或第二分区;基于目标应用程序的哈希原值和程序指针所在分区的哈希值,确定程序指针指向第一分区或第二分区。通过第一分区和第二分区以互为备份的方式存放目标应用程序的代码,能够确保程序指针指向第一分区和第二分区两者中的正常分区,降低因内存变位带来的设备故障的可能性,提高高压直流输电控制保护设备运行的稳定性。
Description
技术领域
本发明属于计算机技术领域,更具体地,涉及一种多核处理器故障诊断与异常处理方法、主控板卡及设备。
背景技术
控制保护系统是高压直流输电工程的大脑,是实现和保障直流输电安全稳定运行的核心与关键,其系统配置复杂,需要综合考虑交直流场、对站信息等,并配置成多种保护系统、控制系统,且每种系统均有冗余配置,因而需要实现的功能多,通信对象多,需要处理的数据量也更大,因而一般采用多核、多处理器架构,多个处理器并行计算、相互协作完成控制保护任务。
直流输电工程的电压等级高、输送容量大,出现故障时对交流系统的影响较大,因而对设备运行的稳定性和可靠性有极高要求,一方面,需要设备尽量可靠的运行,无故障、无异常;另一方面,在异常时应能准确诊断故障原因并记录,便于后期整改提升,同时可靠的退出运行,由运维人员及时消除故障再投入运行。
图1是现有技术提供的多主处理器多核并行计算环境的示意图,如图1所示,为一个典型的多主处理器多核并行计算环境,多个主控板卡可以通过背板直接访问外设的通信、输入输出(IO)板卡,不同主控板卡在背板上的功能定义是一致的,可以对背板的“从”板卡进行管理和使用;多个主控板卡通过共享内存板卡实现数据交互与通信,以一定的机制保证数据一致性,从而构成多个主控板卡并行计算环境。每个主控板卡使用多核处理器,多核处理器以非对称多处理(Asymmetric Multi-Processing,AMP)模式运行,每个核心的资源彼此隔离,成为独立的计算单元,多个核心之间通过核间共享内存交换数据和通信,从而在单芯片内部构成多核并行计算环境。
目前常用的芯片故障诊断与处理方法是使用纠错码(Error Correcting Code,ECC)功能,该功能一般由处理器芯片硬件实现,可以实现对单bit错误的发现与实时纠正,对多bit错误及时发现并告警,但不能实现多bit错误的纠正,因为将会使系统停止运行。
对于故障诊断功能,一般由处理器硬件和嵌入式操作系统共同完成,通过处理器的异常信息定位故障位置,并给出异常中断,由操作系统和应用程序决定是否停止业务逻辑是否停止运行,不能有更多的信息追溯故障原因。
在多核心和多处理器的故障监视方面,一般是多个主控板卡或计算核心自检出现故障时,通过背板发出系统故障(sysfail)信号通知其他主控板卡或计算核心主动停止运行,从而使系统可靠退出运行。但在复杂情况下,例如内存变位带来的设备故障,可能出现单个主控板卡或计算核心因指令跑飞进入中断异常,导致不能有效地发出sysfail信号,同一机箱内的主控板卡将使用共享内存中未更新的错误数据进行运算,从而引起系统出现计算错误而发出错误指令,造成严重后果。
发明内容
本发明提供一种多核处理器故障诊断与异常处理方法、主控板卡及设备,用以解决现有技术中内存变位带来设备故障的缺陷,实现提高高压直流输电控制保护设备运行的稳定性。
第一方面,本发明提供一种多核处理器故障诊断与异常处理方法,包括:
监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值,目标内存区域包括第一分区和第二分区,所述第一分区和所述第二分区以互为备份的方式存放所述目标应用程序的代码,所述程序指针所在分区为所述第一分区或所述第二分区;
基于所述目标应用程序的哈希原值和所述程序指针所在分区的哈希值,确定所述程序指针指向所述第一分区或所述第二分区。
可选地,所述基于所述目标应用程序的哈希原值和所述程序指针所在分区的哈希值,确定所述程序指针指向所述第一分区或所述第二分区,包括:
判断所述哈希原值与所述程序指针所在分区的哈希值是否相同;
若确定所述哈希原值与所述程序指针所在分区的哈希值不相同,则计算所述程序指针所在分区对应的备份分区的哈希值,所述第一分区对应的备份分区为所述第二分区,所述第二分区对应的备份分区为所述第一分区;
判断所述哈希原值与所述备份分区的哈希值是否相同;
若确定所述哈希原值与所述备份分区的哈希值相同,则确定所述程序指针指向所述备份分区。
可选地,在确定所述哈希原值与所述备份分区的哈希值相同之后,还包括:
基于所述备份分区所存放的所述目标应用程序的代码,恢复哈希值异常分区的代码。
可选地,在判断所述哈希原值与所述备份分区的哈希值是否相同之后,还包括:
若确定所述哈希原值与所述备份分区的哈希值不相同,则执行告警操作。
可选地,所述告警操作包括:
保存故障日志并向多核处理器所在主控板卡上的板载FPGA注册故障活动事件,所述故障活动事件用于指示所述多核处理器工作故障,同时所述多核处理器主动停止调度任务的执行,使自身停止应用程序的执行;
所述故障日志包括以下信息中的一项或多项:故障时刻的堆栈信息、故障时刻的函数调用关系、故障时刻的寄存器备份和应用程序执行位置。
可选地,在判断所述哈希原值与所述程序指针所在分区的哈希值是否相同之后,还包括:
若确定所述哈希原值与所述程序指针所在分区的哈希值相同,则保持所述目标应用程序的程序指针指向不变。
可选地,在监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值之前,还包括:
装载所述目标应用程序的代码至所述第一分区和所述第二分区;
判断所述第一分区的初始哈希值和所述第二分区的初始哈希值是否相同;
若确定所述第一分区的初始哈希值和所述第二分区的初始哈希值相同,则确定所述初始哈希值作为所述哈希原值;
基于默认程序入口配置,确定所述目标应用程序的程序指针指向所述第一分区的代码起始位置或所述第二分区的代码起始位置。
第二方面,本发明还提供一种主控板卡,包括:板载FPGA和应用上述任意一种多核处理器故障诊断与异常处理方法的多核处理器。
可选地,所述多核处理器用于周期性地向所述板载FPGA注册活动事件;
所述板载FPGA具体用于:
监测所述多核处理器注册的活动事件;
基于预设时间阈值和所述多核处理器注册的活动事件,判断所述多核处理器是否发生故障;
若确定所述多核处理器发生故障,则向所述主控板卡所在背板发送系统故障信号。
第三方面,本发明还提供一种高压直流输电控制保护设备,包括:背板和多个上述任意一种主控板卡,所述背板用于承载多个主控板卡,所述多个主控板卡之间通信连接。
可以理解的是,上述第二方面至第三方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
通过在目标内存区域配置第一分区和第二分区,且两个分区以互为备份的方式存放目标应用程序的代码,第一分区作为第二分区的备份分区,第二分区作为第一分区的备份分区,进而可以在执行目标应用程序的过程中,监测目标内存区域以确定目标应用程序的程序指针所在分区的哈希值,如果程序指针所在分区为第一分区则确定第一分区的哈希值,如果程序指针所在分区为第二分区则确定第二分区的哈希值,进而可以比较目标应用程序的哈希原值和程序指针所在分区的哈希值,判断程序指针所在分区是否存在异常,以确保程序指针指向第一分区和第二分区两者中的正常分区,也即如果第一分区异常第二分区正常,则程序指针指向第二分区,如果第二分区异常第一分区正常,则程序指针指向第一分区,能够降低因内存变位带来的设备故障的可能性,多核处理器作为高压直流输电控制保护设备的核心,随着多核处理器的故障率降低,相应地能够提高高压直流输电控制保护设备运行的稳定性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的多主处理器多核并行计算环境的示意图;
图2是本发明提供的多核处理器故障诊断与异常处理方法的流程示意图;
图3是本发明提供的主任务逻辑的流程示意图;
图4是本发明提供的CRAM扫描任务的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一分区和第二分区等是用于区别不同的分区,而不是用于分区的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
接下来,对本发明实施例中提供的技术方案进行介绍。
图2是本发明提供的多核处理器故障诊断与异常处理方法的流程示意图,如图2所示,多核处理器故障诊断与异常处理方法的执行主体可以是多核处理器,该方法包括:
步骤101,监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希(hash)值。
具体地,目标内存区域可以是目标RAM区域,目标RAM区域包括第一分区和第二分区,第一分区和第二分区以互为备份的方式存放目标应用程序的代码。通过在目标内存区域配置第一分区和第二分区,且两个分区以互为备份的方式存放目标应用程序的代码,第一分区作为第二分区的备份分区,第二分区作为第一分区的备份分区。
步骤102,基于目标应用程序的哈希原值和程序指针所在分区的哈希值,确定程序指针指向第一分区或所述第二分区。
具体地,在执行目标应用程序的过程中,监测目标内存区域以确定目标应用程序的程序指针所在分区的哈希值,如果程序指针所在分区为第一分区则确定第一分区的哈希值,如果程序指针所在分区为第二分区则确定第二分区的哈希值,进而可以比较目标应用程序的哈希原值和程序指针所在分区的哈希值,判断程序指针所在分区是否存在异常,以确保程序指针指向第一分区和第二分区两者中的正常分区。
因此,如果第一分区异常第二分区正常,则程序指针指向第二分区,如果第二分区异常第一分区正常,则程序指针指向第一分区,能够降低因内存变位带来的设备故障的可能性,多核处理器作为高压直流输电控制保护设备的核心,随着多核处理器的故障率降低,相应地能够提高高压直流输电控制保护设备运行的稳定性。
可选地,根据本发明提供的一种多核处理器故障诊断与异常处理方法,基于目标应用程序的哈希原值和程序指针所在分区的哈希值,确定程序指针指向第一分区或第二分区,包括:
判断哈希原值与程序指针所在分区的哈希值是否相同;
若确定哈希原值与程序指针所在分区的哈希值不相同,则计算程序指针所在分区对应的备份分区的哈希值,第一分区对应的备份分区为第二分区,第二分区对应的备份分区为第一分区;
判断哈希原值与备份分区的哈希值是否相同;
若确定哈希原值与备份分区的哈希值相同,则确定程序指针指向备份分区。
具体地,如果程序指针所在分区为第一分区,则备份分区为第二分区,若确定哈希原值与程序指针所在分区(也即第一分区)的哈希值不相同,则计算程序指针所在分区对应的备份分区(也即第二分区)的哈希值,判断哈希原值与第二分区的哈希值是否相同,若确定哈希原值与第二分区的哈希值相同,则确定程序指针指向第二分区。
具体地,如果程序指针所在分区为第二分区,则备份分区为第一分区,若确定哈希原值与程序指针所在分区(也即第二分区)的哈希值不相同,则计算程序指针所在分区对应的备份分区(也即第一分区)的哈希值,判断哈希原值与第一分区的哈希值是否相同,若确定哈希原值与第一分区的哈希值相同,则确定程序指针指向第一分区。
可选地,根据本发明提供的一种多核处理器故障诊断与异常处理方法,在确定哈希原值与备份分区的哈希值相同之后,还包括:
基于备份分区所存放的目标应用程序的代码,恢复哈希值异常分区的代码。
具体地,如果程序指针所在分区为第一分区,则备份分区为第二分区,若确定哈希原值与程序指针所在分区(也即第一分区)的哈希值不相同,则表明第一分区为计算程序指针所在分区对应的备份分区(也即第二分区为哈希值异常分区)的哈希值,判断哈希原值与第二分区的哈希值是否相同,在确定哈希原值与备份分区的哈希值相同之后,可以基于第二分区所存放的目标应用程序的代码,恢复哈希值异常分区(也即第一分区)的代码。
具体地,如果程序指针所在分区为第二分区,则备份分区为第一分区,若确定哈希原值与程序指针所在分区(也即第二分区)的哈希值不相同,则表明第二分区为计算程序指针所在分区对应的备份分区(也即第一分区为哈希值异常分区)的哈希值,判断哈希原值与第一分区的哈希值是否相同,在确定哈希原值与备份分区的哈希值相同之后,可以基于第一分区所存放的目标应用程序的代码,恢复哈希值异常分区(也即第二分区)的代码。
可选地,根据本发明提供的一种多核处理器故障诊断与异常处理方法,在判断哈希原值与备份分区的哈希值是否相同之后,还包括:
若确定哈希原值与备份分区的哈希值不相同,则执行告警操作。
具体地,告警操作包括:
保存故障日志并向多核处理器所在主控板卡上的板载可编程逻辑门阵列(Field-Programmable Gate Array,FPGA)注册故障活动事件,故障活动事件用于指示多核处理器工作故障,同时多核处理器主动停止调度任务的执行,使自身停止应用程序的执行;
故障日志包括以下信息中的一项或多项:故障时刻的堆栈信息、故障时刻的函数调用关系、故障时刻的寄存器备份和应用程序执行位置。
示例性地,该故障活动事件可以携带有故障日志,故障活动事件可以用于触发板载FPGA发出sysfail信号通知其他主控板卡和外设板卡停止运行。
可选地,根据本发明提供的一种多核处理器故障诊断与异常处理方法,在判断哈希原值与程序指针所在分区的哈希值是否相同之后,还包括:
若确定哈希原值与程序指针所在分区的哈希值相同,则保持目标应用程序的程序指针指向不变。
具体地,如果程序指针所在分区为第一分区,在判断哈希原值与程序指针所在分区的哈希值是否相同之后,若确定哈希原值与程序指针所在分区的哈希值相同,则表明第一分区所存放的代码无异常,进而可以保持目标应用程序的程序指针指向不变,也即保持指向第一分区。
具体地,如果程序指针所在分区为第二分区,在判断哈希原值与程序指针所在分区的哈希值是否相同之后,若确定哈希原值与程序指针所在分区的哈希值相同,则表明第二分区所存放的代码无异常,进而可以保持目标应用程序的程序指针指向不变,也即保持指向第二分区。
可选地,根据本发明提供的一种多核处理器故障诊断与异常处理方法,在监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值之前,还包括:
装载目标应用程序的代码至第一分区和第二分区;
判断第一分区的初始哈希值和第二分区的初始哈希值是否相同;
若确定第一分区的初始哈希值和第二分区的初始哈希值相同,则确定初始哈希值作为哈希原值;
基于默认程序入口配置,确定目标应用程序的程序指针指向第一分区的代码起始位置或第二分区的代码起始位置。
示例性地,单处理器(单处理器是指单个主控板卡上的处理器,单处理器可以包括多个核心)异常诊断与处理功能:
(1)主控板卡可以采用带ECC功能的处理器实现硬件级自检和异常处理。
(2)主控板卡使用AMP模式,处理器在每个核心中使用嵌入式操作系统,嵌入式操作系统为应用程序提供完善的硬件资源、内存、文件系统管理方法,以及多任务、多核应用环境的仲裁策略,因而可以使装置更为安全、可靠、稳定。
(3)AMP中的每个业务计算节点,设置代码段和页表为写保护。
(4)AMP中每个业务计算节点,当出现异常时,触发操作系统异常处理(也即执行上述告警操作)。在异常处理的回调函数中,对异常位置进行堆栈回溯,追溯异常时刻的函数调用关系,记录当前的寄存器备份和应用程序执行位置,收集当前的堆栈信息,形成故障日志并存储在flash中,便于用户定位底层故障原因,进一步提高设备运行可靠性。
(5)AMP中的每个业务计算节点,其核心应用逻辑由上位机组态编程软件编写并生成程序指令存储在所开辟的RAM区域中,称为CRAM区域。为保证用户应用程序代码段不被破坏,可以执行以下异常诊断方法:
1)将CRAM分为上半部分区域和下半部分区域(其中,上述第一分区可以是上半部分区域,上述第二分区可以是下半部分区域),上下两个区域大小相同,互为备份;
2)定义应用程序执行的任务为主任务,在主任务中,首次下装应用程序时,将应用程序下载到CRAM的上下两个区域,同时计算两个区域的hash值,如果一致则记录hash原值并默认从上半部分区域为应用程序入口开始执行,图3是本发明提供的主任务逻辑的流程示意图,如图3所示,CRAM_H表示上半部分区域,CRAM_L表示下半部分区域,F_H用于指示上半部分区域所存放的代码是否存在异常,若F_H=TRUE则表示上半部分区域所存放的代码无异常,否则表示上半部分区域所存放的代码存在异常;F_L用于指示下半部分区域所存放的代码是否存在异常,若F_L=TRUE则表示下半部分区域所存放的代码无异常,否则表示下半部分区域所存放的代码存在异常;F_SW用于指示是否将程序指针指向备份分区(上半部分区域对应的备份分区为下半部分区域,下半部分区域对应的备份分区为上半部分区域),F_SW=TRUE则表示待将程序指针指向备份分区;
3)基于嵌入式操作系统发起CRAM扫描任务,作为背景任务在应用程序单次循环执行完而下个执行周期未到达时执行,主要负责实时计算程序指针所在的CRAM区域的hash值,并与保存的原值进行比较,一旦检测到不一致,则在高优先级任务里计算CRAM另一半区域的hash值,如果该值与原值一致,则将程序指针快速切换到CRAM另一半区域相同偏移地址处,同时在背景任务(背景任务通常是一些辅助性质的任务,用于处理系统的管理、监控、维护等工作,它们在后台执行而不会干扰或阻塞主要任务的执行)中将hash值正确的CRAM区域复制到出错的CRAM区域,图4是本发明提供的CRAM扫描任务的流程示意图,如图4所示,若F_SW=FALSE则表示保持程序指针指向不变;
4)系统主任务执行中,只要CRAM的上下区域hash值与原值一致,则总能保证系统正确运行,不会故障停机,同时还能对出错区域进行自动修复;
5)只有CRAM的上下两个区域hash值均与原值不一致时,才会触发告警操作,保存故障信息并退出运行;
6)可选地,在多核处理器场景中,CRAM扫描任务可以与主任务分别在不同的核,从而进一步提高扫描任务的实时性,更为及时地发现运行故障。
(6)多核心的单处理器自检到系统异常且无法完成自动纠错时,为保证系统的可靠运行,将主动触发告警,保存故障信息,同时通过背板发出sysfail信号通知其他主控板卡和外设板卡停止运行。
本发明还提供一种主控板卡,包括:板载FPGA和应用上述任意一种多核处理器故障诊断与异常处理方法的多核处理器。
示例性地,多核处理器用于周期性地向板载FPGA注册活动事件;
板载FPGA具体用于:
监测多核处理器注册的活动事件;
基于预设时间阈值和多核处理器注册的活动事件,判断多核处理器是否发生故障;
若确定多核处理器发生故障,则向主控板卡所在背板发送系统故障信号。
可以理解的是,单板电源故障会造成处理器停止工作,也会导致不能有效地发出sysfail信号。针对此场景,本发明通过板载FPGA监测多核处理器注册的活动事件,在最近一次收到多核处理器注册的活动事件之后,可以基于预设时间阈值配置定时器,若定时器超时还未收到多核处理器新注册的活动事件,则表明多核处理器出现故障,进而板载FPGA可以向主控板卡所在背板发送sysfail信号通知其他主控板卡和外设板卡停止运行。通过不依赖于其他外部设备或模块的内部自检机制,能在极端情况下发现主控板卡运行故障,主动退出运行,避免对系统可靠运行带来影响。
本发明还提供一种高压直流输电控制保护设备,包括:背板和多个上述主控板卡,背板用于承载多个主控板卡,多个主控板卡之间通信连接。
示例性地,本发明的多核处理器指使用AMP模式运行的多核计算环境,每个核心使用相互隔离的硬件资源;
单处理器的多个核心定时向板载的FPGA注册活动事件,内容包括心跳和运行状态,板载FPGA根据注册内容对每个处理器核心进行监测,判断其运行情况是否正常,当某个核心在阈值时间内未向板载FPGA注册活动事件,或注册的活动事件异常(也即上述故障活动事件),则判定该核心运行异常,且未能主动可靠停机。板载FPGA将主动在背板发出sysfail信号通知其他主控板卡和外设板卡停止运行。
可选地,板载FPGA判定处理器核心运行异常的时间阈值可设置,一般为最快运行任务的5倍。
可选地,板载FPGA和处理器之间使用高速通信总线连接。
本发明提出了一种多核处理器故障诊断与异常处理方法,可以应用于高压直流输电工程设备中的多核多主处理器并行计算环境,该方法能够降低因内存变位带来的设备故障的可能性,提高了高压直流输电控制保护设备运行的稳定性可靠性。
本发明还提出了一种主控板卡,通过不依赖于其他外部设备或模块的内部自检机制,能在极端情况下发现主控板卡运行故障,主动退出运行,避免对系统可靠运行带来影响。
应当理解的是,上述装置用于执行上述实施例中的方法,装置中相应的程序模块,其实现原理和技术效果与上述方法中的描述类似,该装置的工作过程可参考上述方法中的对应过程,此处不再赘述。
基于上述实施例中的方法,本发明实施例提供了一种电子设备。该设备可以包括:至少一个用于存储程序的存储器和至少一个用于执行存储器存储的程序的处理器。其中,当存储器存储的程序被执行时,处理器用于执行上述实施例中所描述的方法。
基于上述实施例中的方法,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行上述实施例中的方法。
可以理解的是,本发明实施例中的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本发明实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本发明实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本发明的实施例的范围。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多核处理器故障诊断与异常处理方法,其特征在于,包括:
监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值,目标内存区域包括第一分区和第二分区,所述第一分区和所述第二分区以互为备份的方式存放所述目标应用程序的代码,所述程序指针所在分区为所述第一分区或所述第二分区;
基于所述目标应用程序的哈希原值和所述程序指针所在分区的哈希值,确定所述程序指针指向所述第一分区或所述第二分区。
2.根据权利要求1所述多核处理器故障诊断与异常处理方法,其特征在于,所述基于所述目标应用程序的哈希原值和所述程序指针所在分区的哈希值,确定所述程序指针指向所述第一分区或所述第二分区,包括:
判断所述哈希原值与所述程序指针所在分区的哈希值是否相同;
若确定所述哈希原值与所述程序指针所在分区的哈希值不相同,则计算所述程序指针所在分区对应的备份分区的哈希值,所述第一分区对应的备份分区为所述第二分区,所述第二分区对应的备份分区为所述第一分区;
判断所述哈希原值与所述备份分区的哈希值是否相同;
若确定所述哈希原值与所述备份分区的哈希值相同,则确定所述程序指针指向所述备份分区。
3.根据权利要求2所述多核处理器故障诊断与异常处理方法,其特征在于,在确定所述哈希原值与所述备份分区的哈希值相同之后,还包括:
基于所述备份分区所存放的所述目标应用程序的代码,恢复哈希值异常分区的代码。
4.根据权利要求2所述多核处理器故障诊断与异常处理方法,其特征在于,在判断所述哈希原值与所述备份分区的哈希值是否相同之后,还包括:
若确定所述哈希原值与所述备份分区的哈希值不相同,则执行告警操作。
5.根据权利要求4所述多核处理器故障诊断与异常处理方法,其特征在于,所述告警操作包括:
保存故障日志并向多核处理器所在主控板卡上的板载FPGA注册故障活动事件,所述故障活动事件用于指示所述多核处理器工作故障,同时所述多核处理器主动停止调度任务的执行,使自身停止应用程序的执行;
所述故障日志包括以下信息中的一项或多项:故障时刻的堆栈信息、故障时刻的函数调用关系、故障时刻的寄存器备份和应用程序执行位置。
6.根据权利要求2所述多核处理器故障诊断与异常处理方法,其特征在于,在判断所述哈希原值与所述程序指针所在分区的哈希值是否相同之后,还包括:
若确定所述哈希原值与所述程序指针所在分区的哈希值相同,则保持所述目标应用程序的程序指针指向不变。
7.根据权利要求1-6任一项所述多核处理器故障诊断与异常处理方法,其特征在于,在监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值之前,还包括:
装载所述目标应用程序的代码至所述第一分区和所述第二分区;
判断所述第一分区的初始哈希值和所述第二分区的初始哈希值是否相同;
若确定所述第一分区的初始哈希值和所述第二分区的初始哈希值相同,则确定所述初始哈希值作为所述哈希原值;
基于默认程序入口配置,确定所述目标应用程序的程序指针指向所述第一分区的代码起始位置或所述第二分区的代码起始位置。
8.一种主控板卡,其特征在于,包括:板载FPGA和应用如权利要求1-7任一项所述多核处理器故障诊断与异常处理方法的多核处理器。
9.根据权利要求8所述主控板卡,其特征在于,所述多核处理器用于周期性地向所述板载FPGA注册活动事件;
所述板载FPGA具体用于:
监测所述多核处理器注册的活动事件;
基于预设时间阈值和所述多核处理器注册的活动事件,判断所述多核处理器是否发生故障;
若确定所述多核处理器发生故障,则向所述主控板卡所在背板发送系统故障信号。
10.一种高压直流输电控制保护设备,其特征在于,包括:背板和多个如权利要求8或9所述主控板卡,所述背板用于承载多个主控板卡,所述多个主控板卡之间通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311708813.1A CN117743008A (zh) | 2023-12-13 | 2023-12-13 | 多核处理器故障诊断与异常处理方法、主控板卡及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311708813.1A CN117743008A (zh) | 2023-12-13 | 2023-12-13 | 多核处理器故障诊断与异常处理方法、主控板卡及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117743008A true CN117743008A (zh) | 2024-03-22 |
Family
ID=90250115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311708813.1A Pending CN117743008A (zh) | 2023-12-13 | 2023-12-13 | 多核处理器故障诊断与异常处理方法、主控板卡及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743008A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102597956A (zh) * | 2009-10-22 | 2012-07-18 | 萨甘安全防护公司 | 具有用于对分区进行管理的实时核的电子控制单元 |
CN102981872A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和终端设备 |
CN107943603A (zh) * | 2016-10-13 | 2018-04-20 | 迈普通信技术股份有限公司 | 一种运行状态检测方法、检测电路及电子设备 |
CN111026573A (zh) * | 2019-11-19 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多核处理系统的看门狗系统及控制方法 |
CN112613691A (zh) * | 2020-11-09 | 2021-04-06 | 贵州电网有限责任公司 | 芯片化继电保护通用装置 |
CN114443423A (zh) * | 2021-12-29 | 2022-05-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种cpu与fpga之间相互监控的电路 |
CN115795432A (zh) * | 2022-11-29 | 2023-03-14 | 普华基础软件股份有限公司 | 一种适用于只读文件系统的程序完整性验证系统及方法 |
-
2023
- 2023-12-13 CN CN202311708813.1A patent/CN117743008A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102597956A (zh) * | 2009-10-22 | 2012-07-18 | 萨甘安全防护公司 | 具有用于对分区进行管理的实时核的电子控制单元 |
CN102981872A (zh) * | 2012-11-09 | 2013-03-20 | 青岛海信移动通信技术股份有限公司 | 终端设备开机、升级方法和终端设备 |
CN107943603A (zh) * | 2016-10-13 | 2018-04-20 | 迈普通信技术股份有限公司 | 一种运行状态检测方法、检测电路及电子设备 |
CN111026573A (zh) * | 2019-11-19 | 2020-04-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多核处理系统的看门狗系统及控制方法 |
CN112613691A (zh) * | 2020-11-09 | 2021-04-06 | 贵州电网有限责任公司 | 芯片化继电保护通用装置 |
CN114443423A (zh) * | 2021-12-29 | 2022-05-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种cpu与fpga之间相互监控的电路 |
CN115795432A (zh) * | 2022-11-29 | 2023-03-14 | 普华基础软件股份有限公司 | 一种适用于只读文件系统的程序完整性验证系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017517060A (ja) | 障害処理方法、関連装置、およびコンピュータ | |
CN100394394C (zh) | 容错双工计算机系统及其控制方法 | |
WO2023115999A1 (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
US11853150B2 (en) | Method and device for detecting memory downgrade error | |
CN110445638B (zh) | 一种交换机系统故障保护方法及装置 | |
CN104320308A (zh) | 一种服务器异常检测的方法及装置 | |
CN112698989B (zh) | 数据采集系统的双机互备方法及系统 | |
US8984333B2 (en) | Automatic computer storage medium diagnostics | |
CN115617550A (zh) | 处理设备、控制单元、电子设备、方法和计算机程序 | |
CN111209129A (zh) | 基于amd平台的内存优化方法和装置 | |
CN117743008A (zh) | 多核处理器故障诊断与异常处理方法、主控板卡及设备 | |
CN107273291B (zh) | 一种处理器调试方法及系统 | |
CN109062718B (zh) | 一种服务器及数据处理方法 | |
CN115220937A (zh) | 存储管理的方法、电子设备和程序产品 | |
CN113742113A (zh) | 一种嵌入式系统健康管理方法、设备及储存介质 | |
JP2012108848A (ja) | 動作ログ収集システム及びプログラム | |
Deconinck et al. | Fault tolerance in massively parallel systems | |
JPH11120154A (ja) | コンピュータシステムにおけるアクセス制御装置および方法 | |
JPH0424838A (ja) | マルチプロセッサの障害管理方式 | |
CN108415788B (zh) | 用于对无响应处理电路作出响应的数据处理设备和方法 | |
CN114356708A (zh) | 一种设备故障监控方法、装置、设备及可读存储介质 | |
CN110442470A (zh) | 一种通信设备的系统稳定性监测及恢复方法 | |
JPH03253945A (ja) | データ処理システムの異常回復処理機能確認方式 | |
CN115794498A (zh) | 一种日志管理方法、系统、设备及存储介质 | |
CN116431373A (zh) | 服务器故障上报方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |