CN114595100A - 在两个不同的计算单元上执行计算过程的方法 - Google Patents

在两个不同的计算单元上执行计算过程的方法 Download PDF

Info

Publication number
CN114595100A
CN114595100A CN202111463934.5A CN202111463934A CN114595100A CN 114595100 A CN114595100 A CN 114595100A CN 202111463934 A CN202111463934 A CN 202111463934A CN 114595100 A CN114595100 A CN 114595100A
Authority
CN
China
Prior art keywords
data
calculation
computing
units
data packets
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
Application number
CN202111463934.5A
Other languages
English (en)
Inventor
C·穆勒
D·恩格曼
M·维茨
P·E·梅佐
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 CN114595100A publication Critical patent/CN114595100A/zh
Pending legal-status Critical Current

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/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/1629Error detection by comparing the output of redundant processing systems
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit

Abstract

本发明涉及一种用于在彼此不同的两个计算单元上执行计算过程的方法,所述两个计算单元以传输数据的方式相互连接,其中从所述两个计算单元中的第一计算单元将存在于所述第一计算单元上的数据分组的第一组识别标识符传送到所述两个计算单元中的第二计算单元,其中由所述第二计算单元在考虑所述第一组识别标识符和存在于所述第二计算单元上的数据分组的情况下确定要用于所述计算过程的数据分组作为输入数据,其中从所述第二计算单元将要用于所述计算过程的数据分组的第二组识别标识符传送到所述第一计算单元,以及其中由所述两个计算单元分别使用对应于所述第二组识别标识符的数据分组作为输入数据来执行所述计算过程。

Description

