CN106940667A - 检验具有多个计算单元的系统中的计算结果的方法和设备 - Google Patents
检验具有多个计算单元的系统中的计算结果的方法和设备 Download PDFInfo
- Publication number
- CN106940667A CN106940667A CN201610863718.2A CN201610863718A CN106940667A CN 106940667 A CN106940667 A CN 106940667A CN 201610863718 A CN201610863718 A CN 201610863718A CN 106940667 A CN106940667 A CN 106940667A
- Authority
- CN
- China
- Prior art keywords
- fiducial value
- computing unit
- content
- following feature
- application identities
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/186—Passive fault masking when reading multiple copies of the same data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Automatic Analysis And Handling Materials Therefor (AREA)
Abstract
本发明涉及检验具有多个计算单元的系统中的计算结果的方法和设备。一种用于检验在具有多个计算单元的系统中的计算结果的方法(10)的特征在于如下特征:‑由所述计算单元中的一个计算单元接收(11)数据帧,‑所述数据帧包括应用标识和所述计算单元的比较值的数目,‑依据所述应用标识,所述计算单元的比较值被分类整理(12)到中间存储器中,‑检验(13),所述中间存储器在所述应用标识下是否包含(14)所有计算单元的比较值,以及‑当所述比较值全部(14)存在时,比较(15,16)所述比较值。
Description
技术领域
本发明涉及一种用于检验在具有多个计算单元的系统中的计算结果的方法。此外,本发明还涉及一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。
背景技术
锁步(Lockstep)系统是容错的计算机系统,所述容错的计算机系统在相同的时间或者在最小的时间偏移的情况下并行地实施同组的运算。根据现有技术的锁步系统能够实现错误识别和错误校正。锁步运算的输出可以被比较,以便确定:当至少两个计算单元参与时,是否发生干扰,并且当至少三个计算单元参与时,是否自动地修正错误。对于本领域技术人员而言,这些构思作为两重或三重模块化的冗余而是公知的。
DE 10 2005 037 246 A1公开了一种用于控制具有至少两个实施单元和一个比较单元的计算机系统的方法,该计算机系统按锁步方式工作并且在该计算机系统中比较至少两个实施单元的结果,其特征在于,在由比较单元识别出错误时或者在由比较单元识别出错误之后,在至少一个实施单元上针对该实施单元实行(abarbeiten)错误识别机制。
发明内容
本发明提供了根据独立权利要求所述的一种用于检验在具有多个计算单元的系统中的计算结果的方法、一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。
所建议的方案在此基于如下认知:在安全攸关的(sicherheitsrelevant)系统中,不可能通过自行测试来保护完整的系统,在所述安全攸关的系统中采用标准以太网(Standard-Ethernet)部件、标准以太网计算单元(要考虑到多核(multi-core)和众核(many-core)系统、微控制器(μC)和微处理器(μP))和标准操作系统(如QNX或者Linux)。(例如在自动化驾驶的环境中的)许多安全攸关的应用因而被冗余地(以锁步方式)计算。在(没有硬件支持的)标准部件中,锁步被实现为所谓的软件锁步(Software-Lockstep)。并且在对安全性、可用性和性能有高要求的系统中,分布式地计算安全攸关的功能。
这里所描述的发明使得能够:将在这种(包括多个计算单元的并且通过如CAN或者以太网之类的通信总线连接的)分布式系统中运行的软件部分分布到多个计算单元上,并且在系统中的中央位置处通过所谓的比较器比较计算结果。
比较器检验计算单元的计算结果并且在有错误的情况下可以将系统带入安全状态中。
该解决方案的优点在于,除了更高的不相关性之外,通过外部比较器单元给由多个处理器构成的软件锁步系统也赋予了非常高的可扩展性(Skalierbarkeit)。
此外,比较器被构建使得为了执行比较而不需要关于内容的信息。这具有如下优点:当在其他计算单元上的软件改变时,其上实施比较器的计算单元保持不变。
通过在从属权利要求中举出的措施,在独立权利要求中所说明的基本思想的有利的扩展方案和改进方案是可能的。这样可以设置,由比较器接收到的数据帧包括类型说明,并且在比较之前依据该类型说明来检验:由该数据帧包括的比较值是哈希值还是内容。以这种方式可以减小要比较的数据量。
根据另一方面,可以设置:为应用标识关联错误计数器。当比较值偏离时,错误计数器递增;当比较值相一致时,错误计数器递减;并且当错误计数器达到可配置的阈值时,触发可配置的对错误的反应(Fehlerreaktion)。这样,在循环的自行测试的范围中,关联有虚拟的(dummy)应用标识的错误计数器由于比较寄存器内容偏离而递增,并且由于比较寄存器内容相一致而递减。该测试检验了,比较器和错误逻辑起作用。自行测试的结果此外还可以作为部分响应而进入运行时间监控单元(看门狗(watchdog))的外部通信中。
附图说明
在附图中示出了本发明的实施例并且在随后的描述中更详细地阐述了本发明的实施例。在附图中:
图1示出了比较器中的根据本发明的软件流程。
图2示出了比较器的数据分类。
图3示出了典型的数据帧。
图4示出了具有三重模块化的冗余的系统架构。
图5示出了比较器的自行测试。
图6示意性地示出了根据本发明的实施形式的控制设备。
具体实施方式
根据一种实施形式的系统包括两个或者更多个计算单元,在所述两个或者更多个计算单元中至少一个计算单元执行安全攸关的功能并且所述两个或者更多个计算单元经由标准以太网通信总线进行通信。根据一种替选方案,采用其他总线系统,所述其他总线系统能够实现数据包的传输。
一个或者多个计算单元以所谓的软件锁步方式运行,并且执行安全攸关的功能的冗余计算。具有至少两个计算核的计算单元也可以以软件锁步方式执行安全攸关的功能的冗余计算。计算单元针对软件锁步形成所谓的比较器,该比较器检验冗余计算的结果。
图1解释清楚了这种检验的流程:安全攸关的功能或者功能序列的结果根据该实施方案被组合成数据包并且被传输给比较器(11)。
该比较器如在图2中详细示出的那样例如按照发出方的计算单元(30,31,32)或者按照唯一的应用标识(43)(application identification,ID)对到达的结果进行分类(12)。当所有计算单元有(14)结果时,比较(15,16)这些结果。比较器在此依据数据帧中的类型说明(38)在仅要进行比较的结果(16)与在比较(15)之后要被传输(22)到车辆总线上的结果(15)之间进行区分。在要寄送(22)的结果的情况下,内容和随后所描述的用于连续地(end-to-end端对端地,E2E)使数据帧(42)安全的值中的一些值进行比较(15)。
安全攸关的功能的结果例如可以包括输出数据、内部功能状态、被功能占用的存储器、要寄给其他控制设备或者执行器的数据、用于连续地保护数据帧的值、如所谓的在活动中的(Alive)计数器或者校验和。为了减小要比较(16)的数据量,关于整个结果形成哈希值。当结果是(15)要被寄送(22)的数据包时,内容如实地在数据帧中被寄送(22)。
在图3中所示出的标准数据帧(42)中,一个或者多个比较值(33)被传输给比较器。该数据帧(42)附加地还包含应用标识(43)、类型说明(38)、包含的比较值(33)的数目(39)、时间戳(timestamp,41)、用于保护数据帧(42)的在活动中的计数器(40)以及校验和(34),所述校验和(34)例如可以基于循环冗余校验(cyclic redundancy check,CRC)或者加密哈希函数。
为了进行错误处理(error handling),给每个应用标识(43)关联有一个错误计数器。在有错误时,相应的计数器(40)递增,而在比较正确时,相应的计数器(40)递减。当错误计数器达到所配置的阈值时,例如通过将该系统置于安全状态中来触发对错误的反应。对错误的反应可以根据应用标识(43)来配置。
在包括三个或者更多个计算单元(30,31,32)的系统中,比较器也可以执行2对3比较,以便因此达到系统的更高的可用性(图4)。该比较器此外还如图5所解释清楚的那样循环地通过自行测试来检验。该测试检验了比较器和错误逻辑起作用。自行测试使用虚拟的应用标识(43)。
该方法(10)例如可以以软件或者硬件或者以软件和硬件构成的混合形式例如在控制设备(50)中实施,如图6的示意图所解释清楚的那样。
Claims (10)
1.一种用于检验在具有多个计算单元(30,31,32)的系统中的计算结果的方法(10),
其特征在于如下特征:
- 由所述计算单元(30,31,32)中的一个计算单元接收(11)数据帧(42),
- 所述数据帧(42)包括应用标识(43)和所述计算单元(30,31,32)的比较值(33)的数目(39),
- 依据所述应用标识(43),所述计算单元(30,31,32)的比较值(33)被分类整理(einsortieren)(12)到中间存储器(29)中,
- 检验(13),所述中间存储器(29)在所述应用标识(43)下是否包含(14)所有计算单元(30,31,32)的比较值(33),以及
- 当所述比较值(33)全部(14)存在时,比较(15,16)所述比较值(33)。
2.根据权利要求1所述的方法(10),
其特征在于如下特征:
- 所述数据帧(42)此外还包括类型说明(38),
- 在所述比较(15,16)之前,依据所述类型说明(38)来检验(17):所述比较值(33)是哈希值(18)还是内容(19),
- 当所述比较值(33)是所述内容(19)时,在比较(15)之后检验(20):所有计算单元(30,31,32)的内容是否相一致(21),以及
- 当所述内容相一致(21)时,发送(22)所述内容。
3.根据权利要求2所述的方法(10),
其特征在于如下特征:
- 所述数据帧(42)此外还包括在活动中的计数器(40)和比较值(33)的校验和(34),以及
- 所述在活动中的计数器(40)和所述校验和(34)与所述内容进行比较(15)。
4.根据权利要求1至3之一所述的方法(10),
其特征在于如下特征:
- 当所述比较值(33)不全部(23)存在时,对超时进行检验(24),以及
- 当超时出现(25)时,则识别出错误(26)。
5.根据权利要求1至4之一所述的方法(10),
其特征在于如下特征:
- 当所述计算单元(30,31,32)的比较值(33)偏离在所述计算单元(30,31,32)中间的第二计算单元(30,31,32)和第三计算单元(30,31,32)的相一致的比较值(33)时,舍弃所述计算单元(30,31,32)的比较值(33)。
6.根据权利要求1至5之一所述的方法(10),
其特征在于如下特征:
- 给所述应用标识(43)关联有错误计数器,
- 当所述比较值(33)偏离(27)时,所述错误计数器递增(35),
- 当所述比较值(33)相一致(21,28)时,所述错误计数器递减(36,37),以及
- 当所述错误计数器达到可配置的阈值时,触发可配置的对错误的反应。
7.根据权利要求6所述的方法(10),
其特征在于如下特征:
- 在循环的自行测试的情况下,关联有假应用标识的错误计数器由于比较寄存器内容偏离而递增(35),并且由于比较寄存器内容相一致而递减(36,37)。
8.一种计算机程序,其被设立为实施根据权利要求1至7之一所述的方法(10)。
9.一种机器可读的存储介质,在所述机器可读的存储介质上存储有根据权利要求8所述的计算机程序。
10.一种设备(50),其被设立为实施根据权利要求1至7之一所述的方法(10)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102015218882.5 | 2015-09-30 | ||
DE102015218882.5A DE102015218882A1 (de) | 2015-09-30 | 2015-09-30 | Verfahren und Vorrichtung zum Prüfen von Berechnungsergebnissen in einem System mit mehreren Recheneinheiten |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106940667A true CN106940667A (zh) | 2017-07-11 |
CN106940667B CN106940667B (zh) | 2022-05-31 |
Family
ID=58281833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610863718.2A Active CN106940667B (zh) | 2015-09-30 | 2016-09-29 | 检验具有多个计算单元的系统中的计算结果的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170091053A1 (zh) |
CN (1) | CN106940667B (zh) |
DE (1) | DE102015218882A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162426A (zh) * | 2018-02-12 | 2019-08-23 | 罗伯特·博世有限公司 | 用于检验神经网络中的神经元函数的方法和设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020213323A1 (de) | 2020-10-22 | 2022-04-28 | Robert Bosch Gesellschaft mit beschränkter Haftung | Datenverarbeitungsnetzwerk zur Datenverarbeitung |
DE102021211712A1 (de) * | 2021-10-18 | 2023-04-20 | Robert Bosch Gesellschaft mit beschränkter Haftung | Datenverarbeitungsnetzwerk zur Datenverarbeitung |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030208593A1 (en) * | 2002-05-06 | 2003-11-06 | Microsoft Corporation | Uniquely identifying a crashed application and its environment |
US20050028028A1 (en) * | 2003-07-29 | 2005-02-03 | Jibbe Mahmoud K. | Method for establishing a redundant array controller module in a storage array network |
CN1859362A (zh) * | 2005-04-30 | 2006-11-08 | 韩国电力公社 | 核电站用分布式控制系统的控制通信网的传送帧结构 |
CN101833298A (zh) * | 2009-03-12 | 2010-09-15 | 欧姆龙株式会社 | 输入/输出单元以及产业用控制器 |
US20120042153A1 (en) * | 2010-08-13 | 2012-02-16 | Morrison Gary R | Data processing system having temporal redundancy and method therefor |
CN102567276A (zh) * | 2011-12-19 | 2012-07-11 | 华为技术有限公司 | 基于多通道的数据传输方法、相关节点及系统 |
CN102822807A (zh) * | 2010-03-23 | 2012-12-12 | 大陆-特韦斯贸易合伙股份公司及两合公司 | 控制计算机系统、用于控制控制计算机系统的方法及控制计算机系统的使用 |
CN102893262A (zh) * | 2010-06-24 | 2013-01-23 | 国际商业机器公司 | 使用校验子分析的故障总线通道检测 |
CN103229442A (zh) * | 2012-12-05 | 2013-07-31 | 华为技术有限公司 | 信息传输方法、光交叉站点和信息传输系统 |
CN104065442A (zh) * | 2014-07-09 | 2014-09-24 | 西安丙坤电气有限公司 | 一种在采样通信任务中获取接收报文硬件时间戳的方法 |
WO2014175865A1 (en) * | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Repairing compromised system data in a non-volatile memory |
CN104216830A (zh) * | 2014-09-01 | 2014-12-17 | 广州供电局有限公司 | 设备软件的一致性检测方法及系统 |
US20150095699A1 (en) * | 2013-09-27 | 2015-04-02 | Nec Corporation | Control device, control method and recording medium storing program thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005037246A1 (de) | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und einer Vergleichseinheit |
-
2015
- 2015-09-30 DE DE102015218882.5A patent/DE102015218882A1/de active Pending
-
2016
- 2016-09-26 US US15/276,117 patent/US20170091053A1/en not_active Abandoned
- 2016-09-29 CN CN201610863718.2A patent/CN106940667B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030208593A1 (en) * | 2002-05-06 | 2003-11-06 | Microsoft Corporation | Uniquely identifying a crashed application and its environment |
US20050028028A1 (en) * | 2003-07-29 | 2005-02-03 | Jibbe Mahmoud K. | Method for establishing a redundant array controller module in a storage array network |
CN1859362A (zh) * | 2005-04-30 | 2006-11-08 | 韩国电力公社 | 核电站用分布式控制系统的控制通信网的传送帧结构 |
CN101833298A (zh) * | 2009-03-12 | 2010-09-15 | 欧姆龙株式会社 | 输入/输出单元以及产业用控制器 |
CN102822807A (zh) * | 2010-03-23 | 2012-12-12 | 大陆-特韦斯贸易合伙股份公司及两合公司 | 控制计算机系统、用于控制控制计算机系统的方法及控制计算机系统的使用 |
CN102893262A (zh) * | 2010-06-24 | 2013-01-23 | 国际商业机器公司 | 使用校验子分析的故障总线通道检测 |
US20120042153A1 (en) * | 2010-08-13 | 2012-02-16 | Morrison Gary R | Data processing system having temporal redundancy and method therefor |
CN102567276A (zh) * | 2011-12-19 | 2012-07-11 | 华为技术有限公司 | 基于多通道的数据传输方法、相关节点及系统 |
CN103229442A (zh) * | 2012-12-05 | 2013-07-31 | 华为技术有限公司 | 信息传输方法、光交叉站点和信息传输系统 |
WO2014175865A1 (en) * | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Repairing compromised system data in a non-volatile memory |
US20150095699A1 (en) * | 2013-09-27 | 2015-04-02 | Nec Corporation | Control device, control method and recording medium storing program thereof |
CN104065442A (zh) * | 2014-07-09 | 2014-09-24 | 西安丙坤电气有限公司 | 一种在采样通信任务中获取接收报文硬件时间戳的方法 |
CN104216830A (zh) * | 2014-09-01 | 2014-12-17 | 广州供电局有限公司 | 设备软件的一致性检测方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162426A (zh) * | 2018-02-12 | 2019-08-23 | 罗伯特·博世有限公司 | 用于检验神经网络中的神经元函数的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106940667B (zh) | 2022-05-31 |
US20170091053A1 (en) | 2017-03-30 |
DE102015218882A1 (de) | 2017-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110192377B (zh) | 在物联网网络环境中监控和分析看门狗消息 | |
US20180285217A1 (en) | Failover response using a known good state from a distributed ledger | |
CN107003912A (zh) | 在包括多个处理器的用于具有功能安全性的应用的电子系统中运行程序的方法、对应系统和计算机程序产品 | |
EP3485574A2 (en) | Method and architecture for critical systems utilizing multi-centric orthogonal topology and pervasive rules-driven data and control encoding | |
US8671311B2 (en) | Multiprocessor switch with selective pairing | |
CN107276710B (zh) | 基于时间同步状态监控的时间触发以太网故障诊断方法 | |
ITUB20154590A1 (it) | Procedimento di esecuzione di programmi in un sistema elettronico per applicazioni in sicurezza funzionale comprendente una pluralita' di processori, relativo sistema e prodotto informatico | |
CN106940667A (zh) | 检验具有多个计算单元的系统中的计算结果的方法和设备 | |
KR102284080B1 (ko) | 2채널 아키텍처 | |
CN104598341B (zh) | 用于确定在互连/控制器之间的故障的位置的方法和系统 | |
US10114356B2 (en) | Method and apparatus for controlling a physical unit in an automation system | |
CN102375409A (zh) | 冗余化控制系统及其运算数据的传送方法 | |
CN105743731A (zh) | 用于存储系统中的故障检测的方法和装置 | |
KR101560497B1 (ko) | 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템 | |
US20180322001A1 (en) | Methods for operating multicore processors | |
KR102707408B1 (ko) | 하나 이상의 투표자 엘리먼트들을 사용하여 데이터 사본들을 크로스 체크하는 장치 및 방법 | |
Krstic et al. | A mid-value select voter | |
Prasetiadi et al. | Faulty node detection in distributed systems using BCH code | |
CN107038095A (zh) | 用于冗余地处理数据的方法 | |
Gries et al. | Cascading data corruption: About dependencies in cyber-physical systems: Poster | |
JP2018014102A (ja) | コンピュータ化されたシステムおよび冗長システム | |
Dureja et al. | A case study in safety, security, and availability of wireless-enabled aircraft communication networks | |
Amiri et al. | Rashnu: Data-dependent order-fairness | |
US20240311143A1 (en) | Method for checking a processing of payload data | |
US20230153231A1 (en) | Method and computing environment for creating and applying a test algorithm for computational processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |