多核系统中的监控方法、监控装置以及多核系统的制作方法

文档序号:6561698阅读:129来源:国知局
专利名称:多核系统中的监控方法、监控装置以及多核系统的制作方法
技术领域
本发明涉及监控技术,尤其涉及多核系统中的监控方法、监控装置以及多核系统。
背景技术
在计算机技术和电子技术迅猛发展的趋势下,将多个芯片集成于一个封装之内的多核技术逐渐成熟。多核系统中的每个核均可被看作为一个中央处理器(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相似,监控装置对多核系统中所有核的运行状态进行监视,在出现处于异常状态的核时,按照该核对应的复位策略执行单核、相关核或者系统复位,则无论在流水线工作方式还是在并行工作方式下,均能够及时有效地恢复多核系统的正常运行。并且,本实施例中,在复位之前对要被复位的核进行了数据备份,在完成复位之后,能够利用备份数据对被复位的核进行恢复现场,以便这些核从出现故障之前的正常进程开始运行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
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所述的系统,其特征在于,所述监控装置进一步用于通知需要被复位的核对数据进行备份,并根据所备份的数据对被复位的核进行恢复现场。
全文摘要
本发明公开了一种多核系统的监控方法,预先为该多核系统中的每个核设置对应的复位策略,该方法包括对多核系统中所有核的运行状态进行监视,当出现处于异常状态的核时,确定该核对应的复位策略,并按照所确定的复位策略对需要被复位的核进行复位。本发明还公开了一种包括系统监控模块、核监控模块、控制模块和存储模块的监控装置,以及一种包括核监控模块、控制模块和存储模块的监控装置。另外,本发明又公开了一种多核系统,该系统包括核以及监控装置。本发明的上述技术方案能够在多核系统中的核出现异常的情况下,及时有效地恢复系统运行。
文档编号G06F11/00GK1916858SQ200610127590
公开日2007年2月21日 申请日期2006年9月19日 优先权日2006年9月19日
发明者郭昕 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1