多核处理器故障诊断与异常处理方法、主控板卡及设备与流程

文档序号:37425516发布日期:2024-03-25 19:13阅读:33来源:国知局
多核处理器故障诊断与异常处理方法、主控板卡及设备与流程

本发明属于计算机,更具体地,涉及一种多核处理器故障诊断与异常处理方法、主控板卡及设备。


背景技术:

1、控制保护系统是高压直流输电工程的大脑,是实现和保障直流输电安全稳定运行的核心与关键,其系统配置复杂,需要综合考虑交直流场、对站信息等,并配置成多种保护系统、控制系统,且每种系统均有冗余配置,因而需要实现的功能多,通信对象多,需要处理的数据量也更大,因而一般采用多核、多处理器架构,多个处理器并行计算、相互协作完成控制保护任务。

2、直流输电工程的电压等级高、输送容量大,出现故障时对交流系统的影响较大,因而对设备运行的稳定性和可靠性有极高要求,一方面,需要设备尽量可靠的运行,无故障、无异常;另一方面,在异常时应能准确诊断故障原因并记录,便于后期整改提升,同时可靠的退出运行,由运维人员及时消除故障再投入运行。

3、图1是现有技术提供的多主处理器多核并行计算环境的示意图,如图1所示,为一个典型的多主处理器多核并行计算环境,多个主控板卡可以通过背板直接访问外设的通信、输入输出(io)板卡,不同主控板卡在背板上的功能定义是一致的,可以对背板的“从”板卡进行管理和使用;多个主控板卡通过共享内存板卡实现数据交互与通信,以一定的机制保证数据一致性,从而构成多个主控板卡并行计算环境。每个主控板卡使用多核处理器,多核处理器以非对称多处理(asymmetric multi-processing,amp)模式运行,每个核心的资源彼此隔离,成为独立的计算单元,多个核心之间通过核间共享内存交换数据和通信,从而在单芯片内部构成多核并行计算环境。

4、目前常用的芯片故障诊断与处理方法是使用纠错码(error correcting code,ecc)功能,该功能一般由处理器芯片硬件实现,可以实现对单bit错误的发现与实时纠正,对多bit错误及时发现并告警,但不能实现多bit错误的纠正,因为将会使系统停止运行。

5、对于故障诊断功能,一般由处理器硬件和嵌入式操作系统共同完成,通过处理器的异常信息定位故障位置,并给出异常中断,由操作系统和应用程序决定是否停止业务逻辑是否停止运行,不能有更多的信息追溯故障原因。

6、在多核心和多处理器的故障监视方面,一般是多个主控板卡或计算核心自检出现故障时,通过背板发出系统故障(sysfail)信号通知其他主控板卡或计算核心主动停止运行,从而使系统可靠退出运行。但在复杂情况下,例如内存变位带来的设备故障,可能出现单个主控板卡或计算核心因指令跑飞进入中断异常,导致不能有效地发出sysfail信号,同一机箱内的主控板卡将使用共享内存中未更新的错误数据进行运算,从而引起系统出现计算错误而发出错误指令,造成严重后果。


技术实现思路

1、本发明提供一种多核处理器故障诊断与异常处理方法、主控板卡及设备,用以解决现有技术中内存变位带来设备故障的缺陷,实现提高高压直流输电控制保护设备运行的稳定性。

2、第一方面,本发明提供一种多核处理器故障诊断与异常处理方法,包括:

3、监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值,目标内存区域包括第一分区和第二分区,所述第一分区和所述第二分区以互为备份的方式存放所述目标应用程序的代码,所述程序指针所在分区为所述第一分区或所述第二分区;

4、基于所述目标应用程序的哈希原值和所述程序指针所在分区的哈希值,确定所述程序指针指向所述第一分区或所述第二分区。

5、可选地,所述基于所述目标应用程序的哈希原值和所述程序指针所在分区的哈希值,确定所述程序指针指向所述第一分区或所述第二分区,包括:

6、判断所述哈希原值与所述程序指针所在分区的哈希值是否相同;

7、若确定所述哈希原值与所述程序指针所在分区的哈希值不相同,则计算所述程序指针所在分区对应的备份分区的哈希值,所述第一分区对应的备份分区为所述第二分区,所述第二分区对应的备份分区为所述第一分区;

8、判断所述哈希原值与所述备份分区的哈希值是否相同;

9、若确定所述哈希原值与所述备份分区的哈希值相同,则确定所述程序指针指向所述备份分区。

10、可选地,在确定所述哈希原值与所述备份分区的哈希值相同之后,还包括:

11、基于所述备份分区所存放的所述目标应用程序的代码,恢复哈希值异常分区的代码。

12、可选地,在判断所述哈希原值与所述备份分区的哈希值是否相同之后,还包括:

13、若确定所述哈希原值与所述备份分区的哈希值不相同,则执行告警操作。

14、可选地,所述告警操作包括:

15、保存故障日志并向多核处理器所在主控板卡上的板载fpga注册故障活动事件,所述故障活动事件用于指示所述多核处理器工作故障,同时所述多核处理器主动停止调度任务的执行,使自身停止应用程序的执行;

16、所述故障日志包括以下信息中的一项或多项:故障时刻的堆栈信息、故障时刻的函数调用关系、故障时刻的寄存器备份和应用程序执行位置。

17、可选地,在判断所述哈希原值与所述程序指针所在分区的哈希值是否相同之后,还包括:

18、若确定所述哈希原值与所述程序指针所在分区的哈希值相同,则保持所述目标应用程序的程序指针指向不变。

19、可选地,在监测目标内存区域,确定目标应用程序的程序指针所在分区的哈希值之前,还包括:

20、装载所述目标应用程序的代码至所述第一分区和所述第二分区;

21、判断所述第一分区的初始哈希值和所述第二分区的初始哈希值是否相同;

22、若确定所述第一分区的初始哈希值和所述第二分区的初始哈希值相同,则确定所述初始哈希值作为所述哈希原值;

23、基于默认程序入口配置,确定所述目标应用程序的程序指针指向所述第一分区的代码起始位置或所述第二分区的代码起始位置。

24、第二方面,本发明还提供一种主控板卡,包括:板载fpga和应用上述任意一种多核处理器故障诊断与异常处理方法的多核处理器。

25、可选地,所述多核处理器用于周期性地向所述板载fpga注册活动事件;

26、所述板载fpga具体用于:

27、监测所述多核处理器注册的活动事件;

28、基于预设时间阈值和所述多核处理器注册的活动事件,判断所述多核处理器是否发生故障;

29、若确定所述多核处理器发生故障,则向所述主控板卡所在背板发送系统故障信号。

30、第三方面,本发明还提供一种高压直流输电控制保护设备,包括:背板和多个上述任意一种主控板卡,所述背板用于承载多个主控板卡,所述多个主控板卡之间通信连接。

31、可以理解的是,上述第二方面至第三方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

32、总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

33、通过在目标内存区域配置第一分区和第二分区,且两个分区以互为备份的方式存放目标应用程序的代码,第一分区作为第二分区的备份分区,第二分区作为第一分区的备份分区,进而可以在执行目标应用程序的过程中,监测目标内存区域以确定目标应用程序的程序指针所在分区的哈希值,如果程序指针所在分区为第一分区则确定第一分区的哈希值,如果程序指针所在分区为第二分区则确定第二分区的哈希值,进而可以比较目标应用程序的哈希原值和程序指针所在分区的哈希值,判断程序指针所在分区是否存在异常,以确保程序指针指向第一分区和第二分区两者中的正常分区,也即如果第一分区异常第二分区正常,则程序指针指向第二分区,如果第二分区异常第一分区正常,则程序指针指向第一分区,能够降低因内存变位带来的设备故障的可能性,多核处理器作为高压直流输电控制保护设备的核心,随着多核处理器的故障率降低,相应地能够提高高压直流输电控制保护设备运行的稳定性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1