CN1916858A - 多核***中的监控方法、监控装置以及多核*** - Google Patents

多核***中的监控方法、监控装置以及多核*** Download PDF

Info

Publication number
CN1916858A
CN1916858A CN 200610127590 CN200610127590A CN1916858A CN 1916858 A CN1916858 A CN 1916858A CN 200610127590 CN200610127590 CN 200610127590 CN 200610127590 A CN200610127590 A CN 200610127590A CN 1916858 A CN1916858 A CN 1916858A
Authority
CN
China
Prior art keywords
nuclear
monitoring
reset
strategy
reposition
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
Application number
CN 200610127590
Other languages
English (en)
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou Huawei 3Com Technology Co Ltd
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 Hangzhou Huawei 3Com Technology Co Ltd filed Critical Hangzhou Huawei 3Com Technology Co Ltd
Priority to CN 200610127590 priority Critical patent/CN1916858A/zh
Publication of CN1916858A publication Critical patent/CN1916858A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明公开了一种多核***的监控方法,预先为该多核***中的每个核设置对应的复位策略,该方法包括:对多核***中所有核的运行状态进行监视,当出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位。本发明还公开了一种包括***监控模块、核监控模块、控制模块和存储模块的监控装置,以及一种包括核监控模块、控制模块和存储模块的监控装置。另外,本发明又公开了一种多核***,该***包括核以及监控装置。本发明的上述技术方案能够在多核***中的核出现异常的情况下,及时有效地恢复***运行。

Description

多核***中的监控方法、监控装置以及多核***
技术领域
本发明涉及监控技术,尤其涉及多核***中的监控方法、监控装置以及多核***。
背景技术
在计算机技术和电子技术迅猛发展的趋势下,将多个芯片集成于一个封装之内的多核技术逐渐成熟。多核***中的每个核均可被看作为一个中央处理器(CPU),以便提高多核***的处理效率并减少处理延迟。
在多核***中,通常采用流水线或者并行处理等工作方式来完成待处理任务。图1示出了采用流水线工作方式的多核***示意图。参见图1,在流水线工作方式下,待处理任务被分成多个部分,每个核完成其中的一个部分。只有前面的核完成处理后,后面的核才继续执行该任务的后续部分,并在最后一个核结束处理后输出处理结果。图2示出了采用并行处理工作方式的多核***示意图。参见图2,在并行处理工作方式下,每个核都能够独立地执行待处理任务,并输出处理结果。
对于多核***,由于所运行程序中存在的潜在错误以及恶劣环境干扰等因素会导致核出现异常而无法运行,因此为了保证该***能够在无人干预下自动恢复正常,目前参考单核***中采用的看门狗方式,对多核***进行监控并执行异常情况下的***复位。具体而言,在多核***中设置一个作为监控装置的看门狗芯片,并且该看门狗的输出端与多核***的复位端相连。多核***中的每个核都可以在运行正常的情况下定期对看门狗清零,以保证该看门狗不会溢出,从而不会对该多核***进行复位。当所有核均发生故障而无法执行清零操作时,看门狗因未被清零而溢出,则整个多核***被复位。
在上述的监控方法下,只有等到全部核均处于异常状态时,才能够对多核***进行复位。那么,当多核***采用流水线工作方式时,任何一个核出现故障都会导致待处理任务无法正常执行,即需要对整个多核***进行复位,然而当多核***中存在正常运行的核时无法执行复位,则必须等待全部的核均出现故障。当多核***采用并行处理工作方式时,当仅有几个核出现异常时,也必须等待全部核均出现故障时才能够对多核***进行复位;并且由于并行处理工作方式下,各个核能够相互独立地工作,每个核的故障均不会中断多核***的运行,则当存在处于正常状态的核时,无需对多核***进行整体复位。可见,现有的监控方法无法在多核***中的核出现异常的情况下及时有效地恢复***运行。
发明内容
有鉴于此,本发明提供一种监控方法,能够在多核***中的核出现异常的情况下,及时有效地恢复***运行。
在本发明中,预先为多核***中的每个核设置对应的复位策略,然后按照如下步骤对多核***进行监控:
对多核***中所有核的运行状态进行监视,当出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位。
其中,所述多核***中的核包括监控核和被监控核,所述预先为多核***中的每个核设置对应的复位策略为:将监控核对应的复位策略设置为***复位,并根据所执行任务的特性,将被监控核对应的复位策略设置为***复位、单核复位或者相关核复位。
较佳地,预先为监控核设置***监控变量,为被监控核设置上次更新变量和本次更新变量,该方法进一步包括:监控核在正常状态下对所述***监控变量定期更新,并且监控核和被监控核在正常状态下按照预先设置的该被监控核的更新周期,分别对所述上次更新变量和本次更新变量进行更新;
所述对多核***中所有核的运行状态进行监视为:根据所述***监控变量确定监控核的运行状态,根据所述上次更新变量和本次更新变量确定被监控核的工作状态。
其中,所述监控核在正常状态下对所述***监控变量定期更新为:监控核在处于正常状态时定期将***监控变量清零;
所述上次更新变量的初始值比当前更新变量的初始值小1,则所述监控核和被监控核在正常状态下对所述上次更新变量和本次更新变量进行更新为:监控核按照所述被监控核的更新周期,将上次更新变量对应的数值加1,被监控核按照所述更新周期,将当前更新变量对应的数值加1;
所述根据***监控变量确定监控核的运行状态为:判断***监控变量是否溢出,如果是,则判定监控核处于异常状态,否则,判定监控核处于正常状态;
所述根据上次更新变量和本次更新变量确定被监控核的工作状态为:判断上次更新变量是否大于等于本次更新变量,如果是,则判定该被监控核处于异常状态,否则,判定该被监控核处于正常状态。
较佳地,所述确定核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位包括:
A1.判断处于异常状态的核是否为监控核,如果是,则将该核对应的复位策略确定为***复位,并对所述多核***中的所有核进行复位;否则,执行步骤B1;
B1.判断处于异常状态的核对应的复位策略是单核复位、相关核复位还是***复位,如果是单核复位,则对所述处于异常状态的核进行复位,并结束本流程;如果是相关核复位,则根据复位策略确定与异常状态相关的被监控核,对所确定的被监控核进行复位,并结束本流程;如果是***复位,则对所述多核***中的所有核进行复位。
其中,所述预先为多核***中的每个核设置对应的复位策略为:根据所述核所执行任务的特性,将核对应的复位策略设置为***复位、单核复位或者相关核复位。
较佳地,预先为所述核设置上次更新变量和本次更新变量,该方法进一步包括:按照预先设置的该核的更新周期对上次更新变量进行更新,并且核在正常状态下按照所述更新周期,对本次更新变量进行更新;
所述对多核***中所有核的运行状态进行监视为:根据所述上次更新变量和本次更新变量确定核的工作状态。
其中,所述上次更新变量的初始值比当前更新变量的初始值小1,则所述对上次更新变量进行更新为:按照预先设置的核的更新周期,将上次更新变量对应的数值加1;
所述对本次更新变量进行更新为:核按照所述更新周期,将当前更新变量对应的数值加1;
所述根据上次更新变量和本次更新变量确定核的工作状态为:判断上次更新变量是否大于等于本次更新变量,如果是,则判定该核处于异常状态,否则,判定该核处于正常状态。
其中,所述确定核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位为:
判断处于异常状态的核对应的复位策略是单核复位、相关核复位还是***复位,如果是单核复位,则对所述处于异常状态的核进行复位,并结束本流程;如果是相关核复位,则根据复位策略确定与异常状态相关的核,对所确定的核进行复位,并结束本流程;如果是***复位,则对所述多核***中的所有核进行复位。
较佳地,所述按照所确定的复位策略对需要被复位的核进行复位之前,进一步包括:需要被复位的核对自身的数据进行备份;
所述按照所确定的复位策略对需要被复位的核进行复位之后,进一步包括:利用所备份的数据对被复位的核进行恢复现场。
其中,所述需要被复位的核对自身的数据进行备份为:将需备份的数据的存储位置通知给所述需要被复位的核,该核按照将自身的数据传输至所述存储位置,进行保存。
其中,预先确定需备份的数据的存储位置,则所述需要被复位的核对自身的数据进行备份为:需要被复位的核在正常状态下定期将需备份的数据传输至所述存储位置,进行保存。
本发明还提供一种监控装置,能够在多核***中的核出现异常的情况下,及时有效地恢复***运行。该监控装置包括:***监控模块、核监控模块、控制模块和存储模块,其中,
***监控模块用于对多核***中监控核的运行状态进行监视,将监视结果提供给控制模块,在监控核处于异常状态时或者接收到来自于控制模块的***复位通知时,对多核***中的所有核进行复位;
所述核监控模块用于对多核***中被监控核的运行状态进行监视,并将监视结果提供给控制模块;
所述控制模块用于从***监控模块和核监控模块中获取监视结果,确定处于异常状态的核,从存储模块中读取处于异常状态的核对应的复位策略,并根据复位策略对处于异常状态的核或与异常状态相关的核进行复位,或者根据复位策略并通过***复位通知来指示***监控模块对多核***进行复位;
所述存储模块用于保存所述多核***中所有核对应的复位策略。
其中,所述核监控模块包括与被监控核数目相同的核监控子模块,用于分别对每个被监控核的运行状态进行监视,并将监视结果提供给所述控制模块。
其中,所述存储模块进一步用于存储要被复位的被监控核的备份数据;
所述控制模块进一步用于从存储模块中获取备份数据,对被复位的被监控核进行恢复现场。
其中,所述核监控模块、控制模块和存储模块位于所述监控核中。
本发明中的另一种监控装置也能够在多核***中的核出现异常的情况下,及时有效地恢复***运行。该监控装置包括:核监控模块、控制模块和存储模块,其中,
所述核监控模块用于监视所述多核***中核的运行状态,并将监视结果提供给所述控制模块;
所述控制模块用于从核监控模块中获取监视结果,确定处于异常状态的核,从存储模块中读取处于异常状态的核对应的复位策略,并根据复位策略对处于异常状态的核、与异常状态相关的核或者多核***中的所有核进行复位;
所述存储模块用于保存所述核对应的复位策略。
其中,所述核监控模块包括与核数目相同的核监控子模块,用于分别对每个核的运行状态进行监视,并将监视结果提供给所述控制模块。
其中,所述存储模块进一步用于存储要被复位的核的备份数据;
所述控制模块进一步用于从存储模块中获取备份数据,对被复位的核进行恢复现场。
本发明又提供一种多核***,能够在多核***中的核出现异常的情况下,及时有效地恢复***运行。该***包括:核以及监控装置,其中,
所述核用于执行处理任务;
所述监控装置用于保存该多核***中的每个核对应的复位策略,对多核***中所有核的运行状态进行监视,当出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位。
其中,所述监控装置进一步用于通知需要被复位的核对数据进行备份,并根据所备份的数据对被复位的核进行恢复现场。
应用本发明,能够在多核***中的核出现异常的情况下,及时有效地恢复***运行。具体而言,本发明具有如下有益效果:
本发明对多核***中所有核的运行状态进行监视,在出现处于异常状态的核时,按照该核对应的复位策略执行单核、相关核或者***复位,则无论在流水线工作方式还是在并行工作方式下,均能够及时有效地恢复多核***的正常运行。
并且,本发明在执行复位之前,将被复位的核通过调用回调函数或者定期上报数据,对这些核的重要数据进行数据备份,那么在完成复位之后,能够利用备份数据对被复位的核进行恢复现场,以便这些核从出现故障之前的正常进程开始运行。
附图说明
下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:
图1为现有的采用流水线工作方式的多核***示意图;
图2为现有的采用并行处理工作方式的多核***示意图;
图3为本发明多核***中监控方法的示例性流程图;
图4为本发明实施例1中多核***的结构示意图;
图5为本发明实施例1中监控方法的流程图;
图6为本发明实施例2中多核***的结构示意图;
图7为本发明实施例2中监控方法的流程图。
具体实施方式
为使本发明的目的、技术方案更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
本发明为一种多核***中的监控方法,其基本思想是:当多核***中出现处于异常状态的核时,根据该核所对应的复位策略进行复位。
图3示出了本发明多核***中监控方法的示例性流程图。参见图3,该方法预先为多核***中的每个核设置对应的复位策略,并通过如下的步骤对多核***进行监控:
在步骤301中,对多核***中所有核的运行状态进行监视;
在步骤302中,当出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略进行复位。
本发明中,根据多核***中各个核的特点,复位策略可以包括:***复位、单个核复位以及相关核复位。其中,如果核采用***复位策略,那么当该核出现故障而处于异常状态时,需要对整个的多核***进行复位;如果核采用单核复位策略,则当该核出现故障而处于异常状态时,只需对处于异常状态的核进行复位;如果核采用相关核复位策略,则当该核出现故障而处于异常状态时,对与异常状态相关的核进行复位。这里,与异常状态相关的核包括处于异常状态的核以及与该核所执行的任务相关的核。
本发明在多核***中引入监控装置,该装置保存有多核***中各个核对应的复位策略,对所有核的运行状态进行监视,在出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略进行复位。下面通过具体的实施例,对本发明的技术方案进行说明。
实施例1
图4示出了本实施例中多核***的结构示意图。参见图4,本实施例将多核***中的核划分为:一个监控核以及至少一个被监控核,监控核仅采用***复位这一种复位策略,而被监控核则可以采用***复位、单核复位或者相关核复位等复位策略。
本实施例的监控装置中包括***监控模块、核监控模块、控制模块和存储模块,其中核监控模块、控制模块和存储模块均位于多核***的监控核中,核监控模块中包括与被监控核数目相同的核监控子模块,并且每个核监控子模块均与一个被监控核相连。对于本实施例的监控装置,***监控模块对监控核的运行状态进行监视,将监视结果提供给控制模块,在监控核处于异常状态时或者接收到来自于控制模块的***复位通知时,对多核***中的所有核进行复位。核监控模块对被监控核的运行状态进行监视,并将监视结果提供给控制模块。控制模块从***监控模块和核监控模块中获取监视结果,确定处于异常状态的核,从存储模块中读取处于异常状态的核对应的复位策略,并根据复位策略对处于异常状态的核或与异常状态相关的核进行复位,或者根据复位策略并通过***复位通知来指示***监控模块对多核***进行复位。上述各个核对应的复位策略均被保存于存储模块之中。
进一步地,本实施例中的存储模块还保存要被复位的被监控核的备份数据,控制模块从存储模块中获取备份数据,对被复位的被监控核进行恢复现场。
由于本实施例中的控制模块、存储模块以及核监控模块均位于监控核中,那么监控核在多核***中起到监控其他核的运行状态、在出现处于异常状态的被监控核时确定应被复位的被监控核并对所确定的被监控核复位等总体控制作用。
图5示出了本实施例中监控方法的流程图。参见图5,该方法包括:
在步骤501~503中,监视多核***中所有核的运行状态,发现处于异常状态的核,并判断出现异常的核为监控核还是被监控核,如果是监控核,则执行步骤509,否则,确定处于异常状态的被监控核,并继续执行步骤504。
本实施例中,可以将定时器作为核监控子模块,将看门狗芯片设置在***监控模块中。当多核***中的监控核正常运行时,定期对***监控模块中的***监控变量进行清零,以保证***监控模块中的看门狗芯片不会产生溢出信号。那么本实施例中可以通过检测***监控模块是否输出溢出信号,来确定监控核是否处于异常状态。
此外,当各个被监控核正常运行时,定期对各自对应的核监控子模块进行更新。例如,在核监控子模块中设置上次更新变量和当前更新变量,并且上次更新变量的初始值比当前更新变量的初始值小1。在多核***运行过程中,上次更新变量由监控核按照被监控核的更新周期定期加1,当前更新变量则由被监控核按照该更新周期定期加1。由于上次更新变量和当前更新变量均按照被监控核的更新周期来改变数值,则在被监控核处于正常状态时,对应的被监控核中的上次更新变量的数值比当前更新变量的数值小1。当被监控核处于异常状态时,由于无法将当前更新变量的数值加1,则会出现上次更新变量的数值等于当前更新变量的数值的情况。那么,本实施例可以通过判断上次更新变量的数值是否大于等于当前更新变量的数值,确定被监控核是否处于异常状态。
具体而言,这里如果监控核中的控制模块接收到来自于***监控模块的溢出信号,则判定出现异常的核为监控核;如果检测到存在上次更新变量的数值大于等于当前更新变量的数值的核监控子模块,则判定出现异常的核为被监控核,并将该核监控子模块对应的被监控核作为处于异常状态的被监控核。
在步骤504中,判断处于异常状态的被监控核对应的复位策略是单核复位、相关核复位还是***复位,如果是单核复位,则执行步骤505;如果是相关核复位,则执行步骤507;如果是***复位,则执行步骤509。
由于本实施例中根据多核***中各个被监控核的特性,即被监控核所执行任务的特性,预先为每个被监控核设置了对应的复位策略,并保存在存储模块中,那么本步骤中确定出现异常的被监控核的复位策略,以便后续步骤中按照复位策略进行复位。
在步骤505~506中,通知处于异常状态的被监控核将需要备份的数据传输给监控核,复位该被监控核,并根据备份的数据对被复位的被监控核进行恢复现场,而后结束本监控流程。
这里,在处于异常状态的被监控核对应的复位策略为单核复位时,只需对该被监控核进行复位。那么,为了便于处于异常的被监控核在复位后恢复出现故障之前的操作,则通知该被监控核将包括重要数据、重要参数等在内的需要备份的数据传输给监控核。处于正常状态的监控核将接收到的数据存储于自身之中。在实际应用中,被监控核可以预先在位于监控核内的控制模块中注册回调函数,则此处控制模块通知被监控核调用回调函数,并在该回调函数中携带指向存储模块内存的指针。然后,被监控核按照回调函数中的指针,将需要备份的数据传输到对应的内存中。
监控核在完成被监控核的数据备份后,向处于异常状态的被监控核发送复位信号。然后,监控核将自身保存的备份数据传送给完成复位的被监控核,以便被监控核恢复现场,重新以正常状态运行。
在步骤507~508中,通知异常状态相关的被监控核进行数据备份,复位异常状态相关的被监控核,并根据备份的数据对被复位的被监控核进行恢复现场,而后结束本监控流程。
在处于异常状态的被监控核对应的复位策略为相关核复位时,复位策略中包含有需要被复位的被监控核的信息,监控核在从复位策略中获取需要被复位的被监控核的信息后,通知上述的被监控核将需要备份的数据传输给监控核,并在接收到来自于被监控核的数据后,存储于自身之中。同样,在实际应用中,被监控核可以预先在控制模块中注册回调函数,则此处控制模块通知需要被复位的被监控核调用回调函数,并在该回调函数中携带指向存储模块内存的指针。然后,上述被监控核按照回调函数中的指针,将需要备份的数据传输到对应的内存中。
监控核在完成被监控核的数据备份后,向处于异常状态的被监控核以及相关的被监控核发送复位信号。然后,监控核将自身保存的备份数据传送给完成复位的被监控核,以便被监控核恢复现场,重新以正常状态运行。
在步骤509中,对多核***的所有核进行复位,并结束本流程。
当处于异常状态的核为监控核或者处于异常状态的被监控核采用***复位策略时,在本步骤中对多核***的全部核进行复位。具体而言,***监控模块将多核***中的监控核和所有被监控核复位,从而使得多核***重新以正常状态开始运行。
至此,结束本实施例中的监控流程。
以上流程中,各个被监控核预先在监控核中注册回调函数,监控核通过通知被监控核调用回调函数的方式,对需要复位的被监控核进行现场保护。当然,也可以采用被监控核定时向监控核上报需要备份的数据的方式。在该方式下,当发现出现处于异常状态的被监控核时,由于位于监控核内部的存储模块中已经保存有需要被复位的被监控核的备份数据,则无需执行步骤505和步骤507,而直接执行步骤506或508。
可见,本实施例中,由于采用核监控模块和***监控模块分别对被监控核和监控核的运行状态进行监视,在出现处于异常状态的核时,按照该核对应的复位策略执行单核、相关核或者***复位,则无论在流水线工作方式还是在并行工作方式下,均能够及时有效地恢复多核***的正常运行。并且,本实施例中在复位之前对要被复位的被监控核进行了数据备份,在完成复位之后,能够利用备份数据对被复位的被监控核进行恢复现场,以便这些被监控核从出现故障之前的正常进程开始运行。
以上为将核监控模块、控制模块和存储模块集成于监控核中的实施例,下面对本发明的另一实施例进行说明。
实施例2
图6示出了本实施例中多核***的结构示意图。参见图6,本实施例的多核***中不再区分监控核和被监控核,并且运行状态监视、确定异常核的复位策略以及对异常核进行复位的工作均由监控装置完成。
这里的监控装置包括核监控模块、控制模块和存储模块。核监控模块中也包括与核数目相同的核监控子模块,每个核监控子模块均与一个核相连,对核的运行状态进行监视,将监视结果发送给控制模块。控制模块从核监控模块中获取监视结果,确定处于异常状态的核,从存储模块中读取处于异常状态的核对应的复位策略,并根据复位策略对处于异常状态的核、与异常状态相关的核或者多核***中的所有核进行复位。存储模块中保存有各个核对应的复位策略。此外,本实施例中的存储模块还保存有要被复位的核的备份数据,控制控制模块从存储模块中获取备份数据,对被复位的被监控核进行恢复现场。
图7示出了本实施例中监控方法的流程图。参见图7,该方法包括:
在步骤701~702中,监视多核***中所有核的运行状态,发现处于异常状态的核,并确定处于异常状态的核。
本实施例中,可以将定时器置入核监控子模块中,当多核***中的核正常运行时,定期对各自对应的核监控子模块进行更新。并且,在核监控子模块中设置上次更新变量和当前更新变量,上次更新变量的初始值比当前更新变量的初始值小1。在多核***运行过程中,上次更新变量由监控装置中的控制模块按照各个核的更新周期定期加1,当前更新变量则由各个核按照该更新周期定期加1。从而可以通过判断上次更新变量的数值是否大于等于当前更新变量的数值,确定核是否处于异常状态。
在步骤703中,判断处于异常状态的核对应的复位策略是单核复位、相关核复位还是***复位,如果是单核复位,则执行步骤704;如果是相关核复位,则执行步骤706;如果是***复位,则执行步骤708。
与实施例1相似,本实施例中也根据多核***中各个核的特性,预先为每个核设置了对应的复位策略,那么本步骤中确定出现异常的被监控核的复位策略,以便后续步骤中按照复位策略进行复位。
在步骤704~705中,通知处于异常状态的核将需要备份的数据传输给监控装置,复位该核,并根据备份的数据对被复位的核进行恢复现场,而后结束本监控流程。
这里,在处于异常状态的被监控核对应的复位策略为单核复位时,只需对该被监控核进行复位。那么,为了便于处于异常的被监控核在复位后恢复出现故障之前的操作,则通知该核将需要备份的数据传输给监控装置,由监控装置将接收到的数据存储于自身的存储模块之中。在实际应用中,核可以预先在监控装置的控制模块中注册回调函数,控制模块通知核调用回调函数,并在该回调函数中携带指向监控装置中存储模块内存的指针。然后,核按照回调函数中的指针,将需要备份的数据传输到监控装置中。
在完成处于异常状态的核的数据备份后,监控装置向该核发送复位信号。然后,监控装置将自身保存的备份数据传送给完成复位的核,以便该核恢复现场,重新以正常状态运行。
在步骤706~707中,通知异常状态相关的核进行数据备份,复位异常状态相关的核,并根据备份的数据对被复位的核进行恢复现场,而后结束本监控流程。
在处于异常状态的核对应的复位策略为相关核复位时,复位策略中包含有需要被复位的核的信息,监控装置中的控制模块在从复位策略中获取需要被复位的核的信息后,通知上述核将需要备份的数据传输给监控装置,并在接收到来自于核的数据后,存储于自身之中。同样,这些核也可以预先在监控装置的控制模块中注册回调函数,此处监控装置的控制模块通知需要被复位的核调用回调函数,并在该回调函数中携带指向监控装置中存储模块的内存的指针。然后,上述核按照回调函数中的指针,将需要备份的数据传输到监控装置中。
在完成被监控核的数据备份后,监控装置的控制模块向与异常状态相关的核发送复位信号。然后,监控装置将自身保存的备份数据传送给完成复位的核,完成恢复现场操作。
在步骤708中,对多核***的所有核进行复位,并结束本流程。
当处于异常状态的核采用***复位策略时,在本步骤中对多核***的全部核进行复位。具体而言,监控装置中的控制模块将多核***中的所有核复位,从而使得该多核***重新以正常状态开始运行。
至此,结束本实施例中的监控流程。
本实施例在进行恢复现场时,同样也可以以定时上报备份数据的方式替代回调函数的方式。换言之,多核***中的各个核在正常运行时,定时将自身的备份数据传输给监控装置的存储模块,当发现出现处于异常状态的核时,由于监控装置中已经保存有需要被复位的核的备份数据,则无需执行步骤704和步骤706,而直接执行步骤705或707。
可见,本实施例与实施例1相似,监控装置对多核***中所有核的运行状态进行监视,在出现处于异常状态的核时,按照该核对应的复位策略执行单核、相关核或者***复位,则无论在流水线工作方式还是在并行工作方式下,均能够及时有效地恢复多核***的正常运行。并且,本实施例中,在复位之前对要被复位的核进行了数据备份,在完成复位之后,能够利用备份数据对被复位的核进行恢复现场,以便这些核从出现故障之前的正常进程开始运行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1、一种多核***中的监控方法,其特征在于,预先为该多核***中的每个核设置对应的复位策略,该方法包括:
对多核***中所有核的运行状态进行监视,当出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位。
2、如权利要求1所述的方法,其特征在于,所述多核***中的核包括监控核和被监控核,所述预先为多核***中的每个核设置对应的复位策略为:将监控核对应的复位策略设置为***复位,并根据所执行任务的特性,将被监控核对应的复位策略设置为***复位、单核复位或者相关核复位。
3、如权利要求2所述的方法,其特征在于,预先为监控核设置***监控变量,为被监控核设置上次更新变量和本次更新变量,该方法进一步包括:监控核在正常状态下对所述***监控变量定期更新,并且监控核和被监控核在正常状态下按照预先设置的该被监控核的更新周期,分别对所述上次更新变量和本次更新变量进行更新;
所述对多核***中所有核的运行状态进行监视为:根据所述***监控变量确定监控核的运行状态,根据所述上次更新变量和本次更新变量确定被监控核的工作状态。
4、如权利要求3所述的方法,其特征在于,所述监控核在正常状态下对所述***监控变量定期更新为:监控核在处于正常状态时定期将***监控变量清零;
所述上次更新变量的初始值比当前更新变量的初始值小1,则所述监控核和被监控核在正常状态下对所述上次更新变量和本次更新变量进行更新为:监控核按照所述被监控核的更新周期,将上次更新变量对应的数值加1,被监控核按照所述更新周期,将当前更新变量对应的数值加1;
所述根据***监控变量确定监控核的运行状态为:判断***监控变量是否溢出,如果是,则判定监控核处于异常状态,否则,判定监控核处于正常状态;
所述根据上次更新变量和本次更新变量确定被监控核的工作状态为:判断上次更新变量是否大于等于本次更新变量,如果是,则判定该被监控核处于异常状态,否则,判定该被监控核处于正常状态。
5、如权利要求2所述的方法,其特征在于,所述确定核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位包括:
A1.判断处于异常状态的核是否为监控核,如果是,则将该核对应的复位策略确定为***复位,并对所述多核***中的所有核进行复位;否则,执行步骤B1;
B1.判断处于异常状态的核对应的复位策略是单核复位、相关核复位还是***复位,如果是单核复位,则对所述处于异常状态的核进行复位,并结束本流程;如果是相关核复位,则根据复位策略确定与异常状态相关的被监控核,对所确定的被监控核进行复位,并结束本流程;如果是***复位,则对所述多核***中的所有核进行复位。
6、如权利要求1所述的方法,其特征在于,所述预先为多核***中的每个核设置对应的复位策略为:根据所述核所执行任务的特性,将核对应的复位策略设置为***复位、单核复位或者相关核复位。
7、如权利要求6所述的方法,其特征在于,预先为所述核设置上次更新变量和本次更新变量,该方法进一步包括:按照预先设置的该核的更新周期对上次更新变量进行更新,并且核在正常状态下按照所述更新周期,对本次更新变量进行更新;
所述对多核***中所有核的运行状态进行监视为:根据所述上次更新变量和本次更新变量确定核的工作状态。
8、如权利要求7所述的方法,其特征在于,所述上次更新变量的初始值比当前更新变量的初始值小1,则所述对上次更新变量进行更新为:按照预先设置的核的更新周期,将上次更新变量对应的数值加1;
所述对本次更新变量进行更新为:核按照所述更新周期,将当前更新变量对应的数值加1;
所述根据上次更新变量和本次更新变量确定核的工作状态为:判断上次更新变量是否大于等于本次更新变量,如果是,则判定该核处于异常状态,否则,判定该核处于正常状态。
9、如权利要求6所述的方法,其特征在于,所述确定核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位为:
判断处于异常状态的核对应的复位策略是单核复位、相关核复位还是***复位,如果是单核复位,则对所述处于异常状态的核进行复位,并结束本流程;如果是相关核复位,则根据复位策略确定与异常状态相关的核,对所确定的核进行复位,并结束本流程;如果是***复位,则对所述多核***中的所有核进行复位。
10、如权利要求1所述的方法,其特征在于,所述按照所确定的复位策略对需要被复位的核进行复位之前,进一步包括:需要被复位的核对自身的数据进行备份;
所述按照所确定的复位策略对需要被复位的核进行复位之后,进一步包括:利用所备份的数据对被复位的核进行恢复现场。
11、如权利要求10所述的方法,其特征在于,所述需要被复位的核对自身的数据进行备份为:将需备份的数据的存储位置通知给所述需要被复位的核,该核按照将自身的数据传输至所述存储位置,进行保存。
12、如权利要求10所述的方法,其特征在于,预先确定需备份的数据的存储位置,则所述需要被复位的核对自身的数据进行备份为:需要被复位的核在正常状态下定期将需备份的数据传输至所述存储位置,进行保存。
13、一种对多核***进行监控的监控装置,其特征在于,该监控装置包括:***监控模块、核监控模块、控制模块和存储模块,其中,
***监控模块用于对多核***中监控核的运行状态进行监视,将监视结果提供给控制模块,在监控核处于异常状态时或者接收到来自于控制模块的***复位通知时,对多核***中的所有核进行复位;
所述核监控模块用于对多核***中被监控核的运行状态进行监视,并将监视结果提供给控制模块;
所述控制模块用于从***监控模块和核监控模块中获取监视结果,确定处于异常状态的核,从存储模块中读取处于异常状态的核对应的复位策略,并根据复位策略对处于异常状态的核或与异常状态相关的核进行复位,或者根据复位策略并通过***复位通知来指示***监控模块对多核***进行复位;
所述存储模块用于保存所述多核***中所有核对应的复位策略。
14、如权利要求13所述的监控装置,其特征在于,所述核监控模块包括与被监控核数目相同的核监控子模块,用于分别对每个被监控核的运行状态进行监视,并将监视结果提供给所述控制模块。
15、如权利要求13所述的监控装置,其特征在于,所述存储模块进一步用于存储要被复位的被监控核的备份数据;
所述控制模块进一步用于从存储模块中获取备份数据,对被复位的被监控核进行恢复现场。
16、如权利要求13至15中任意一项所述的监控装置,其特征在于,所述核监控模块、控制模块和存储模块位于所述监控核中。
17、一种对多核***进行监控的监控装置,其特征在于,该监控装置包括:核监控模块、控制模块和存储模块,其中,
所述核监控模块用于监视所述多核***中核的运行状态,并将监视结果提供给所述控制模块;
所述控制模块用于从核监控模块中获取监视结果,确定处于异常状态的核,从存储模块中读取处于异常状态的核对应的复位策略,并根据复位策略对处于异常状态的核、与异常状态相关的核或者多核***中的所有核进行复位;
所述存储模块用于保存所述核对应的复位策略。
18、如权利要求17所述的监控装置,其特征在于,所述核监控模块包括与核数目相同的核监控子模块,用于分别对每个核的运行状态进行监视,并将监视结果提供给所述控制模块。
19、如权利要求17或18所述的监控装置,其特征在于,所述存储模块进一步用于存储要被复位的核的备份数据;
所述控制模块进一步用于从存储模块中获取备份数据,对被复位的核进行恢复现场。
20、一种多核***,其特征在于,该***包括:核以及监控装置,其中,
所述核用于执行处理任务;
所述监控装置用于保存该多核***中的每个核对应的复位策略,对多核***中所有核的运行状态进行监视,当出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位。
21、如权利要求20所述的***,其特征在于,所述监控装置进一步用于通知需要被复位的核对数据进行备份,并根据所备份的数据对被复位的核进行恢复现场。
CN 200610127590 2006-09-19 2006-09-19 多核***中的监控方法、监控装置以及多核*** Pending CN1916858A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610127590 CN1916858A (zh) 2006-09-19 2006-09-19 多核***中的监控方法、监控装置以及多核***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610127590 CN1916858A (zh) 2006-09-19 2006-09-19 多核***中的监控方法、监控装置以及多核***

