CN102629228B - 多核通信系统中检测数据核故障的方法及装置 - Google Patents
多核通信系统中检测数据核故障的方法及装置 Download PDFInfo
- Publication number
- CN102629228B CN102629228B CN201210126637.6A CN201210126637A CN102629228B CN 102629228 B CN102629228 B CN 102629228B CN 201210126637 A CN201210126637 A CN 201210126637A CN 102629228 B CN102629228 B CN 102629228B
- Authority
- CN
- China
- Prior art keywords
- core
- data core
- data
- self
- task
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及多核CPU管理技术,其公开了一种多核通信系统中检测数据核故障的方法,解决传统技术中检测数据核故障需要依赖于报文接收和核间通信,增加了故障检测复杂性的问题。本发明通过在数据核上循环运行自定义任务并同时对运行次数进行统计,在控制核上周期性的运行监控任务,对自定义任务的运行次数的统计状态进行检测,根据前后两次的检测情况对比从而判断是否出现数据核故障,该方式不依赖于报文接收和核间通信,检测方法简单、消耗系统资源少。此外,本发明还公开了一种多核通信系统中检测数据核故障的装置,适用于具备多核CPU的通信系统。
Description
技术领域
本发明涉及多核CPU管理技术,特别涉及多核通信系统中检测数据核故障的方法及装置。
背景技术
在通信领域中,随着数据流量的日益增大,多核CPU已经被广泛应用于各种通信设备。对多核CPU的管理方式一般有两种:1、通过操作系统来直接管理多核CPU,这种方式无法发挥多核CPU的最佳性能;2、将控制平面运行在多核CPU的其中一个核上,由操作系统直接管理(称这个核为控制核),将数据平面运行于多核CPU的另一部分核上(称这些核为数据核)。
由于数据核只参与数据的处理,处理过程比较简单。因此,在数据核上运行自定义的单任务,所述单任务在有数据的时候则处理数据,在没有数据的时候则空转。
在多核通信系统运行过程中,如果某个数据核出现故障,则到达该数据核的数据无法得到处理,导致丢失部分数据报文,很可能引起网络中断;因此,如何检测及恢复数据核的故障就显得尤为重要。
在申请人申请的一件申请号为200710048366.6的发明专利《多核系统单核异常的恢复方法》中,描述了一种数据核故障的检测方法,但该检测方法只能检测到数据访问例外的故障,无法检测到类似死循环或者单核硬件故障。
在华为三康公司申请的一件申请号为200910169848.6的发明专利《多核系统的故障恢复方法和设备》中,描述了一种检测数据核故障方法,该方法通过观察数据核接收数据状态是否正确来判断数据核是否出现故障,为了在没有接收数据的情形下不发生误判,控制核需要向数据核发送检测报文,即需要核间通信配合才能完成故障检测,这样增加了故障检测复杂性。这里的核间通信是指多核CPU系统中,一个核向其它核发送报文。
发明内容
本发明所要解决的技术问题是:提出一种多核通信系统中检测数据核故障的方法和装置,解决传统技术中检测数据核故障需要依赖于报文接收和核间通信,增加了故障检测复杂性的问题。
本发明解决上述技术问题所采用的方案是:多核通信系统中检测数据核故障的装置,包括:数据核监控任务模块、数据核自定义任务模块、数据核自定义任务计数模块;
所述数据核监控任务模块,用于在多核通信系统的控制核上周期性运行数据核监控任务,每次运行数据核监控任务时,检测数据核自定义任务计数模块对数据核自定义任务的运行次数的统计情况,当数据核监控任务模块本次运行时检测到某个数据核自定义任务计数模块的统计次数与上次运行时检测到的统计次数一致,则判定为该数据核出现故障;
所述数据核自定义任务模块,用于在多核通信系统的数据核上不间断的循环运行数据核自定义任务;
所述数据核自定义任务计数模块,用于对数据核自定义任务的运行次数进行统计;
进一步,该装置还包括数据核故障处理模块,所述数据核故障处理模块用于释放出现故障的数据核的所占资源,并对该数据核进行重启。
进一步,所述周期性的运行数据核监控任务是指数据核监控任务每睡眠一个周期运行一次。
进一步,所述自定义任务检测到有数据时则处理数据,没有数据时则空转。
多核通信系统中检测数据核故障的方法,包括:在多核通信系统的各数据核上不间断的运行数据核自定义任务,并对数据核自定义任务的运行次数进行统计;在多核通信系统的控制核上周期性的运行数据核监控任务,每次运行数据核监控任务时都检测对各数据核自定义任务的运行次数的统计情况,如果本次运行数据核监控任务时检测到某个数据核的数据核自定义任务运行次数与上一次运行数据核监控任务时检测到的该数据核的数据核自定义任务运行次数一致,则判定为该数据核出现故障。
进一步,在判定某个数据核出现故障后,释放该数据核所占资源,并对该数据核进行重启。
进一步,所述周期性的运行数据核监控任务是指数据核监控任务每睡眠一个周期运行一次。
进一步,所述自定义任务检测到有数据时则处理数据,没有数据时则空转。
本发明的有益效果是:通过在数据核上循环运行自定义任务并同时对运行次数进行统计,在控制核上周期性的运行监控任务,对自定义任务的运行次数的统计状态进行检测,根据前后两次的检测情况对比从而判断是否出现数据核故障,该方式不依赖于报文接收和核间通信,检测方法简单、消耗系统资源少。
附图说明
图1为本发明中的多核通信系统中检测数据核故障的装置结构框图;
图2为数据核自定义任务运行流程图;
图3为数据核监控任务运行流程图。
具体实施方式
在多核CPU通信系统中,分为一个控制核和多个数据核,控制核和数据核共享内存。
如图1所示,本发明中的多核通信系统中检测数据核故障的装置,包括:数据核监控任务模块、数据核自定义任务模块、数据核自定义任务计数模块;
所述数据核监控任务模块,用于在多核通信系统的控制核上周期性运行数据核监控任务,每次运行数据核监控任务时,检测数据核自定义任务计数模块对数据核自定义任务的运行次数的统计情况,当数据核监控任务模块本次运行时检测到某个数据核自定义任务计数模块的统计次数与上次运行时检测到的统计次数一致,则判定为该数据核出现故障;
所述数据核自定义任务模块,用于在多核通信系统的数据核上不间断的循环运行数据核自定义任务;
所述数据核自定义任务计数模块,用于对数据核自定义任务的运行次数进行统计;
周期性运行数据核监控任务是指,数据核监控任务每睡眠一个周期运行一次,而至于一个周期的长短是一个经验值。
由于数据核上的数据核自定义任务是一直不间断运行的,自定义任务每运行一次(包括空转)就被自定义任务计数模块统计一次,因此,在正常情况下,数据核监控任务上次运行至本次运行的一个周期内,自定义任务是要运行多次的,那么同时也被自定义任务计数模块统计多次,即数据核监控任务本次运行时检测到的统计次数应该与上次检测到的统计次数不一样,而如果两者数据没有发生变化,则说明数据核上出现故障。
为了减少故障修复对网络影响足够小,在某个数据核出现故障后,只对该故障数据核进行故障修复处理:释放故障数据核所站资源,并对故障数据核进行单核重起。
下面结合附图及实施例对本发明中的多核通信系统中检测数据核故障的方法进行描述:
在多核CPU中,我们对控制核编号为0,其余N个数据核分别编号为1、2、3......N(N大于等于1且为整数),在控制核上周期性运行数据核监控任务,在每个数据核上无间断循环运行数据核自定义任务;
使用一个N+1维无符号整数数组sCoreRunCnt统计各个数据核上数据核自定义任务运行的次数,称为数据核自定义任务运行次数变量,记为sCoreRunCnt[N+1]。数组成员sCoreRunCnt[i]记录数据核i上的自定义任务运行次数,当任意一个数据核i(i=1,2,...N)上的自定义任务被调度时累加数组成员sCoreRunCnt[i]的值;使用另一个N+1维无符号整数数组sCoreRefRunCnt记录控制核从sCoreRunCnt[N+1]变量读到的值,称为数据核自定义任务运行参考变量,记为sCoreRefRunCnt[N+1]。
对于数据核(i=1,2,...N)上运行的自定义任务的运行流程参见图2,首先,系统将相关变量(包括sCoreRunCnt[N+1]和sCoreRefRunCnt[N+1])初始化为0。数据核i(i=1,2,...N)上的自定义任务运行时,数据核i(i=1,2,...N)上的自定义任务计数模块对自定义任务运行次数sCoreRunCnt[i]进行累加,如果数据核收到数据,则对数据进行处理,如果未收到数据,则进行空转。
对于控制核上运行的数据核监控任务的运行流程参见图3,监控任务每睡眠一个周期运行一次,每次运行时对所有数据核自定义任务的运行次数进行读取,即读取sCoreRunCnt[N+1]的各个成员的值,并与自定义任务运行参考变量sCoreRefRunCnt[N+1]的对应成员进行比较,如果sCoreRunCnt[i]不等于sCoreRefRunCnt[i](i=1,2,...N),则说明数据核i(i=1,2,...N)上的自定义任务运行正常,数据核i(i=1,2,...N)无故障,更新参考变量:sCoreRefRunCnt[i]=sCoreRunCnt[i];如果sCoreRunCnt[i]等于sCoreRefRunCnt[i],则说明数据核i上的自定义任务运行不正常,数据核i(i=1,2,...N)上的自定义任务出现了死循环等故障,则需要对出现故障的数据核i(i=1,2,...N)进行故障恢复处理:释放故障数据核所站资源,并对故障数据核进行单核重起。
上述方法的基本思想是:基于监控任务是周期性的运行,而自定义任务是不间断循环运行,只要在进行检测之前将自定义任务变量和运行参考变量均初始化为0,在监控任务下一次运行时,正常情况下读取到自定义任务运行的统计次数应该与运行参考变量不一致,而如果一致,则说明数据核在控制核睡眠的这一个周期内并未运行,即数据核出现故障;如果监控任务读取到自定义任务运行的统计次数与运行参考变量不一致,则说明数据核在控制核睡眠的这一个周期内运行正常,则更新参考变量。
Claims (6)
1.多核通信系统中检测数据核故障的装置,其特征在于,包括:数据核监控任务模块、数据核自定义任务模块、数据核自定义任务计数模块;
所述数据核监控任务模块,用于在多核通信系统的控制核上周期性运行数据核监控任务,每次运行数据核监控任务时,检测数据核自定义任务计数模块对数据核自定义任务的运行次数的统计情况,当数据核监控任务模块本次运行时检测到某个数据核自定义任务计数模块的统计次数与上次运行时检测到的统计次数一致,则判定为该数据核出现故障;
所述数据核自定义任务模块,用于在多核通信系统的数据核上不间断的循环运行数据核自定义任务;所述自定义任务检测到有数据时则处理数据,没有数据时则空转;
所述数据核自定义任务计数模块,用于对数据核自定义任务的运行次数进行统计。
2.如权利要求1所述的多核通信系统中检测数据核故障的装置,其特征在于,该装置还包括数据核故障处理模块,所述数据核故障处理模块用于释放出现故障的数据核的所占资源,并对该数据核进行重启。
3.如权利要求1或2所述的多核通信系统中检测数据核故障的装置,其特征在于,所述周期性的运行数据核监控任务是指数据核监控任务每睡眠一个周期运行一次。
4.多核通信系统中检测数据核故障的方法,其特征在于,包括:在多核通信系统的各数据核上不间断的运行数据核自定义任务,并对数据核自定义任务的运行次数进行统计;在多核通信系统的控制核上周期性的运行数据核监控任务,每次运行数据核监控任务时都检测对各数据核自定义任务的运行次数的统计情况,如果本次运行数据核监控任务时检测到某个数据核的数据核自定义任务运行次数与上一次运行数据核监控任务时检测到的该数据核的数据核自定义任务运行次数一致,则判定为该数据核出现故障;所述自定义任务检测到有数据时则处理数据,没有数据时则空转。
5.如权利要求4所述的多核通信系统中检测数据核故障的方法,其特征在于,在判定某个数据核出现故障后,释放该数据核所占资源,并对该数据核进行重启。
6.如权利要求4或5所述的多核通信系统中检测数据核故障的方法,其特征在于,所述周期性的运行数据核监控任务是指数据核监控任务每睡眠一个周期运行一次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210126637.6A CN102629228B (zh) | 2012-04-26 | 2012-04-26 | 多核通信系统中检测数据核故障的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210126637.6A CN102629228B (zh) | 2012-04-26 | 2012-04-26 | 多核通信系统中检测数据核故障的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102629228A CN102629228A (zh) | 2012-08-08 |
CN102629228B true CN102629228B (zh) | 2015-07-15 |
Family
ID=46587488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210126637.6A Active CN102629228B (zh) | 2012-04-26 | 2012-04-26 | 多核通信系统中检测数据核故障的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102629228B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527541A (zh) | 2019-09-19 | 2021-03-19 | 华为技术有限公司 | 一种确定多核处理器中故障计算核的方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916858A (zh) * | 2006-09-19 | 2007-02-21 | 杭州华为三康技术有限公司 | 多核系统中的监控方法、监控装置以及多核系统 |
CN101635652A (zh) * | 2009-09-07 | 2010-01-27 | 杭州华三通信技术有限公司 | 多核系统的故障恢复方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839866B2 (en) * | 2001-05-31 | 2005-01-04 | Sycamore Networks, Inc. | System and method for the use of reset logic in high availability systems |
-
2012
- 2012-04-26 CN CN201210126637.6A patent/CN102629228B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916858A (zh) * | 2006-09-19 | 2007-02-21 | 杭州华为三康技术有限公司 | 多核系统中的监控方法、监控装置以及多核系统 |
CN101635652A (zh) * | 2009-09-07 | 2010-01-27 | 杭州华三通信技术有限公司 | 多核系统的故障恢复方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102629228A (zh) | 2012-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8977905B2 (en) | Method and system for detecting abnormality of network processor | |
EP2847934B1 (en) | Method and apparatus for adaptive fast start in link aggregation | |
CN114328102B (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
CN102404141B (zh) | 一种告警抑制的方法及装置 | |
CN103117879A (zh) | 一种计算机硬件运行参数网络监测系统 | |
CN103067209B (zh) | 一种心跳模块自检测方法 | |
CN101635652A (zh) | 多核系统的故障恢复方法和设备 | |
CN103475696A (zh) | 云计算集群服务器状态监控系统和方法 | |
CN102158364A (zh) | 一种基于时间片调度的设备轮询方法和装置 | |
CN100571170C (zh) | 一种通讯链路故障的检测及恢复方法 | |
CN111130821B (zh) | 一种掉电告警的方法、处理方法及装置 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN109783311A (zh) | 断点行为的监控处理方法、装置、设备及可读存储介质 | |
CN109710441A (zh) | 一种软件看门狗、电子设备及计算机存储介质 | |
CN105068763B (zh) | 一种针对存储故障的虚拟机容错系统和方法 | |
CN102368729B (zh) | 一种在非实时系统上精确网络限速的方法 | |
CN109828945B (zh) | 一种业务报文处理方法及系统 | |
CN114826962A (zh) | 一种链路故障检测方法、装置、设备及机器可读存储介质 | |
CN102629228B (zh) | 多核通信系统中检测数据核故障的方法及装置 | |
CN104836679B (zh) | 通信异常处理方法及网元设备 | |
CN106294364B (zh) | 实现网络爬虫抓取网页的方法和装置 | |
CN104679710A (zh) | 一种面向半导体生产线搬运系统软件故障快速恢复方法 | |
CN109032867A (zh) | 一种故障诊断方法、装置及设备 | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
CN202153352U (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 |