CN106940667B - 检验具有多个计算单元的系统中的计算结果的方法和设备 - Google Patents

检验具有多个计算单元的系统中的计算结果的方法和设备 Download PDF

Info

Publication number
CN106940667B
CN106940667B CN201610863718.2A CN201610863718A CN106940667B CN 106940667 B CN106940667 B CN 106940667B CN 201610863718 A CN201610863718 A CN 201610863718A CN 106940667 B CN106940667 B CN 106940667B
Authority
CN
China
Prior art keywords
comparison
calculation
checking
steps
following
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
Application number
CN201610863718.2A
Other languages
English (en)
Other versions
CN106940667A (zh
Inventor
M.利斯伯格
R.施莱泽
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN106940667A publication Critical patent/CN106940667A/zh
Application granted granted Critical
Publication of CN106940667B publication Critical patent/CN106940667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/186Passive fault masking when reading multiple copies of the same data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

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 (9)

1.一种用于检验在具有多个计算单元(30,31,32)的系统中的计算结果的方法(10),
其特征在于如下特征:
- 由所述计算单元(30,31,32)中的一个计算单元接收(11)数据帧(42),
- 所述数据帧(42)包括应用标识(43)和所述计算单元(30,31,32)的比较值(33)的数目(39),
- 依据所述应用标识(43),所述计算单元(30,31,32)的比较值(33)被分类整理(12)到中间存储器(29)中,
- 检验(13),所述中间存储器(29)在所述应用标识(43)下是否包含所有计算单元(30,31,32)的比较值(33),以及
- 当所述比较值(33)全部存在时,比较(15,16)所述比较值(33),
其中所述计算单元(30,31,32)以软件锁步方式运行并且执行安全攸关的功能的冗余计算。
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至3之一所述的方法(10),
其特征在于如下特征:
- 当所述计算单元(30,31,32)的比较值(33)偏离在所述计算单元(30,31,32)中间的第二计算单元(30,31,32)和第三计算单元(30,31,32)的相一致的比较值(33)时,舍弃所述计算单元(30,31,32)的比较值(33)。
6.根据权利要求5所述的方法(10),
其特征在于如下特征:
- 给所述应用标识(43)关联有错误计数器,
- 当所述比较值(33)偏离(27)时,所述错误计数器递增(35),
- 当所述比较值(33)相一致(21,28)时,所述错误计数器递减(36,37),以及
- 当所述错误计数器达到可配置的阈值时,触发可配置的对错误的反应。
7.根据权利要求6所述的方法(10),
其特征在于如下特征:
- 在循环的自行测试的情况下,关联有假应用标识的错误计数器由于比较寄存器内容偏离而递增(35),并且由于比较寄存器内容相一致而递减(36,37)。
8.一种机器可读的存储介质,在所述机器可读的存储介质上存储有计算机程序,其被设立为实施根据权利要求1至7之一所述的方法(10)。
9.一种控制设备(50),其被设立为实施根据权利要求1至7之一所述的方法(10)。
CN201610863718.2A 2015-09-30 2016-09-29 检验具有多个计算单元的系统中的计算结果的方法和设备 Active CN106940667B (zh)

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 CN106940667A (zh) 2017-07-11
CN106940667B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018202095A1 (de) * 2018-02-12 2019-08-14 Robert Bosch Gmbh Verfahren und Vorrichtung zum Überprüfen einer Neuronenfunktion in einem neuronalen Netzwerk
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

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421490B2 (en) * 2002-05-06 2008-09-02 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 韩国电力公社 核电站用分布式控制系统的控制通信网的传送帧结构
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
JP5348499B2 (ja) * 2009-03-12 2013-11-20 オムロン株式会社 I/oユニット並びに産業用コントローラ
RU2585262C2 (ru) * 2010-03-23 2016-05-27 Континенталь Тевес Аг Унд Ко. Охг Контрольно-вычислительная система, способ управления контрольно-вычислительной системой, а также применение контрольно-вычислительной системы
US8566682B2 (en) * 2010-06-24 2013-10-22 International Business Machines Corporation Failing bus lane detection using syndrome analysis
US9361104B2 (en) * 2010-08-13 2016-06-07 Freescale Semiconductor, Inc. Systems and methods for determining instruction execution error by comparing an operand of a reference instruction to a result of a subsequent cross-check instruction
CN102567276B (zh) * 2011-12-19 2014-03-12 华为技术有限公司 基于多通道的数据传输方法、接收节点及跨节点互联系统
CN103229442B (zh) * 2012-12-05 2016-08-03 华为技术有限公司 信息传输方法、光交叉站点和信息传输系统
EP2989547B1 (en) * 2013-04-23 2018-03-14 Hewlett-Packard Development Company, L.P. Repairing compromised system data in a non-volatile memory
JP5772911B2 (ja) * 2013-09-27 2015-09-02 日本電気株式会社 フォールトトレラントシステム
CN104065442A (zh) * 2014-07-09 2014-09-24 西安丙坤电气有限公司 一种在采样通信任务中获取接收报文硬件时间戳的方法
CN104216830B (zh) * 2014-09-01 2017-05-10 广州供电局有限公司 设备软件的一致性检测方法及系统

Also Published As

Publication number Publication date
CN106940667A (zh) 2017-07-11
US20170091053A1 (en) 2017-03-30
DE102015218882A1 (de) 2017-03-30

Similar Documents

Publication Publication Date Title
CN103262045B (zh) 具有容错架构的微处理器系统
US9576137B2 (en) Method and system for analyzing integrity of encrypted data in electronic control system for motor vehicle
KR102352068B1 (ko) 복수의 프로세서를 포함하는 기능 안전이 있는 애플리케이션을 위한 전자 시스템에서 프로그램을 실행하는 방법, 대응되는 시스템 및 컴퓨터 프로그램 제품
US10929262B2 (en) Programmable electronic computer in an avionics environment for implementing at least one critical function and associated electronic device, method and computer program
US20150212952A1 (en) Method for the coexistence of software having different safety levels in a multicore processor system
US10761916B2 (en) Method for executing programs in an electronic system for applications with functional safety comprising a plurality of processors, corresponding system and computer program product
CN106940667B (zh) 检验具有多个计算单元的系统中的计算结果的方法和设备
US10540218B2 (en) Processor system and method for monitoring processors
US20210081546A1 (en) System and method for the cryptographically protected monitoring of at least one component of a device or an apparatus
US20080215913A1 (en) Information Processing System and Information Processing Method
KR20170120029A (ko) 데이터 전송 조작을 방지하기 위한 방법 및 장치
US20220308539A1 (en) Method and device for controlling a driving function
Schiffel et al. Software-implemented hardware error detection: Costs and gains
CN108108262B (zh) 具有检查所选择的存储器访问的硬件检查单元的集成电路
US20230076205A1 (en) Cloud computer for executing at least a partly automated driving function of a motor vehicle, and method for operating a cloud computer
US11940888B2 (en) Technology to provide fault tolerance for elliptic curve digital signature algorithm engines
US11982984B2 (en) Automation system for monitoring a safety-critical process
USRE49043E1 (en) Apparatus and method for communications in a safety critical system
CN116635832A (zh) 用于数据处理的数据处理网络
Yadav et al. Functional Safety for Braking System through ISO 26262, Operating System Security and DO 254
Weiherer et al. Software-Based Triple Modular Redundancy with Fault-Tolerant Replicated Voters
CN118642884A (zh) 用于检查有用数据处理的方法
CN116931825A (zh) 运行存储单元以及执行具有存储器检查的应用程序的方法
CN116931824A (zh) 以计算机辅助的方式运行存储单元和执行应用程序的方法
JP3962956B6 (ja) 情報処理装置および情報処理方法

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