Publications (1)

Publication Number Publication Date
CN1916858A true CN1916858A (zh) 2007-02-21

Family

ID=37737859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610127590 Pending CN1916858A (zh) 2006-09-19 2006-09-19 多核***中的监控方法、监控装置以及多核***

Country Status (1)

Country Link
CN (1) CN1916858A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100458707C (zh) * 2007-04-05 2009-02-04 杭州华三通信技术有限公司 实现用户配置的方法、***及主核和从核
CN102073572A (zh) * 2009-11-24 2011-05-25 中兴通讯股份有限公司 用于多核处理器的监控方法及***
CN102143002A (zh) * 2011-04-07 2011-08-03 中兴通讯股份有限公司 一种单板备份方法及***
CN102508738A (zh) * 2011-10-14 2012-06-20 华为数字技术有限公司 一种多核处理器业务信息的备份方法、内核和备份内核
CN102629228A (zh) * 2012-04-26 2012-08-08 迈普通信技术股份有限公司 多核通信***中检测数据核故障的方法及装置
CN102750192A (zh) * 2012-06-06 2012-10-24 杭州华三通信技术有限公司 一种数据平面异常检测的方法和装置
CN103870350A (zh) * 2014-03-27 2014-06-18 浪潮电子信息产业股份有限公司 一种基于watchdog的微处理器多核加固方法
CN104486122A (zh) * 2014-12-17 2015-04-01 上海斐讯数据通信技术有限公司 基于看门狗的路由器异常恢复***及方法
CN106844164A (zh) * 2015-12-06 2017-06-13 上海协同科技股份有限公司 具有多块智能芯片的装置及其复位监测方法
CN107577571A (zh) * 2017-09-22 2018-01-12 迈普通信技术股份有限公司 问题定位方法及多核处理器
CN107623829A (zh) * 2017-08-30 2018-01-23 中国航空无线电电子研究所 一种视频记录设备中的文件管理方法
CN109002368A (zh) * 2017-06-07 2018-12-14 奥特润株式会社 监控设备的工作方法及多核***
CN109298961A (zh) * 2018-08-28 2019-02-01 迈普通信技术股份有限公司 多核处理器的故障处理方法、装置及网络设备
CN110069377A (zh) * 2018-01-22 2019-07-30 中兴通讯股份有限公司 一种多核处理器的监测方法、终端及计算机存储介质
CN111026573A (zh) * 2019-11-19 2020-04-17 中国航空工业集团公司西安航空计算技术研究所 一种多核处理***的看门狗***及控制方法
CN112667459A (zh) * 2020-12-09 2021-04-16 北京无线电测量研究所 一种多处理器***信息采集方法
WO2021190252A1 (zh) * 2020-03-25 2021-09-30 华为技术有限公司 芯片启动方法、装置及计算机设备
CN114750774A (zh) * 2021-12-20 2022-07-15 广州汽车集团股份有限公司 安全监测方法和汽车
CN116708139A (zh) * 2023-07-21 2023-09-05 北京六方云信息技术有限公司 网络设备故障处理方法、装置、设备以及存储介质

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100458707C (zh) * 2007-04-05 2009-02-04 杭州华三通信技术有限公司 实现用户配置的方法、***及主核和从核
CN102073572A (zh) * 2009-11-24 2011-05-25 中兴通讯股份有限公司 用于多核处理器的监控方法及***
CN102073572B (zh) * 2009-11-24 2015-10-21 中兴通讯股份有限公司 用于多核处理器的监控方法及***
CN102143002A (zh) * 2011-04-07 2011-08-03 中兴通讯股份有限公司 一种单板备份方法及***
CN102508738B (zh) * 2011-10-14 2014-02-19 北京华为数字技术有限公司 一种多核处理器业务信息的备份方法、内核和备份内核
CN102508738A (zh) * 2011-10-14 2012-06-20 华为数字技术有限公司 一种多核处理器业务信息的备份方法、内核和备份内核
CN102629228A (zh) * 2012-04-26 2012-08-08 迈普通信技术股份有限公司 多核通信***中检测数据核故障的方法及装置
CN102629228B (zh) * 2012-04-26 2015-07-15 迈普通信技术股份有限公司 多核通信***中检测数据核故障的方法及装置
CN102750192A (zh) * 2012-06-06 2012-10-24 杭州华三通信技术有限公司 一种数据平面异常检测的方法和装置
CN102750192B (zh) * 2012-06-06 2016-04-20 杭州华三通信技术有限公司 一种数据平面异常检测的方法和装置
CN103870350A (zh) * 2014-03-27 2014-06-18 浪潮电子信息产业股份有限公司 一种基于watchdog的微处理器多核加固方法
CN104486122A (zh) * 2014-12-17 2015-04-01 上海斐讯数据通信技术有限公司 基于看门狗的路由器异常恢复***及方法
CN106844164A (zh) * 2015-12-06 2017-06-13 上海协同科技股份有限公司 具有多块智能芯片的装置及其复位监测方法
CN109002368A (zh) * 2017-06-07 2018-12-14 奥特润株式会社 监控设备的工作方法及多核***
CN107623829A (zh) * 2017-08-30 2018-01-23 中国航空无线电电子研究所 一种视频记录设备中的文件管理方法
CN107623829B (zh) * 2017-08-30 2020-07-07 中国航空无线电电子研究所 一种视频记录设备中的文件管理方法
CN107577571B (zh) * 2017-09-22 2021-04-30 迈普通信技术股份有限公司 问题定位方法及多核处理器
CN107577571A (zh) * 2017-09-22 2018-01-12 迈普通信技术股份有限公司 问题定位方法及多核处理器
CN110069377A (zh) * 2018-01-22 2019-07-30 中兴通讯股份有限公司 一种多核处理器的监测方法、终端及计算机存储介质
CN109298961A (zh) * 2018-08-28 2019-02-01 迈普通信技术股份有限公司 多核处理器的故障处理方法、装置及网络设备
CN111026573A (zh) * 2019-11-19 2020-04-17 中国航空工业集团公司西安航空计算技术研究所 一种多核处理***的看门狗***及控制方法
CN111026573B (zh) * 2019-11-19 2023-08-18 中国航空工业集团公司西安航空计算技术研究所 一种多核处理***的看门狗***及控制方法
WO2021190252A1 (zh) * 2020-03-25 2021-09-30 华为技术有限公司 芯片启动方法、装置及计算机设备
CN112667459A (zh) * 2020-12-09 2021-04-16 北京无线电测量研究所 一种多处理器***信息采集方法
CN114750774A (zh) * 2021-12-20 2022-07-15 广州汽车集团股份有限公司 安全监测方法和汽车
CN114750774B (zh) * 2021-12-20 2023-01-13 广州汽车集团股份有限公司 安全监测方法和汽车
CN116708139A (zh) * 2023-07-21 2023-09-05 北京六方云信息技术有限公司 网络设备故障处理方法、装置、设备以及存储介质
CN116708139B (zh) * 2023-07-21 2023-10-20 北京六方云信息技术有限公司 网络设备故障处理方法、装置、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN1916858A (zh) 多核***中的监控方法、监控装置以及多核***
CN1292586C (zh) 电子设备和电源控制方法
CN1504908A (zh) 存储器***及其控制方法
CN1811718A (zh) 处理器及信息处理方法
CN1869932A (zh) 实现数据升级的计算机处理***以及数据升级方法
CN1943206A (zh) 用于在集群***的网络故障期间最大化连通性的***和方法
CN1202474C (zh) 程序执行装置及便携式信息处理装置
CN101038621A (zh) 设备控制***、控制单元及其使用的设备控制方法
CN101060412A (zh) 以太网电源***、控制单元、主控模块及以太网电源供电方法
CN101055533A (zh) 一种多线程处理器动态内存管理***及方法
CN1725187A (zh) 在计算机上当软件崩溃时保存用户数据的方法及装置
CN1881934A (zh) 微处理器、网络***和通信方法
CN1852158A (zh) 一种电信网络告警的实现方法及其***
CN101034974A (zh) 基于时间序列和事件序列的关联分析攻击检测方法和装置
CN1135472C (zh) ***应用软件管理方式
CN1111793C (zh) 冗余装置
CN1866283A (zh) 实现规则***触发的***及方法
CN1878322A (zh) 故障定位的方法及装置
CN1859204A (zh) 实现双机热备份中同步数据的方法及装置
CN1901467A (zh) 一种快速处理告警的方法和***
CN1279718C (zh) 逻辑链路资源的数量大于物理链路资源的远程接入服务器
CN1928832A (zh) 多处理计算***中的状态跟踪和恢复方法和***
CN1101573C (zh) 计算机***
CN1302411C (zh) 大型机群***的集中控制方法
CN1863085A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication