CN103870350A - 一种基于watchdog的微处理器多核加固方法 - Google Patents
一种基于watchdog的微处理器多核加固方法 Download PDFInfo
- Publication number
- CN103870350A CN103870350A CN201410116981.6A CN201410116981A CN103870350A CN 103870350 A CN103870350 A CN 103870350A CN 201410116981 A CN201410116981 A CN 201410116981A CN 103870350 A CN103870350 A CN 103870350A
- Authority
- CN
- China
- Prior art keywords
- core
- watchdog
- task
- rad
- kernel
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种基于watchdog的微处理器多核加固方法。构建了一种基于看门狗的微处理器多核加固机制,为了充分利用微处理器多核处理器的并行性,使得各个子任务尽可能的并行执行,采用了任务重分配机制,确保重新分配故障核执行的任务给其他核,出现故障的核将自行复位等待新任务的分配;出现异常或者错误的内核通过使看门狗中对应计数器溢出,实现了多核的任务级加固,从而避免因为单核的故障引起整个芯片重新执行应用程序。
Description
技术领域
本发明涉及计算机体系结构范畴,具体地说是一种基于watchdog的微处理器多核加固方法。
背景技术
计算机在现代航天领域中起着关键的作用,但由于航天计算机所处的特殊运行环境,其抗辐射性及可靠性是重要的指标之一。由于航天发达国家对航天技术和对高性能宇航级器件的出口限制,致使我国的航天计算机发展受到种种制约。研究和开发国产高性能宇航CPU不仅可以满足日益增长的航天任务的需求,而且对于保障航天计算机的安全、提高航天计算机的可靠性、打破国外对于高性能宇航级器件的封锁,发展我国自主航天计算机技术有极为重要的意义。国际上复杂的多核微处理器任务级加固普遍存在着系统规模选择和算法设计难度极高的难题。由于多核处理器能并行处理多个任务级程序,一旦有一个任务程序出错导致整个程序可能需要从头开始重新执行,造成计算时间的浪费、拓扑结构复杂。
发明内容
本发明的目的是建立一种基于watchdog的微处理器多核加固方法。
RAD_X的每个处理器核在相同条件下,都可实现高主频,为了充分利用高主频多核处理器的并行处理能力,使得各个子任务尽可能的并行执行,采用了任务重分配机制。本文涉及到的RAD_X具有调度任务重分配和多核并行执行的一致性两种功能:首先,RAD_X连接4颗处理器内核,共享数据池(SDP)用于RAD_X片上各处理器核之间的数据交互和同步;其次,RAD_X 多核处理器在执行程序时,各个处理器核有时需要进行数据通信,因此多核处理器RAD_X 的设计必须支持核间通信。处理器核通过Load/Store指令对SDP 进行访问。应用程序对信号灯寄存器进行设置,控制两个内核对SDP的访问时间,完成两个内核之间的同步。
通过在RAD_X 芯片正常运行的过程中,每个核必须主动刷新watchdog逻辑中对应的计数器避免watchdog溢出。watchdog逻辑监控核0、核1、核2 和核3 的运行过程。一旦有内核运行时出现故障,不能正常定时清零watchdog内对应的计数器, watchdog逻辑就会向各内核发出内核运行出错的中断信号。其他内核根据中断情况,重新对任务进行重分配,同时出错的内核自行复位。watchdog逻辑使系统通过任务级重分配机制自行修复到正常状态并且使得各个子任务尽可能的快速并行执行。
充分利用微处理器多核处理器的并行性,使得各个子任务尽可能的并行执行,采用了任务重分配机制,确保重新分配故障核执行的任务给其他核,出现故障的核将自行复位等待新任务的分配;出现异常或者错误的内核通过使看门狗中对应计数器溢出,实现了多核的任务级加固,从而避免因为单核的故障引起整个芯片重新执行应用程序。
本发明所产生的有益效果是:
1. 模拟建模的方式实现基于watchdog的微处理器多核加固方法,在较短时间内以极高的主频速度完成大规模程序的计算和处理,减少重复执行的概率和代价。
2. 能快速进行任务级的重新调度执行,使得整个处理器的响应速度加快。
3. 构建标准模型,指导大规模基于watchdog的加固型微处理器多核芯片的构建。大大节约了项目设计验证成本,保证开发周期。
附图说明
图1为多核任务级容错机制示意图;
图2为一致性协议模型模拟测试结构示意图;
图3为方案 1 使用4个内核示意图;
图4为方案 2 使用3 个内核示意图;
图5为同构四核的任务分配示意图;
图6 为同构四核任务分配执行情况示意图。
具体实施方式
RAD_X 的每个处理器核在相同条件下,都可实现高主频。为了充分利用RAD_X 多核处理器的并行性,使得各个子任务尽可能的并行执行,采用了任务重分配机制。当四个核中有一个核出现故障,RAD_X 重新分配故障核执行的任务给其他核,出现故障的核将自行复位等待新任务的分配,下面将进行详细分析。
RAD_X 多核处理器在执行程序时,各个处理器核有时需要进行数据通信,因此多核处理器RAD_X 的设计必须支持核间通信。共享数据池(SDP)用于RAD_X片上各处理器核之间的数据交互和同步,如图1所示。处理器核通过Load/Store指令对SDP 进行访问。应用程序对信号灯寄存器进行设置,控制两个内核对SDP的访问时间,完成两个内核之间的同步。
watchdog逻辑是保证 RAD_X 芯片正常运行的多核任务级加固措施。在watchdog逻辑中,每个核都有一个对应的计数器,可通过AHB 总线访问。在RAD_X 芯片正常运行的过程中,每个核必须主动刷新watchdog逻辑中对应的计数器避免watchdog溢出。watchdog逻辑监控核0、核1、核2 和核3 的运行过程。一旦有内核运行时出现故障,不能正常定时清零watchdog内对应的计数器, watchdog逻辑就会向各内核发出内核运行出错的中断信号。其他内核根据中断情况,重新对任务进行重分配,同时出错的内核自行复位。watchdog逻辑使系统通过任务级重分配机制自行修复到正常状态并且使得各个子任务尽可能的快速并行执行。
以求多个矩阵的幂和为例:
RAD_X 内核编程时,同时实现方案1 和方案2。在程序执行之前,判断
0x0003FFFC 地址中的值是否为1,若为0,执行方案1;若为1,执行方案2。在方案1 中,程序被分配成4 个一级任务,将第一级的任务分配给相应的内核执行,然后第二级任务只分配给核1 和核2 执行,第三级任务只分配给核2 执行,如图3 所示。
如果 RAD_X 的四个同构核在执行任务的过程中核3 出现异常或者错误,并引起了watchdog中对应计数器溢出。watchdog向核3 发出复位信号,同时向其他内核发出核3 运行出错中断信号。核3 接收复位信号后进行复位,不参与此次任务执行。
其他核根据中断情况按照方案2 对任务进行重分配,核3 的第一级任务A4A4 将重分配给核0 执行,其他核的执行任务不变,如图4 所示。这样就实现了多核的任务级加固,从而避免因为单核的故障引起整个芯片重新执行应用程序。
多个矩阵的幂和在同构四核芯片中执行时各个核的任务分配情况如图5 所示。
默认情况下 RAD_X 向各个内核的0x0003FFFC 空间写入0。当接受到内核运行出错的中断信号时,未出错的内核向各自的0x0003FFFC 空间写入1,出错的内核自行复位。同构四核芯片的启动执行模式如图6 所示。
本发明的较佳实施方式
看门狗逻辑是保证 RAD_X 芯片正常运行的多核任务级加固措施。在看门狗逻辑中,每个核都有一个对应的计数器,可通过AHB 总线访问。在RAD_X 芯片正常运行的过程中,每个核必须主动刷新看门狗逻辑中对应的计数器避免看门狗溢出。看门狗逻辑监控核0、核1、核2 和核3 的运行过程。一旦有内核运行时出现故障,不能正常定时清零看门狗内对应的计数器, 看门狗逻辑就会向各内核发出内核运行出错的中断信号。其他内核根据中断情况,重新对任务进行重分配,同时出错的内核自行复位。
RAD_X 内核编程时,同时实现方案1 和方案2。在程序执行之前,判断0x0003FFFC 地址中的值是否为1,若为0,执行方案1;若为1,执行方案2。在方案1 中,程序被分配成4 个一级任务,将第一级的任务分配给相应的内核执行,然后第二级任务只分配给核1 和核2 执行,第三级任务只分配给核2 执行。
Claims (3)
1.一种基于watchdog的微处理器多核加固方法,其特征在于首先,RAD_X连接4颗处理器内核,共享数据池(SDP)用于RAD_X片上各处理器核之间的数据交互和同步;
其次,RAD_X 多核处理器在执行程序时,各个处理器核有时需要进行数据通信,因此多核处理器RAD_X 的设计必须支持核间通信;
处理器核通过Load/Store指令对SDP 进行访问;
应用程序对信号灯寄存器进行设置,控制两个内核对SDP的访问时间,完成两个内核之间的同步;
通过在RAD_X 芯片正常运行的过程中,每个核必须主动刷新watchdog逻辑中对应的计数器避免watchdog溢出;watchdog逻辑监控核0、核1、核2 和核3 的运行过程;一旦有内核运行时出现故障,不能正常定时清零watchdog内对应的计数器, watchdog逻辑就会向各内核发出内核运行出错的中断信号;其他内核根据中断情况,重新对任务进行重分配,同时出错的内核自行复位;watchdog逻辑使系统通过任务级重分配机制自行修复到正常状态并且使得各个子任务尽可能的快速并行执行。
2.根据权利要求1所述的方法,其特征在于RAD_X 内核编程时,同时实现方案1 和方案2;在程序执行之前,判断0x0003FFFC 地址中的值是否为1,若为0,执行方案1;若为1,执行方案2;在方案1 中,程序被分配成4 个一级任务,将第一级的任务分配给相应的内核执行,然后第二级任务只分配给核1 和核2 执行,第三级任务只分配给核2 执行。
3.根据权利要求1所述的方法,其特征在于在watchdog逻辑中,每个核都有一个对应的计数器,可通过AHB 总线访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116981.6A CN103870350A (zh) | 2014-03-27 | 2014-03-27 | 一种基于watchdog的微处理器多核加固方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410116981.6A CN103870350A (zh) | 2014-03-27 | 2014-03-27 | 一种基于watchdog的微处理器多核加固方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103870350A true CN103870350A (zh) | 2014-06-18 |
Family
ID=50908911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410116981.6A Pending CN103870350A (zh) | 2014-03-27 | 2014-03-27 | 一种基于watchdog的微处理器多核加固方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870350A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844164A (zh) * | 2015-12-06 | 2017-06-13 | 上海协同科技股份有限公司 | 具有多块智能芯片的装置及其复位监测方法 |
CN107133130A (zh) * | 2017-05-19 | 2017-09-05 | 上海斐讯数据通信技术有限公司 | 计算机运行监测方法和装置 |
WO2017219834A1 (zh) * | 2016-06-20 | 2017-12-28 | 中兴通讯股份有限公司 | 监控方法、装置及看门狗系统 |
CN107851055A (zh) * | 2015-07-30 | 2018-03-27 | 三菱电机株式会社 | 程序执行装置、程序执行系统以及程序执行方法 |
CN109298961A (zh) * | 2018-08-28 | 2019-02-01 | 迈普通信技术股份有限公司 | 多核处理器的故障处理方法、装置及网络设备 |
CN109597719A (zh) * | 2018-12-10 | 2019-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种多核系统的监控方法、系统、装置及可读存储介质 |
CN113326221A (zh) * | 2021-06-30 | 2021-08-31 | 上海阵量智能科技有限公司 | 数据处理装置、方法、芯片、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828573A (zh) * | 2005-03-01 | 2006-09-06 | 华为技术有限公司 | 一种多cpu系统及其控制方法 |
CN1916858A (zh) * | 2006-09-19 | 2007-02-21 | 杭州华为三康技术有限公司 | 多核系统中的监控方法、监控装置以及多核系统 |
CN101236515A (zh) * | 2007-01-31 | 2008-08-06 | 迈普(四川)通信技术有限公司 | 多核系统单核异常的恢复方法 |
CN101681286A (zh) * | 2007-06-11 | 2010-03-24 | 丰田自动车株式会社 | 多处理器系统及其控制方法 |
CN102073572A (zh) * | 2009-11-24 | 2011-05-25 | 中兴通讯股份有限公司 | 用于多核处理器的监控方法及系统 |
WO2013101193A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Method and device for managing hardware errors in a multi-core environment |
-
2014
- 2014-03-27 CN CN201410116981.6A patent/CN103870350A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828573A (zh) * | 2005-03-01 | 2006-09-06 | 华为技术有限公司 | 一种多cpu系统及其控制方法 |
CN1916858A (zh) * | 2006-09-19 | 2007-02-21 | 杭州华为三康技术有限公司 | 多核系统中的监控方法、监控装置以及多核系统 |
CN101236515A (zh) * | 2007-01-31 | 2008-08-06 | 迈普(四川)通信技术有限公司 | 多核系统单核异常的恢复方法 |
CN101681286A (zh) * | 2007-06-11 | 2010-03-24 | 丰田自动车株式会社 | 多处理器系统及其控制方法 |
CN102073572A (zh) * | 2009-11-24 | 2011-05-25 | 中兴通讯股份有限公司 | 用于多核处理器的监控方法及系统 |
WO2013101193A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Method and device for managing hardware errors in a multi-core environment |
Non-Patent Citations (1)
Title |
---|
刘柯: "一种监控多核处理器系统核状态的方法", 《西安邮电学院学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851055A (zh) * | 2015-07-30 | 2018-03-27 | 三菱电机株式会社 | 程序执行装置、程序执行系统以及程序执行方法 |
CN107851055B (zh) * | 2015-07-30 | 2021-06-29 | 三菱电机株式会社 | 程序执行装置、程序执行系统以及程序执行方法 |
CN106844164A (zh) * | 2015-12-06 | 2017-06-13 | 上海协同科技股份有限公司 | 具有多块智能芯片的装置及其复位监测方法 |
WO2017219834A1 (zh) * | 2016-06-20 | 2017-12-28 | 中兴通讯股份有限公司 | 监控方法、装置及看门狗系统 |
CN107133130A (zh) * | 2017-05-19 | 2017-09-05 | 上海斐讯数据通信技术有限公司 | 计算机运行监测方法和装置 |
CN107133130B (zh) * | 2017-05-19 | 2021-01-01 | 杭州新中大科技股份有限公司 | 计算机运行监测方法和装置 |
CN109298961A (zh) * | 2018-08-28 | 2019-02-01 | 迈普通信技术股份有限公司 | 多核处理器的故障处理方法、装置及网络设备 |
CN109597719A (zh) * | 2018-12-10 | 2019-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种多核系统的监控方法、系统、装置及可读存储介质 |
CN113326221A (zh) * | 2021-06-30 | 2021-08-31 | 上海阵量智能科技有限公司 | 数据处理装置、方法、芯片、计算机设备及存储介质 |
CN113326221B (zh) * | 2021-06-30 | 2024-03-22 | 上海阵量智能科技有限公司 | 数据处理装置、方法、芯片、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870350A (zh) | 一种基于watchdog的微处理器多核加固方法 | |
US10114662B2 (en) | Updating processor topology information for virtual machines | |
US9778943B2 (en) | Timer based virtual processor scheduling and suspension on physical processor for use of physical processor by other processing | |
CN100573456C (zh) | 一种并行多处理器虚拟机系统 | |
US9146609B2 (en) | Thread consolidation in processor cores | |
US10055248B1 (en) | Virtual processor scheduling via memory monitoring | |
Enokido et al. | Power consumption and computation models of virtual machines to perform computation type application processes | |
EP2615546A1 (en) | Method and system, scheduler for parallel simulating processors | |
JP2009151774A (ja) | マルチコア・プロセッサ上での自律型ワークロード分配のための方法、装置、およびシステム | |
US8589938B2 (en) | Composite contention aware task scheduling | |
RU2648943C2 (ru) | Способ выделения времени задачи, позволяющий детерминированное устранение ошибок в реальном времени | |
WO2016159765A1 (en) | Many-core processor architecture and many-core operating system | |
US10949243B2 (en) | Reducing IPI overhead with CPU overcommit support via IPI broadcast | |
CN104657111A (zh) | 一种并行计算方法和装置 | |
US10838768B2 (en) | Method for optimizing memory access in a microprocessor including several logic cores upon resumption of executing an application, and computer implementing such a method | |
US10083066B2 (en) | Processing data by using simultaneous multithreading | |
EP4209914A1 (en) | Reconfigurable cache architecture and methods for cache coherency | |
EP3516515B1 (en) | Scheduling of tasks in a multiprocessor device | |
US9779050B2 (en) | Allocating virtual resources to root PCI bus | |
Binet et al. | Multicore in production: Advantages and limits of the multiprocess approach in the ATLAS experiment | |
US11281487B2 (en) | Managing processor overcommit for virtual machines | |
US11243800B2 (en) | Efficient virtual machine memory monitoring with hyper-threading | |
US10157066B2 (en) | Method for optimizing performance of computationally intensive applications | |
US10509737B2 (en) | Data processing system for a graphical interface and graphical interface comprising such a data processing system | |
US9836323B1 (en) | Scalable hypervisor scheduling of polling tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140618 |
|
WD01 | Invention patent application deemed withdrawn after publication |