在两个不同的计算单元上执行计算过程的方法
技术领域
本发明涉及一种用于在彼此不同的两个计算单元上执行计算过程的方法,以及用于执行该方法的系统和计算机程序。
背景技术
在安全相关系统中,可能需要在不同的计算单元上冗余地执行或计算特定的计算过程,以识别结果中的错误,所述特定的计算过程例如是在应用中所需要的。为了实现这一点,需要对输入数据进行同步。这可以例如通过中央数据分发或在参与计算单元上维护数据输入表来实现,这例如在US 5 912 814 A中描述。
发明内容
根据本发明,提出了具有独立权利要求特征的用于在两个计算单元上执行计算过程的方法以及用于执行该方法的系统和计算机程序。有利的设计是从属权利要求和以下描述的主题。
本发明涉及在彼此不同的两个计算单元上执行计算过程,所述两个计算单元以传输数据的方式相互连接,例如经由必要时也无线的网络或诸如总线体系架构的另外的通信系统,所述计算单元绑定到所述网络或另外的通信系统中。同样,在此所述计算单元之一可以由例如云的远距离布置的服务器形成,即两个计算单元也可以在空间上彼此(远离)分开地布置。所述计算单元可以是例如两个控制设备,例如在车辆中,但也可以是例如两个处理器或处理器核,所述处理器或处理器核于是又可以是(单个)控制设备的一部分。在此决定性因素仅仅是:一个特定的计算过程应该执行两次并且在此过程中彼此分开地执行。例如,当应该计算或需要具有一定安全级别的特定数据时,可能会存在这种状况。
对此的具体示例是所谓的SIL要求(SIL在此代表“安全完整性级别”,SafetyIntegrity Level)或ASIL要求(ASIL在此代表“汽车安全完整性级别”,Automotive SafetyIntegrity level),其中计算过程中的错误率只允许具有一定的值。如果在彼此不同的两个计算单元上彼此独立地执行同一个计算过程,其中各个计算单元对于该计算过程分别具有特定的错误率,则由于分开的执行可以通过将两个计算单元的错误率相乘来获得整体错误率(在这种情况下,当然会识别出两个计算单元提供不同结果的情况,但两次出现相同错误的概率相应较低)。例如,仅当不同计算单元上的冗余计算过程提供相同结果时,SIL4数据分组才有效或被视为有效。
所述计算过程最终可以是对特定输入数据执行的任何计算过程。例如,可以想到用于扭矩协调、运行和切换策略、高压和48V协调、充电控制、车载诊断、监视、热管理、空调控制、车门操作、行驶控制以及更多。
然而,这以两个计算单元具有用于所述计算过程的相同输入数据或所述相同输入数据可供所述两个计算单元使用为前提。因此,所述输入数据必须是同步的或将被同步。于是,计算过程本身不必同步运行。
开头提到的中央数据分发或维护数据输入表的可能性本身虽然满足了这一要求,然而,为此所需的数据流量相对较高并且导致网络中的高负载。在此背景下,提出了一种可能性,其中不需要中央数据分发或数据输入表的同步,并且特别是还可以在面向服务的体系架构环境中使用。因为正是在面向服务的体系架构中,数据输入表的同步或中央数据分发会限制底层概念。
在面向服务的体系架构中,数据或信息作为服务(service)在计算机复合体中提供。也就是说,每个计算单元都可以订购所需要的服务,然后获得所发送的数据。在当前情况下,两个计算单元将订购相同的服务并相应地获得数据。如果所述数据仅由两个计算单元之一接收,然后该计算单元负责分发到另一计算单元,则网络中的数据流量将相应增加。
在这种情况下,首先可以假设数据或数据分组分布在具有计算单元的网络中并且因此在计算单元本身上也存在。数据分组在此应理解为特定的数据群或数据集,特别是也将识别标识符(ID)分配或可以分配给所述数据群或数据集,所述识别标识符使得该数据分组可被明确识别。这种识别标识符在此可以是数据分组本身的一部分,或者也可以是底层通信协议的一部分。例如,在CAN协议的情况下向特定的消息分配特定的ID。
现在从两个计算单元中的第一计算单元向两个计算单元中的第二计算单元传送存在于第一计算单元上的数据分组(这可以是存在于第一计算单元上的所有数据分组或其子集)的第一组识别标识符。第二计算单元因此知道哪些数据分组存在于第一计算单元上,因为这些数据分组可以通过识别标识符得到识别。然后,第二计算单元在考虑第一组识别标识符和存在于第二计算单元上的数据分组的情况下确定将用作所述计算过程的输入数据的那些数据分组。在此,最终要用作输入数据的数据分组应该在两个计算单元上都存在。
然后从第二计算单元将要用于所述计算过程的数据分组的第二组识别标识符传送到第一计算单元。因此,所述第一计算单元也知道哪些数据分组应该用于所述计算过程,并且特别是这些数据分组也存在于第二计算单元上。然后由两个计算单元分别使用对应于第二组识别标识符的数据分组作为输入数据来执行所述计算过程。然后可以分别提供所述计算过程的结果以用于比较,特别是传送到其他计算单元。
在这种背景下应该提到的是,术语“数据分组”这里应一般性理解;即,原则上也可以在一个计算单元的情况下只存在一个数据分组或者只应该有一个数据分组用于所述计算过程。
这种过程的优点是其也可以用于非确定性网络和/或非时间同步网络,也可以用于确定性网络,如TSN或FlexRay。在此减少了通信网络中的负载,因为仅交换ID或识别标识符,但不发生或不必发生全部数据分组的交叉式交换。通过取消中央数据管理(所述中央时间管理同样是潜在的错误来源),提高了安全性和可用性。
例如,对于应用必须设定所述计算过程需要哪些数据分组。如果在特定时间点存在来自不同来源的数据分组,则需要一种机制来选择数据的组合(要用作输入数据的数据分组)并将该信息提供给另外的计算单元。只有这样才确保在计算时可以计算出相同的结果。这正是使用所提出的过程来实现的。
优选地,仅当第二组识别标识符包含预给定的额定识别标识符时,两个计算单元才执行所述计算过程。因此可以定义必须为计算而存在或是功能或应用所需要的最小范围的数据分组。因此可以确保仅执行以下计算过程,这些计算过程的结果也可以在以后进一步使用。在这种背景下还应该提到的是,通常在两个计算单元上都存在所需要的数据分组,从而通过识别标识符的比较来检查实际情况是否也是如此。这有时对于安全相关的方面也是必要的。
在这种背景下还应该提到的是,如果在两个计算单元中的一个计算单元上不存在所有与额定识别标识符对应的数据分组,则可以将缺失的数据分组从具有所有必要数据分组的一个计算单元传送到两个计算单元中的另一个计算单元(其中缺失具有特定额定识别标识的数据分组)。因此,如有必要,这种对单侧未接收或不存在的输入数据的交换同样是可能的,但会增加网络中的数据速率。
还应该提到的是,该过程还可以扩展到多于两个计算单元,在每个计算单元上都应该执行相同的计算过程。为此,例如一个计算单元(其于是将是在上述解释意义上的第二计算单元)可以从所有另外的计算单元(于是它们全部是上述解释意义上的第一计算单元)接收信息(在上述第一组ID的意义上):哪些数据分组存在于那里。所述一个计算单元然后可以检查是否存在数据分组的重叠以及这些数据分组是否对应于额定输入数据。然后可以将要用于所述计算过程的数据分组(在第二组ID的意义上)传送到所述另外的计算单元。这例如代表了一种尤其是提高防失效安全性的措施。此外还可能的是,如果例如第一计算单元的计算能力较小,则将该机制用于实现分布式计算。
在此,本发明还利用了面向服务体系架构的优点(数据可以由任何获得授权的网络参与者接收)并增加了一种机制来确保在任何情况下相同的输入数据都在分布式计算单元上可用于冗余执行的计算。
根据本发明的系统,例如机动车辆的具有两个处理器的控制设备或由两个控制设备组成的复合体,特别是以程序技术设置为执行根据本发明的方法。
以具有用于执行所有方法步骤的程序代码的计算机程序或计算机程序产品的形式实现根据本发明的方法是有利的,因为这导致特别低的成本,特别是在执行控制设备还用于其他任务并且因此无论如何都存在的情况下。适用于提供所述计算机程序的数据载体特别是磁的、光的和电的存储器,例如硬盘驱动器、闪存、EEPROM、DVD等。程序也可以经由计算机网络(互联网、内联网等)下载。
本发明的其他优点和设计从说明书和附图中得出。
附图说明
基于附图中的实施例示意性地示出本发明并且在下面参照附图描述本发明。
图1示意性地示出了具有两个计算单元的系统,其中可以执行根据本发明的方法。
具体实施方式
图1中示意性地示出了具有两个计算单元110、120的系统100,其中可以执行根据本发明的方法,并且应该基于该系统在优选实施方式中解释根据本发明的方法的流程。
两个计算单元110、120可以是例如控制设备的两个处理器或微处理器。它们经由网络130(例如以太网或处理器总线)以传输数据的方式相互连接。在两个微处理器110、120上都运行应用101,例如SIL-4应用,在该应用的范围中应该在两个微处理器110、120上都执行计算过程。
在微处理器110、120上应该存在或已存在数据分组DP,向每个数据分组分配了识别标识符ID。示例性地,具有ID1、2、3和4的数据分组应该存在于微处理器120上,具有ID1、3和4的数据分组应该存在于微处理器110上。具有ID2的数据分组在这里缺失,这通过阴影线表示。微处理器110、120可能已经由网络130获得了这些数据分组。
为了同步要用于所述计算过程的输入数据,微处理器110(在第一计算单元的意义上)现在将第一组G1 ID传送到微处理器120(在第二计算单元的意义上),第一组ID在那里被接收到。该第一组G1这里包括微处理器110上存在的所有数据分组的ID,即ID1、3和4。因此在微处理器120上知道哪些数据分组存在于两个微处理器上。这用具有ID1、3和4的数据分组显示。
现在,微处理器120在考虑第一组G1和存在于第二计算单元上的数据分组的情况下确定要用于所述计算过程的数据分组(在那里作为输入数据)。在所示的示例中,这对应于具有ID1的数据分组。这些ID——这里只有ID1——然后作为第二组G2被传送到微处理器110,所述第二组G2在那里被接收到。
两个微处理器110、120现在使用与ID1相关联的数据分组作为输入数据150,由此执行计算过程155。本身相同或应该在任何情况下相同的计算过程155在微处理器110中提供结果161,在微处理器120中提供结果162。
这些结果161、162然后可以从微处理器110、120经由网络130传送到其他计算单元140,例如用作所谓的投票者的微控制器。可以在那里进行结果161、162的比较165。如果两个结果161、162相同,则可以考虑进一步使用这些结果或仅其中之一。

Claims (9)

1.一种用于在彼此不同的两个计算单元(110、120)上执行计算过程(155)的方法,所述两个计算单元以传输数据的方式相互连接,
其中从所述两个计算单元中的第一计算单元(110)将存在于所述第一计算单元(110)上的数据分组(DP)的第一组(G1)识别标识符(ID)传送到所述两个计算单元中的第二计算单元(120),
其中由所述第二计算单元(120)在考虑所述第一组(G1)识别标识符和存在于所述第二计算单元(120)上的数据分组(DP)的情况下确定要用于所述计算过程(155)的数据分组作为输入数据,
其中从所述第二计算单元(120)将要用于所述计算过程的数据分组的第二组(G2)识别标识符传送到所述第一计算单元(110),以及
其中由所述两个计算单元(110、120)分别使用对应于所述第二组(G2)识别标识符的数据分组作为输入数据(150)来执行所述计算过程(155)。
2.根据权利要求1所述的方法,其中由所述两个计算单元(110、120)分别提供所述计算过程(155)的结果(161、162)以用于比较(165),特别是传送到其他计算单元(140)。
3.根据权利要求1或2所述的方法,其中仅当所述第二组(G2)识别标识符包含预给定的额定识别标识符时,所述两个计算单元(110、120)才执行所述计算过程(155)。
4.根据权利要求3所述的方法,其中如果在所述两个计算单元(110、120)中的一个计算单元上不存在所有与所述额定识别标识符对应的数据分组,则将缺失的数据分组传送到所述两个计算单元中的另一个计算单元。
5.根据前述权利要求中任一项所述的方法,其中所述两个计算单元(110、120)均被构造为控制设备的处理器或处理器核。
6.根据权利要求1至4中任一项所述的方法,其中所述两个计算单元均被构造为控制设备。
7.一种系统(100),具有两个以传输数据的方式相互连接或可相互连接的计算单元(110、120),所述系统被设置为执行根据前述权利要求中任一项所述的方法的所有方法步骤。
8.一种计算机程序,当所述计算机程序在具有两个以传输数据的方式相互连接或可相互连接的计算单元(110、120)的系统(100)上执行时,所述计算机程序促使所述系统(100)执行根据权利要求1至6中任一项所述的方法的所有方法步骤。
9.一种机器可读存储介质,其上存储有根据权利要求8所述的计算机程序。
CN202111463934.5A 2020-12-04 2021-12-03 在两个不同的计算单元上执行计算过程的方法 Pending CN114595100A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020215332.9A DE102020215332A1 (de) 2020-12-04 2020-12-04 Verfahren zum Durchführen eines Berechnungsvorgangs auf zwei verschiedenen Recheneinheiten
DE102020215332.9 2020-12-04

Publications (1)

Publication Number Publication Date
CN114595100A true CN114595100A (zh) 2022-06-07

Family

ID=81655390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111463934.5A Pending CN114595100A (zh) 2020-12-04 2021-12-03 在两个不同的计算单元上执行计算过程的方法

Country Status (2)

Country Link
CN (1) CN114595100A (zh)
DE (1) DE102020215332A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912814A (en) 1997-05-07 1999-06-15 Allen-Bradley Company, Llc Redundant multitasking industrial controllers synchronized data tables
DE102015218898A1 (de) 2015-09-30 2017-03-30 Robert Bosch Gmbh Verfahren zur redundanten Verarbeitung von Daten
DE102016108569B4 (de) 2016-05-10 2024-02-22 Dspace Gmbh Verfahren und Vorrichtung zum Austausch von Daten

Also Published As

Publication number Publication date
DE102020215332A1 (de) 2022-06-09

Similar Documents

Publication Publication Date Title
Fredriksson CAN for critical embedded automotive networks
US7873739B2 (en) Voting mechanism for transmission schedule enforcement
US8559300B2 (en) Redundant communications network
Kimm et al. Integrated fault tolerant system for automotive bus networks
Kopetz A solution to an automotive control system benchmark
WO2006080433A1 (ja) 情報処理装置および情報処理方法
WO2016007477A1 (en) System, method, and apparatus for generating vital messages on an on-board system of a vehicle
CN113474230A (zh) 安全系统和用于运行安全系统的方法
KR102021567B1 (ko) 분산 네트워크 시스템의 전자 제어 장치 및 상기 전자 제어 장치의 분산 합의 프로토콜 방법
US10409666B2 (en) Method and device for generating an output data stream
Fuehrer et al. FlexRay-the communication system for future control systems in vehicles
CN114595100A (zh) 在两个不同的计算单元上执行计算过程的方法
Marques et al. Tolerating transient communication faults with online traffic scheduling
EP3758301B1 (en) An apparatus and a method for providing a redundant communication within a vehicle architecture and a corresponding control architecture
CN112953897B (zh) 一种基于云计算设备的列控系统边缘安全节点的实现方法
Marques et al. Efficient transient error recovery in FlexRay using the dynamic segment
Echtle Fault-Tolerant Communication in Safety-Relevant Automotive Applications
EP4095689A1 (en) Monitoring a time schedule of a first thread running on a control unit
Crenshaw et al. A pattern for adaptive behavior in safety-critical, real-time middleware
Silva et al. Master replication and bus error detection in FTT-CAN with multiple buses
Mitzlaff et al. A membership service for a distributed, embedded system based on a time-triggered flexray network
CN114579987A (zh) 用于将数字钥匙储存在控制器中的方法
CN116566800A (zh) 面向中央计算与区域协同控制架构的网络诊断方法及装置
Cao et al. A real-time planning-based scheduling policy with can for automotive communication systems
Wei et al. An Overview and Comparison of Time-Triggered Protocols For X-By-Wire Applications

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