EP4232905A1 - Data processing network for performing data processing - Google Patents
Data processing network for performing data processingInfo
- Publication number
- EP4232905A1 EP4232905A1 EP21794795.1A EP21794795A EP4232905A1 EP 4232905 A1 EP4232905 A1 EP 4232905A1 EP 21794795 A EP21794795 A EP 21794795A EP 4232905 A1 EP4232905 A1 EP 4232905A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data processing
- module
- data
- network
- modules
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 279
- 230000001360 synchronised effect Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 19
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 description 24
- 238000013459 approach Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/023—Avoiding failures by using redundant parts
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1487—Generic software techniques for error detection or fault masking using N-version programming
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- 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/83—Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures
Definitions
- Systems for driver assistance or automated driving consist of many individual software units, which can usually be described with graphs with regard to the data flow. These software units (often also called runnables, nodes or data processing components) are characterized by the fact that a quantity of input data is processed and a quantity of output data is generated from it.
- the various software units regularly form a complex data processing network with which sensor data is processed in order to carry out actions based on the sensor data. Such actions can be, for example, control tasks within the scope of autonomous ferry operation of a vehicle.
- Data processing in the data processing network usually includes a plurality of data processing steps or data processing tasks that build on one another and are executed with the data processing components.
- the probability of systematic and sporadic hardware errors must not exceed a specified frequency that is related to the risk and the expected damage to the system functions. Because newly developed driver assistance systems are regularly used in parallel in a large number of vehicles and the risk has to be assessed in relation to the entire vehicle fleet equipped accordingly, the acceptable probability of the occurrence of hardware errors is extremely low. Compared to today's high-end processors, the computing power of commonly available microcontrollers that meet these security levels is very limited. Their maximum clock rate is around 10% (300 MHz vs. 3 GHz) and there are no internal optimizers, which are standard with off-the-shelf microprocessors (pP) and play a large part in their performance.
- a data processing network is described here for the redundant and validated implementation of a plurality of successive data processing steps, each of which is used to generate output data from input data, with output data from a first data processing step being at least partially simultaneously input data for a further data processing step, with at least one first data processing step being required for the implementation of each data processing step
- Data processing module and a second data processing module are provided, wherein the data processing network further has a comparator module, wherein the first data processing modules and the second data processing modules are set up to transmit control parameters of the individual data processing steps to the comparator module and the comparator module is set up to carry out at least one comparison of corresponding control parameters, those of the first data processing modules and d en second data processing modules, and based on this comparison to provide at least one synchronized control parameter, which includes control information regarding at least one performed data processing step.
- the basic approach is that separate hardware (separate cores) is used for the first data processing module and the second data processing module, which has a high computing power and both carry out the same calculation.
- the comparator module compares the calculations and only if the calculation result is the same is it used for further data processing in the data processing network. The equality is monitored by the data processing module using the control parameters, and the synchronized control parameter is used in the data processing network to control the control flow of the data processing.
- the points at which the first data processing module and the second data processing module provide the control parameters in order to then forward them to the comparator module are also regularly referred to as synchronization points.
- a software lockstep is to be distinguished from a hardware lockstep.
- a hardware lockstep requires significantly more complex hardware.
- the hardware lockstep not claimed here is regularly implemented in such a way that hardware is used which executes each calculation step of the software programs operated on it twice. This means that the software program itself only runs once on the hardware. An operating system sees only one instance of the respective software program. Below the one operating system level, the hardware executes each step of the software twice.
- the software lockstep described here means that the program is executed twice, twice at the operating system level. If necessary, two independent operating systems (a first operating system on the first data processing module with a first hardware/core and a second operating system on the second data processing module with a second hardware/core) can be operated, which each (and thus twice) execute the respective data processing steps .
- a software lockstep can also be operated on an operating system, in which case the instruction may then be given at the operating system level to use different hardware (two different cores) for double execution.
- a hardware lockstep always means that additional hardware (circuits, transistors, etc.) must be required for an additional redundant design, which is located below the operating system level and which the operating system cannot recognize as being separate from one another, but is different from the point of view of the operating system Operating system like a piece of hardware.
- first data processing module and the second data processing module are designed with identical software and hardware that is identical in terms of its specification (identical cores) is also used. As long as the respective data processing module or the underlying hardware is functioning correctly, the same input data also produce the same output data in both data processing modules.
- the next data processing step is carried out ad hoc, The exact process does not have to be known a priori, which means that there is a high level of flexibility.
- the order of execution is dictated by the primary engine.
- the dependent secondary modules calculate “blindly” so to speak. Therefore, the order of execution - if at all - can only be checked using invariants or general rules. This results in the same security classification for the control flow as for the respective hardware used individually.
- a high ASIL-D level cannot be achieved with such architectures. In other words: by recalculating with the secondary modules, it can be determined later that the calculations in the primary module could have been incorrect - but then it is already too late, because the results of the calculations would have been needed beforehand.
- the comparison of the calculations can only take place after the end of the redundant calculation step and the subsequent communication of the results.
- the time until an error is noticed in the calculation has doubled due to the principle. This results in an increased error latency, possibly also an unnecessary latency in the regular process.
- the data processing network presented and the data processing methods implemented with it enable sufficient performance for highly autonomous driving.
- the presented data processing network enables a combined time- and data-driven architecture. This means that, compared to approaches with an a priori fixed execution order, a flexible execution order is possible in the software lockstep.
- a software lockstep approach that is carried out in parallel but is not based on time slices is selected, which is implemented on at least two microprocessors (the first data processing module and the second data processing module) as computing units and a control component that is based on additional, trustworthy hardware (the comparator module) is running.
- This control unit which corresponds to the safety target standard, synchronizes the process on the computing units and compares their results.
- the structure of the data processing network described corresponds to the decomposition of a security-critical task. This results in a reduced ASIL requirement for the individual computing units, so that an ASIL-D classification of the overall system can already be achieved with the high-performance processors that exist today.
- Every calculation step that is started by a control event is data-deterministic. This means that identical input data always lead to the same output data given the same initial state. It is particularly advantageous if the comparison of the control parameters includes an identity check and a synchronized control parameter requires an identity of the control parameters from the first data processing module and the second data processing module.
- the data processing network is set up to use synchronized control parameters provided by the comparator module in order to control further data processing of the output data with further data processing steps of the data processing network.
- the synchronized control parameter is a validity parameter which contains validity information relating to at least one data processing step that has been carried out.
- the data processing network has at least one sequencing module which is set up in each case to sort and synchronize control parameters from the data processing modules and/or the data processing steps and then to forward these to the comparator module with a sorting, so that the comparator module can process synchronized control parameters independently of can determine the order in which the data processing modules have executed the data processing steps.
- the sequencing module is used in particular to understand the order in which data processing steps are completed in the individual data processing modules and in particular on the hardware that is available in each case. In this way, availability of the hardware for carrying out further data processing tasks can be determined.
- the sequencing module is assigned to the data processing module and transmits the control parameters to the comparator module or the (third) hardware component on which the comparator module is operated.
- control parameters of the two data processing modules are synchronized with one another and, if necessary, form control parameter tuples that are supplied to the comparator module.
- the synchronizer and the comparator module preferably together form a central unit that is operated on a (third) hardware component.
- the synchronizer achieves flexibility in the execution order of the data processing steps.
- the hardware of the respective data processing module can (if this hardware has finished carrying out a data processing step) also be used to carry out further data processing steps.
- the same data processing step is carried out on the first data processing module and the second data processing module, if the process is successful, the same control and data events are generated on each as on the other, but can be generated in a different order due to the parallel processing on the units.
- the central unit (consisting of the comparator module and synchronizer) now temporarily stores events (control parameters) until the appropriate event (the corresponding control parameter) has arrived from all data processing modules.
- the associated control parameters can then be compared and evaluated if they are the same, or the synchronized control parameter can be output.
- an additional task distribution module which then plans and commissions the starting of the individual (next) data processing steps on the respective hardware when synchronized control parameters are available from the hardware module, so that a particularly good utilization of the hardware can be achieved.
- the task distribution module preferably sends a type of stimulus to the individual data processing modules in order to activate them.
- the use of the central processing unit or the third hardware component and the comparator module does result in a slight increase in the latency between the execution of two data processing tasks. Overall, however, this increase in latency is acceptable, especially when compared to common primary/secondary module architectures.
- an error can be determined. Depending on the application, this can entail recalculation or an abort of data processing with the data processing network.
- Stimuli are found by the central processing unit in a certain way. Whenever a correct calculation result was determined by the comparator module by comparing control parameters and a synchronized control parameter could be calculated, a stimulus was found, so to speak, which triggers further data processing, the output data calculated with the respective first data processing module and the respective second data processing module required as input data.
- the central unit In order to find any stimuli for the execution of further calculation steps, the central unit not only evaluates all received data events (control parameters), but also events that indicate the end of a previous calculation step ('End' or 'DistributeSamples'). In addition, time events can be generated as stimuli for a time-driven execution.
- the central unit manages the timeline (common logical timeline) of data processing already described above.
- first data processing modules are implemented with first hardware components and second data processing modules with second hardware components, with first hardware components and second hardware components being physically separate from one another.
- At least one of the data processing modules has a hardware component that does not conform to ASIL-D. It is particularly advantageous if both hardware components of the data processing modules are not ASIL-D compliant.
- comparator module is implemented using third hardware components that are physically separate from the first hardware components and the second hardware components.
- the third hardware component conforms to ASIL-D.
- the comparator module has a data memory in which determined control parameters are stored with time information, so that a logical timeline is created which depicts the sequence in which the data processing steps are processed with the data processing modules of the data processing network.
- a hardware component of the data processing module is significantly more powerful than a hardware component of the comparator module.
- the possible performance differences between the third hardware component of the comparator module and the (first and second) hardware components of the data processing modules depend on the respective application of the data processing network. For example, it is usual for a processor clock of the first and second hardware component to be at least 5 times, possibly even 10 times, the processor clock of the third hardware component.
- control parameters can be calculated as the checksum (CRC) for large amounts of data as output data, if necessary, and only these are used together with the unique packet identification ( alias Meta-Sample) is sent to the comparator module as a control parameter.
- CRC checksum
- the actual flow of output data from a data processing step as input data to the next data processing step can take place on the first hardware component and the second hardware component (and possibly also on other hardware components) independently of one another or in parallel, with data transmission interfaces between different hardware components exist, which are also independent of the central processing unit or the comparator module.
- the central processing unit or the comparator module then does not check the original data but, for example, their checksums, which leads to a bit-by-bit comparison of the original content. It should be noted here that the first hardware component and the second hardware component must temporarily buffer the original data packets until they have been confirmed by the comparator and can be delivered.
- the comparison of the control parameters includes a check as to whether an error that has occurred during data processing in the first data processing module and/or in the second data processing module is below a tolerance limit and the synchronized control parameter is generated in this case. This means in particular that in such cases the synchronized control parameter may be generated even though an error has occurred which is below the tolerance limit.
- a method for operating a described data processing network having at least the following steps: a) carrying out a data processing step with a first data processing module and generating a first control parameter which is suitable for checking the carrying out of the data processing step with the first data processing module, b) independently of step a), performing the same data processing step with a second data processing module and generating a second control parameter which is suitable for checking the performance of the data processing step with the second data processing module; c) performing a comparison of corresponding control parameters from the first data processing module and the second Data processing module were transmitted with a comparator module and based on this comparison, providing at least one synchronized control parameter, which contains control information regarding at least one data processing step carried out.
- the 1 shows a described data processing network 1 in a motor vehicle 23. It is shown here by way of example that the data processing network 1 is used to process data from sensors 19 and that an output data receiver 20 is supplied with data by the system. Such an output data receiver 20 can be, for example, a system for autonomous ferry operation or a similar system.
- the data processing network 1 is used, for example, to reduce the sensor data to decision-relevant parameters, which can be output data 4 from the data processing network 1 .
- the data processing network 1 also includes hardware components on which the data processing network 1 or its components and modules can be operated.
- the data processing network 1 carries out individual data processing steps 2 which build on one another.
- Output data 4 from a data processing step 2 can be input data 3 from a further data processing step 2 .
- Each data processing step 2 is implemented here with a plurality of data processing modules 5, 6 that are executed as independently as possible.
- a first data processing module 5 and a second data processing module 6 are shown here. More than two data processing modules can also be provided, which carry out a data processing step 2 (in parallel).
- the data processing network 1 also includes other components which will be explained in more detail with reference to the other figures. This includes, in particular, the comparator module 7 and possibly also a synchronizer 27, which are only indicated schematically here.
- FIG. 2 chooses a different representation of the described data processing network 1.
- three arrows are shown one below the other, which define the individual hardware components and at the same time also reflect the individual method steps a), b) and c) of the method described.
- the arrows offer a representation of the processes on the respective hardware components on a logical timeline 17.
- the upper arrow is a first hardware component 12 on which first data processing modules 5 are implemented.
- the lower arrow is a second hardware component 13 on which second data processing modules 6 are implemented.
- the middle arrow is a third hardware component 14 on which the comparator module 7 is implemented.
- Data processing steps 2 of the data processing network 1 are carried out in first data processing modules 5 and second data processing modules 6 .
- a control parameter 8 is transmitted to the comparator module 7, which then, by comparing the control parameters 8, detects whether the data processing step 2 was carried out correctly (ie error-free).
- the comparator module 7 then generates synchronized control parameters 9, which are used to trigger further data processing steps 2, which then further process output data from previous data processing steps 2 (not shown here).
- the comparator module 8 and the associated components can also be used as the central unit 24 of the described Data processing network 1 are understood.
- the synchronized control parameters 9 can be understood as stimuli 25 for triggering further data processing steps 2 .
- FIG 3 shows the parallel processing of a data processing step 2 by a first data processing module 5 and by a second data processing module 6 in even more detail. It can be seen that the first data processing module 5 is implemented on a first hardware component 12 , while the second data processing module 6 is implemented on a second hardware component 13 . The first data processing module 5 and the second data processing module 6 each process the same input data 3 and should also generate the same output data 4 in each case.
- a data processing step 2 or a data processing module 5, 6 can be further subdivided into a plurality of individual data processing components 18, each of which relates to sub-steps of data processing.
- the data processing step 2 or the data processing module 5 , 6 as they are defined here therefore relate to pre-groupings of sub-steps that have been sensibly selected or specified depending on the application and are executed with the data processing components 18 .
- the pre-grouping of sub-steps is preferably selected in such a way that no data storage is required within a data processing step 2 or a data processing module 5.6 and that, in particular, no data other than the input data is accessed for the execution.
- the first data processing module 5 and the second data processing module 6 each generate control parameters 8 which are evaluated by the comparator module 7 .
- the comparator module 7 is implemented on a third hardware component 14, which is independent of the first hardware component 12 and the second hardware component 13, which forms a central unit 24 and which preferably offers the higher security (higher ASIL level) of the execution already described above.
- each data processing module 5, 6 is preceded by a sequencing module 11 for obtaining the control parameters 8 from the data processing and the comparator module 7 is preceded by a synchronizer 27 here.
- the comparator module 7 can be followed by a task distribution module 22, which outputs synchronized control parameters 9 or stimuli 25 for triggering further data processing steps 2.
- Synchronizer 27, comparator module 7 and task distribution module 22 can be implemented together on the third hardware component 14 as the central unit 24 described.
- the data processing network 1 described is preferably operated in such a way that data processing steps 2 are carried out on the hardware that is available and not fully utilized.
- the task distribution module 22 can cause this distribution of the data processing steps 2 to the available hardware.
- the execution of the data processing steps 2 carried out takes a different amount of time on each piece of hardware.
- the synchronizer 27 achieves a sorting of the incoming control parameters 8 so that the comparator module 7 then compares the correct control parameters 8 with one another, even when the hardware is heavily loaded, in order to generate correct synchronized control parameters 9 .
- control parameters 8 are transferred from the synchronizer 27 to the comparator module 7 as control parameter tuples 28 . It is not necessary for input data 3 and output data 4 to be transferred from one data processing step 2 to the next data processing step 2 via the central processing unit 24 or the comparator module 7 .
- FIG. 4 Another illustration of the method described is selected in FIG. 4, in which method steps a), b) and c) are carried out for each data processing step 2.
- the actual data processing steps 2 are always executed redundantly in relation to one another with the first data processing module 5 and with the second data processing module 6.
- a check is then carried out with the comparator module 7 as to whether the data processing step 2 has been carried out correctly before the next data processing step 2 is started.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Hardware Redundancy (AREA)
Abstract
A data processing network (1) for performing a multiplicity of successive data processing steps (2) in a redundant and validated manner, said data processing steps each being used to generate output data (4) from input data (3), wherein at least some output data (3) from a first data processing step (2) are at the same time input data (3) of a further data processing step (2), wherein at least one first data processing module (5) and one second data processing module (6) are provided for performing each data processing step (2), wherein the data processing network (1) furthermore has a comparator module (7), wherein the first data processing modules (5) and the second data processing modules (6) are designed to transmit control parameters (8) of the individual data processing steps (2) to the comparator module (7) and the comparator module (7) is designed to perform at least one comparison of corresponding control parameters (8) that have been transmitted by the first data processing modules (5) and the second data processing modules (6) and, based on this comparison, to provide at least one synchronized control parameter (9) that contains control information relating to at least one data processing step (2) that has been performed.
Description
Titel title
Datenverarbeitungsnetzwerk zur Datenverarbeitung Data processing network for data processing
Stand der Technik State of the art
Systeme für Fahrerassistenz oder automatisiertes Fahren bestehen aus vielen einzelnen Software- Einheiten, die in der Regel bezüglich des Datenflusses mit Graphen beschrieben werden können. Diese Software- Einheiten (oft auch Runnables, Nodes oder Datenverarbeitungskomponenten genannt) zeichnen sich dadurch aus, dass eine Menge von Eingangsdaten verarbeitet werden und daraus eine Menge von Ausgangsdaten erzeugt werden. Systems for driver assistance or automated driving consist of many individual software units, which can usually be described with graphs with regard to the data flow. These software units (often also called runnables, nodes or data processing components) are characterized by the fact that a quantity of input data is processed and a quantity of output data is generated from it.
In den zuvor genannten Systemen werden Eingangsdaten von Sensoren wie Radar oder Video in einem Graphen aus Datenverarbeitungskomponenten verarbeitet, der in einer statischen Sicht den Datenfluss visualisiert. In the systems mentioned above, input data from sensors such as radar or video are processed in a graph of data processing components, which visualizes the data flow in a static view.
Die verschiedenen Software- Einheiten bilden regelmäßig ein komplexes Datenverarbeitungsnetzwerk mit welchem Sensordaten verarbeitet werden, um basierend auf den Sensordaten Aktionen durchzuführen. Solche Aktionen können beispielsweise Steuerungsaufgaben im Rahmen eines autonomen Fährbetriebs eines Fahrzeugs sein. Die Datenverarbeitung in dem Datenverarbeitungsnetzwerk umfasst üblicherweise eine Mehrzahl aufeinander aufbauender Datenverarbeitungsschritte oder Datenverarbeitungsaufgaben, die mit den Datenverarbeitungskomponenten ausgeführt werden. The various software units regularly form a complex data processing network with which sensor data is processed in order to carry out actions based on the sensor data. Such actions can be, for example, control tasks within the scope of autonomous ferry operation of a vehicle. Data processing in the data processing network usually includes a plurality of data processing steps or data processing tasks that build on one another and are executed with the data processing components.
Als Teil der Anforderungen an die funktionale Sicherheit von Fahrerassistenzsystemen und dem (hoch-)automatisierten Fahren (HAD) darf die Wahrscheinlichkeit für systematische und sporadische Hardwarefehler eine vorgegebene Häufigkeit nicht überschreiten, die in Relation zum Risiko und dem zu erwartenden Schaden der Systemfunktionen steht. Weil neu entwickelte Fahrerassistenzsysteme regelmäßig in einer großen Vielzahl von Fahrzeugen parallel zueinander im Einsatz sind und das Risiko in Bezug auf die gesamte entsprechend ausgestatte Fahrzeugflotte zu bewerten ist, ist die akzeptable Wahrscheinlichkeit für das Auftreten von Hardwarefehlern außerordentlich gering.
Im Vergleich mit den heutigen High-End-Prozessoren ist die Rechenleistung von üblichen verfügbaren Mikrocontroller, die diese Sicherheitslevel erfüllen, sehr begrenzt. Ihre maximale Taktung liegt bei ca. 10% (300 MHz vs. 3 GHz) und es fehlen interne Optimierer, wie sie bei den off-the-shelf Mikroprozessoren (pP) Standard sind und einen großen Anteil an deren Performance haben. As part of the requirements for the functional safety of driver assistance systems and (highly) automated driving (HAD), the probability of systematic and sporadic hardware errors must not exceed a specified frequency that is related to the risk and the expected damage to the system functions. Because newly developed driver assistance systems are regularly used in parallel in a large number of vehicles and the risk has to be assessed in relation to the entire vehicle fleet equipped accordingly, the acceptable probability of the occurrence of hardware errors is extremely low. Compared to today's high-end processors, the computing power of commonly available microcontrollers that meet these security levels is very limited. Their maximum clock rate is around 10% (300 MHz vs. 3 GHz) and there are no internal optimizers, which are standard with off-the-shelf microprocessors (pP) and play a large part in their performance.
Hiervon ausgehend soll ein neuartiger Ansatz zum Aufbau eines Datenverarbeitungs-netzwerks für ein Kraftfahrzeug beschrieben werden, welcher eine Lösung für die begrenzten Rechenleistungen von üblichen verfügbaren Mikrocontrollern für derartige Sicherheitslevels adressiert. Based on this, a novel approach to the construction of a data processing network for a motor vehicle is to be described, which addresses a solution for the limited computing power of commonly available microcontrollers for such security levels.
Offenbarung der Erfindung: Disclosure of Invention:
Hier beschrieben wird ein Datenverarbeitungsnetzwerk zur redundanten und validierten Durchführung einer Mehrzahl von aufeinanderfolgenden Datenverarbeitungsschritten, die jeweils dazu dienen, aus Eingangsdaten Ausgangsdaten zu generieren, wobei Ausgangsdaten eines ersten Datenverarbeitungsschrittes zumindest teilweise gleichzeitig Eingangsdaten eines weiteren Datenverarbeitungsschrittes sind, wobei für die Durchführung jedes Datenverarbeitungsschrittes mindestens ein erstes Datenverarbeitungsmodul und ein zweites Datenverarbeitungsmodul vorgesehen sind, wobei das Datenverarbeitungsnetzwerk weiter ein Komparatormodul aufweist, wobei die ersten Datenverarbeitungsmodule und die zweiten Datenverarbeitungsmodule dazu eingerichtet sind Kontrollparameter der einzelnen Datenverarbeitungsschritte an das Komparatormodul zu übermitteln und das Komparatormodul dazu eingerichtet ist, mindestens einen Vergleich sich entsprechender Kontrollparameter, die von den ersten Datenverarbeitungsmodulen und den zweiten Datenverarbeitungsmodulen übermittelt wurden, durchzuführen und basierend auf diesem Vergleich mindestens einen synchronisierten Kontrollparameter bereitzustellen, welcher eine Kontrollinformation bezüglich mindestens eines durchgeführten Datenverarbeitungsschrittes beinhaltet. A data processing network is described here for the redundant and validated implementation of a plurality of successive data processing steps, each of which is used to generate output data from input data, with output data from a first data processing step being at least partially simultaneously input data for a further data processing step, with at least one first data processing step being required for the implementation of each data processing step Data processing module and a second data processing module are provided, wherein the data processing network further has a comparator module, wherein the first data processing modules and the second data processing modules are set up to transmit control parameters of the individual data processing steps to the comparator module and the comparator module is set up to carry out at least one comparison of corresponding control parameters, those of the first data processing modules and d en second data processing modules, and based on this comparison to provide at least one synchronized control parameter, which includes control information regarding at least one performed data processing step.
In dem beschriebenen Datenverarbeitungsnetzwerk wird es ermöglicht, einen Software- Lockstep basierend auf einer Hardware zu realisieren, die die entsprechenden Anforderungen (bspw. ASIL-D-Konformität) nicht von Haus aus
erfüllt. Dies gelingt insbesondere für Datenverarbeitungsnetzwerke, deren Datenverarbeitung hohe Rechenleistungen erfordern, für welche üblicherweise Hardware mit sehr hoher Leistungsfähigkeit erforderlich ist. In the data processing network described, it is possible to implement a software lockstep based on hardware that does not inherently meet the relevant requirements (e.g. ASIL-D conformity). Fulfills. This succeeds in particular for data processing networks whose data processing requires high computing power, for which hardware with very high performance is usually required.
Der Grundansatz ist, dass für das erste Datenverarbeitungsmodul und das zweite Datenverarbeitungsmodul jeweils voneinander getrennte Hardware (voneinander getrennte Cores) verwendet werden, die eine hohe Rechenleistung haben und beide die gleiche Berechnung durchführen. Durch das Komparatormodul erfolgt ein Vergleich der Berechnungen und nur in dem Fall der Gleichheit des Berechnungsergebnisses wird dieses für die weitere Datenverarbeitung in dem Datenverarbeitungsnetzwerk benutzt. Die Gleichheit wird anhand der Kontrollparameter von dem Datenverarbeitungsmodul überwacht und zur Steuerung des Kontrollflusses der Datenverarbeitung wird in dem Datenverarbeitungsnetzwerk der synchronisierte Kontrollparameter verwendet. The basic approach is that separate hardware (separate cores) is used for the first data processing module and the second data processing module, which has a high computing power and both carry out the same calculation. The comparator module compares the calculations and only if the calculation result is the same is it used for further data processing in the data processing network. The equality is monitored by the data processing module using the control parameters, and the synchronized control parameter is used in the data processing network to control the control flow of the data processing.
Die Punkte, an denen das erste Datenverarbeitungsmodul und das zweite Datenverarbeitungsmodul die Kontrollparameter bereitstellen, um diese dann an das Komparatormodul weiterzuleiten werden regelmäßig auch als Synchronisationspunkte bezeichnet. The points at which the first data processing module and the second data processing module provide the control parameters in order to then forward them to the comparator module are also regularly referred to as synchronization points.
Das hier beschriebene Verfahren betrifft wie schon ausgeführt einen sogenannten Software- Lockstep. Ein Software- Lockstep ist von einem Hardware- Lockstep abzugrenzen. Für einen Hardware- Lockstep ist erheblich komplexere Hardware erforderlich. As already explained, the method described here relates to a so-called software lockstep. A software lockstep is to be distinguished from a hardware lockstep. A hardware lockstep requires significantly more complex hardware.
Der hier nicht beanspruchte Hardware Lockstep wird regelmäßig so implementiert, dass eine Hardware verwendet wird, welche jeden Berechnungsschritt der darauf betriebenen Software- Programme zweimal ausführt. Das bedeutet, dass das Software- Programm selbst nur einmal auf der Hardware läuft. Ein Betriebssystem sieht nur eine Instanz des jeweiligen Software-Programms. Die Hardware führt unterhalb der einen Betriebssystemebene jeden Schritt der Software zweimal aus. The hardware lockstep not claimed here is regularly implemented in such a way that hardware is used which executes each calculation step of the software programs operated on it twice. This means that the software program itself only runs once on the hardware. An operating system sees only one instance of the respective software program. Below the one operating system level, the hardware executes each step of the software twice.
Dem gegenüber bedeutet der hier beschriebene Software-Lockstep, dass das Programm doppelt ausgeführt wird, und zwar auf Betriebssystemebene doppelt.
Gegebenenfalls können auch zwei voneinander unabhängige Betriebssysteme (ein erstes Betriebssystem auf dem ersten Datenverarbeitungsmodul mit einer ersten Hardware/Core und ein zweites Betriebssystem auf dem zweiten Datenverarbeitungsmodul mit einer zweiten Hardware/Core) betrieben werden, die die jeweiligen Datenverarbeitungsschritte jeweils (und damit doppelt) ausführen. In contrast, the software lockstep described here means that the program is executed twice, twice at the operating system level. If necessary, two independent operating systems (a first operating system on the first data processing module with a first hardware/core and a second operating system on the second data processing module with a second hardware/core) can be operated, which each (and thus twice) execute the respective data processing steps .
Ein Software- Lockstep kann auch auf einem Betriebssystem betrieben werden, wobei dann ggf. auf der Ebene des Betriebssystems die Anweisung gegeben wird unterschiedliche Hardware (zwei verschiedene Cores) für die doppelte Ausführung zu verwenden. A software lockstep can also be operated on an operating system, in which case the instruction may then be given at the operating system level to use different hardware (two different cores) for double execution.
Sobald es zwei Instanzen gibt, die ohne Hardwareveränderung replizierbar/vermehrbar sind handelt es sich bei der doppelten Ausführung um einen sogenannten Software- Lockstep. Ein Hardware- Lockstep bedeutet immer, dass für eine zusätzliche redundante Ausführung auch zusätzliche Hardware (Schaltkreise, Transistoren etc. notwendig sein müssen), die unterhalb der Betriebssystemebene angesiedelt sind und die für das Betriebssystem nicht als getrennt voneinander erkennbar sind, sondern sich aus Sicht des Betriebssystems wie eine Hardware darstellen. Durch die Verwendung eines Hardware-Lockstep wird also immer mindestens die doppelte Anzahl von Transistoren notwendig, um die gleiche Leistung zu erreichen wie ohne Hardware- Lockstep. As soon as there are two instances that can be replicated/multiplied without hardware changes, double execution is a so-called software lockstep. A hardware lockstep always means that additional hardware (circuits, transistors, etc.) must be required for an additional redundant design, which is located below the operating system level and which the operating system cannot recognize as being separate from one another, but is different from the point of view of the operating system Operating system like a piece of hardware. By using a hardware lockstep, at least double the number of transistors is therefore always necessary to achieve the same performance as without a hardware lockstep.
Durch das beschriebene Datenverarbeitungsnetzwerk bzw. mit dem beschriebenen Datenverarbeitungsnetzwerk ist ein Lockstep-Ansatz auch auf Controllern/Prozessoren möglich, die dafür nicht speziell entwickelt wurden. With the data processing network described or with the data processing network described, a lockstep approach is also possible on controllers/processors that were not specially developed for this.
Der Normalfall ist allerdings, dass das erste Datenverarbeitungsmodul und das zweite Datenverarbeitungsmodul mit identischer Software ausgeführt sind und auch von ihrer Spezifikation her identische Hardware (identische Cores) verwendet werden. So lange das jeweilige Datenverarbeitungsmodul bzw. die zugrunde liegende Hardware korrekt funktionieren, produzieren dieselben Eingangsdaten in beiden Datenverarbeitungsmodulen auch dieselben Ausgangsdaten.
Wird ein Software- Lockstep für Echtzeit-(nahe) Anwendungen genutzt, so basieren viele bekannte Architekturen auf Zeitscheibenrastern, bei denen die Verarbeitung der Rechenschritte in keinem Fall den vorgegebenen Rahmen überschreiten darf. In diesem Zusammenhang wird oft von der sogenannten WCET (WCET = Worst Case Execution Time) gesprochen. Welche Rechenschritte in welcher Reihenfolge in den Zeitscheiben ausgeführt werden, ist dabei a priori festgelegt. Da die Rechenschritte im Voraus bekannt sind, können die beiden eingesetzten Einheiten die Rechenschritte parallel ausführen. Häufig besteht eine hohe Variabilität wie groß der Rechenaufwand zur Verarbeitung der Eingangsdaten zur Erzeugung von Ausgangsdaten ist. Ein Beispiel ist der Fall einer Bildanalyse zur Ermittlung aller sichtbaren Verkehrszeichen. Ein Datenverarbeitungsschritt zur Durchführung einer solchen Analyse benötigt bspw. eine sehr viel längere Zeit, wenn hundert Verkehrsschilder gleichzeitig sichtbar sind als wenn nur zwei Verkehrsschilder im Sichtbereich liegen. In einem üblichen Software- Lockstep- Ansatz müssten Zeitscheiben anhand einer WCET so ausgelegt werden, dass für alle denkbaren relevanten Fälle jedenfalls ausreichend Zeit zur Durchführung des Datenverarbeitungsschrittes vorgesehen ist. The normal case, however, is that the first data processing module and the second data processing module are designed with identical software and hardware that is identical in terms of its specification (identical cores) is also used. As long as the respective data processing module or the underlying hardware is functioning correctly, the same input data also produce the same output data in both data processing modules. If a software lockstep is used for real-time (near) applications, then many known architectures are based on time slice grids in which the processing of the calculation steps must under no circumstances exceed the specified framework. In this context, the so-called WCET (WCET = Worst Case Execution Time) is often referred to. Which calculation steps are executed in which order in the time slices is determined a priori. Since the calculation steps are known in advance, the two units used can carry out the calculation steps in parallel. There is often a high degree of variability in terms of the amount of computation required to process the input data to generate output data. An example is the case of image analysis to determine all visible traffic signs. A data processing step for carrying out such an analysis requires, for example, a much longer time when a hundred traffic signs are visible at the same time than when only two traffic signs are in the field of view. In a conventional software lockstep approach, time slices would have to be designed using a WCET in such a way that sufficient time is provided for carrying out the data processing step for all conceivable relevant cases.
Im Vergleich dazu sind datengetriebene Systeme flexibler, bei denen aber die Ausführungsreihenfolge vom Ergebnis und der Dauer der vorangegangenen Berechnungen abhängen kann. Die Reihenfolge der Rechenschritte ist dann nicht mehr a priori bekannt. Für einen SW-Lockstep bedeutet diese Eigenschaft, dass mögliche Verzweigungspunkte immer auch Synchronisierungspunkte sein müssen. Bei parallelem Einsatz der Recheneinheiten muss dabei immer erst das Ergebnis eines Rechenschrittes validiert sein, bevor der nächste Schritt sicher feststeht und ausgeführt werden kann. In comparison, data-driven systems are more flexible, but the execution order can depend on the result and the duration of the previous calculations. The order of the calculation steps is then no longer known a priori. For a SW lockstep, this property means that possible branching points must always also be synchronization points. When the computing units are used in parallel, the result of a computing step must always be validated before the next step is certain and can be carried out.
Daher kann es für datengetriebene Architekturen effizienter sein, nicht parallel zu rechnen, sondern eine Recheneinheit (ohne Synchronisierung vor-) laufen zu lassen und das erzielte Ergebnis - unter Vorgabe der identischen Ausführungsreihenfolge - auf den anderen Einheiten nach zu rechnen und zu verifizieren. Man hat in diesem Fall also ein Primärmodul, welches die Berechnung auf den untergeordneten Sekundärmodulen vorgibt. It can therefore be more efficient for data-driven architectures not to calculate in parallel, but to let one arithmetic unit run ahead (without synchronization) and to calculate and verify the result achieved - with the specification of the identical execution order - on the other units. In this case, you have a primary module that specifies the calculation on the subordinate secondary modules.
Heutige Hardware-Lockstep-fähige Microcontroller erfüllen nicht die Anforderungen an die Rechenleistung, wie sie für das hochautomatisierte Fahren
benötigt werden; gleichzeitig erfüllen aktuelle High- Performance- Prozessoren nicht die geforderten ASIL-D Sicherheitseinstufungen. Today's hardware lockstep-capable microcontrollers do not meet the computing power requirements for highly automated driving are needed; at the same time, current high-performance processors do not meet the required ASIL-D safety classifications.
Um trotzdem ein Rechensystem für das hochautomatisierte Fahren zu erhalten, muss man einen Weg finden, die schnellen, aber unsicheren Prozessoren in entsprechender Weise abzusichern. Dazu wird hier vorgeschlagen einen Software- Lockstep zu verwenden. In order to still get a computing system for highly automated driving, you have to find a way to protect the fast but insecure processors in an appropriate way. It is suggested here to use a software lockstep.
Die simpelste Art und Weise dies zu versuchen, wäre den Software- Lockstep auf einem entsprechenden Mikroprozessor zu verwirklichen. Das würde aber nicht nur dessen Rechenleistung (mindestens) halbieren, sondern hätte auch zwei gravierende Probleme: zum einen könnte man systematische Fehler bei redundantem Rechnen auf der identischen Hardware nicht ausschließen, zum anderen würde ein notwendiger Komparator zum Vergleich der Ausgangsdaten/Berechnungsergebnisse ebenfalls auf der unsicheren Hardware laufen, weshalb man den Ergebnissen nicht ausreichend trauen könnte. The simplest way to try this would be to implement the software lockstep on an appropriate microprocessor. This would not only (at least) halve its computing power, but would also have two serious problems: on the one hand, systematic errors in redundant computing on the identical hardware could not be ruled out, on the other hand, a necessary comparator for comparing the output data/calculation results would also be on the insecure hardware, which is why the results could not be trusted sufficiently.
Um dieses Problem zu lösen wird hier vorgeschlagen einen Software- Lockstep auf Basis von mindestens zwei Modulen mit voneinander getrennter Hardware und einer Vergleicher-Einheit (Komparator-Modul) zu implementieren, wobei die Vergleicher- Einheit/das Komparator-Modul auf einer zusätzlichen ASIL-D konformen Hardware läuft. In order to solve this problem, it is proposed here to implement a software lockstep based on at least two modules with separate hardware and a comparator unit (comparator module), with the comparator unit/comparator module being based on an additional ASIL D compliant hardware runs.
Da bei den weiter oben beschriebenen Ansätzen unter Berücksichtigung einer WCET die maximal benötigte Rechenzeit vorgehalten werden muss, diese typischerweise aber nur in Ausnahmen benötigt wird, bleibt in den meisten Schritten Zeit „übrig“, die sich über die Verarbeitungskette des Systems zu einer nicht akzeptablen Latenz aufsummiert und zu einer schlechteren Auslastung der Hardware führt. Die Gefahr bei einem parallelen Software- Lockstep mit einer a priori festgelegten Ausführungsreihenfolge und der Verwendung von WCET ist also, dass die geforderte maximale Latenz im Gesamtsystem nicht erreicht bzw. unterschritten werden kann. Since the maximum required computing time must be reserved for the approaches described above, taking into account a WCET, but this is typically only required in exceptional cases, there is “leftover” time in most steps, which results in an unacceptable latency via the processing chain of the system summed up and leads to poorer utilization of the hardware. The danger with a parallel software lockstep with an a priori defined execution order and the use of WCET is that the required maximum latency in the overall system cannot be achieved or fallen below.
Eine deutlich bessere Nutzung könnte man mit einer datengetriebenen Architektur erreichen, wie sie weiter oben beispielsweise mit einem Primärmodul und nachrechnenden Sekundärmodulen aufgebaut sein kann. In einer solchen Architektur wird der jeweils nächste Datenverarbeitungsschritt ad hoc ausgeführt,
wobei der genaue Ablauf a priori nicht bekannt sein muss und damit eine hohe Flexibilität besteht. A significantly better use could be achieved with a data-driven architecture, as can be set up above, for example with a primary module and secondary modules that perform the calculations. In such an architecture, the next data processing step is carried out ad hoc, The exact process does not have to be known a priori, which means that there is a high level of flexibility.
Eine solche Architektur hat allerdings insbesondere für die hier beschriebenen automobilen Anwendungen Nachteile, die im Folgenden kurz erläutert werden sollen: However, such an architecture has disadvantages, especially for the automotive applications described here, which are briefly explained below:
Die Ausführungsreihenfolge wird vom Primärmodul vorgegeben. Die abhängigen Sekundärmodule rechnen gewissermaßen „blind“ nach. Daher kann die Reihenfolge der Ausführung - wenn überhaupt - nur anhand von Invarianten bzw. allgemeiner Regeln überprüft werden. Daraus ergibt sich für den Kontrollfluss dieselbe Sicherheitseinstufung wie für die jeweilige verwendete Hardware einzeln. Ein hohes ASIL-D-Level ist mit solchen Architekturen nicht erreichbar. In anderen Worten: Es kann durch das Nachrechnen mit den Sekundärmodulen zwar nachträglich festgestellt werden, dass die Berechnungen im Primärmodul fehlerhaft gewesen sein könnten - dann ist es jedoch bereits zu spät, weil die Ergebnisse der Berechnungen bereits vorher benötigt worden wären. The order of execution is dictated by the primary engine. The dependent secondary modules calculate “blindly” so to speak. Therefore, the order of execution - if at all - can only be checked using invariants or general rules. This results in the same security classification for the control flow as for the respective hardware used individually. A high ASIL-D level cannot be achieved with such architectures. In other words: by recalculating with the secondary modules, it can be determined later that the calculations in the primary module could have been incorrect - but then it is already too late, because the results of the calculations would have been needed beforehand.
Der Vergleich der Berechnungen kann immer erst nach Beendigung des redundanten Rechenschrittes und der anschließenden Ergebniskommunikation stattfinden. Die Zeit, bis ein Fehler bei der Berechnung auffällt, hat sich prinzipbedingt verdoppelt. Daraus ergibt sich eine erhöhte Fehlerlatenz, gegebenenfalls auch eine unnötige Latenz im regulären Ablauf. The comparison of the calculations can only take place after the end of the redundant calculation step and the subsequent communication of the results. The time until an error is noticed in the calculation has doubled due to the principle. This results in an increased error latency, possibly also an unnecessary latency in the regular process.
Das heißt, bekannte Ansätze eines Locksteps mit Primärmodul und Sekundärmodul(en) erlauben zwar eine flexiblere und datengetriebene Ausführung, haben aber auch das Problem einer erhöhten Latenz. This means that although known approaches to a lockstep with primary module and secondary module(s) allow a more flexible and data-driven execution, they also have the problem of increased latency.
Das vorgestellte Datenverarbeitungsnetzwerk und damit implementierte Datenverarbeitungsverfahren ermöglichen eine ausreichende Performance für das hochautonome Fahren. Das vorgestellte Datenverarbeitungsnetzwerk ermöglicht eine kombinierte Zeit- als auch Daten-getriebene Architektur. D.h. es ist im Vergleich zu Ansätzen mit einer a priori festgelegten Ausführungsreihenfolge eine flexible Ausführungsreihenfolge im Software- Lockstep möglich.
Dazu wird ein parallel durchgeführter, aber nicht auf Zeitscheiben basierender Software- Lockstep- Ansatz gewählt, der auf mindestens zwei Mikroprozessoren (dem ersten Datenverarbeitungsmodul und dem zweiten Datenverarbeitungsmodul) als Recheneinheiten und einer Kontrollkomponente verwirklicht wird, die auf einer zusätzlichen, vertrauenswürdigen Hardware (dem Komparator-Modul) läuft. The data processing network presented and the data processing methods implemented with it enable sufficient performance for highly autonomous driving. The presented data processing network enables a combined time- and data-driven architecture. This means that, compared to approaches with an a priori fixed execution order, a flexible execution order is possible in the software lockstep. For this purpose, a software lockstep approach that is carried out in parallel but is not based on time slices is selected, which is implemented on at least two microprocessors (the first data processing module and the second data processing module) as computing units and a control component that is based on additional, trustworthy hardware (the comparator module) is running.
Diese der Sicherheitszielnorm entsprechende Kontrolleinheit synchronisiert den Ablauf auf den Recheneinheiten und vergleicht deren Ergebnisse. This control unit, which corresponds to the safety target standard, synchronizes the process on the computing units and compares their results.
Im Vergleich zum Primär/Sekundärmodul-Lockstep werden die redundanten Berechnungsschritte (quasi) gleichzeitig verarbeitet, ergeben somit keine Kaskade und damit ein besseres Latenzverhalten (siehe Abbildung 3). In comparison to the primary/secondary module lockstep, the redundant calculation steps are processed (quasi) simultaneously, thus resulting in no cascade and thus better latency behavior (see Figure 3).
Anstatt die kompletten Datenpakete zum Vergleicher zu senden, ist es in dem hier beschriebenen Datenverarbeitungsnetzwerk auch möglich nur die Quersummen der Daten(-pakete) als Kontrollparameter von den Datenverarbeitungsmodulen zum Komparatormodul zu übertragen, was ggf. den Kommunikationsaufwand deutlich vermindern kann. Instead of sending the complete data packets to the comparator, it is also possible in the data processing network described here to transmit only the checksums of the data (packets) as a control parameter from the data processing modules to the comparator module, which can significantly reduce the communication effort.
Durch diese Optimierungen und den gemischten, also Daten- und Zeitgetriebenen Betrieb wird eine gute und effiziente Auslastung der Hardware erreicht. These optimizations and the mixed, i.e. data- and time-driven operation ensure good and efficient utilization of the hardware.
Aus Sicht einer Sicherheitsarchitektur entspricht der Aufbau des beschriebenen Datenverarbeitungsnetzwerks der Dekomposition einer sicherheitskritischen Aufgabe. Für die einzelnen Recheneinheiten ergibt sich daraus eine reduzierte ASIL-Anforderung, so dass sich bereits mit heute existierenden High- Performance- Prozessoren eine ASIL-D Einstufung des Gesamtsystems erreichen lässt. From the point of view of a security architecture, the structure of the data processing network described corresponds to the decomposition of a security-critical task. This results in a reduced ASIL requirement for the individual computing units, so that an ASIL-D classification of the overall system can already be achieved with the high-performance processors that exist today.
Um das beschriebene Datenverarbeitungsnetzwerk für die Ausführung einer Software anwenden zu können, bestehen folgende Voraussetzungen: alle Daten- und alle relevanten Kontrollevents werden auf einen Zeitstrahl oder einer dazu äquivalenten Struktur, wie z.B. eine Event-Queue, abgebildet. Der Zeitstrahl kann auch als "Common Logical Timeline" bezeichnet werden. jeder Berechnungsschritt, der durch ein Kontrollevent gestartet wird, ist Daten-deterministisch. D.h. bei gleichem Startzustand führen identische Eingangsdaten auch immer zu den gleichen Ausgangsdaten.
Besonders vorteilhaft ist es, wenn der Vergleich der Kontrollparameter eine Identitätsprüfung umfasst und ein synchronisierter Kontrollparameter eine Identität der Kontrollparameter von dem ersten Datenverarbeitungsmodul und dem zweiten Datenverarbeitungsmodul voraussetzen. In order to be able to use the data processing network described for running software, the following prerequisites exist: all data events and all relevant control events are mapped to a timeline or an equivalent structure, such as an event queue. The timeline can also be referred to as the "Common Logical Timeline". every calculation step that is started by a control event is data-deterministic. This means that identical input data always lead to the same output data given the same initial state. It is particularly advantageous if the comparison of the control parameters includes an identity check and a synchronized control parameter requires an identity of the control parameters from the first data processing module and the second data processing module.
Außerdem ist es vorteilhaft, wenn das Datenverarbeitungsnetzwerk dazu eingerichtet ist von dem Komparatormodul bereitgestellte synchronisierte Kontrollparameter zu verwenden, um eine weitere Datenverarbeitung der Ausgangsdaten mit weiteren Datenverarbeitungsschritten des Datenverarbeitungsnetzwerks zu steuern. In addition, it is advantageous if the data processing network is set up to use synchronized control parameters provided by the comparator module in order to control further data processing of the output data with further data processing steps of the data processing network.
Darüber hinaus ist es vorteilhaft, wenn der synchronisierte Kontrollparameter ein Validitätsparameter ist, welcher eine Validitätsinformation bezüglich mindestens eines durchgeführten Datenverarbeitungsschrittes beinhaltet. In addition, it is advantageous if the synchronized control parameter is a validity parameter which contains validity information relating to at least one data processing step that has been carried out.
Außerdem ist es vorteilhaft, wenn das Datenverarbeitungsnetzwerk mindestens ein Sequentialisierungsmodul aufweist, welches jeweils dazu eingerichtet ist Kontrollparameter von den Datenverarbeitungsmodulen und/oder den Datenverarbeitungsschritten zu sortieren und zu synchronisieren und diese dann mit einer Sortierung an das Komparatormodul weiterzuleiten, damit das Komparatormodul synchronisierte Kontrollparameter unabhängig von der Reihenfolge ermitteln kann, in der die Datenverarbeitungsmodule die Datenverarbeitungsschritte ausgeführt haben. In addition, it is advantageous if the data processing network has at least one sequencing module which is set up in each case to sort and synchronize control parameters from the data processing modules and/or the data processing steps and then to forward these to the comparator module with a sorting, so that the comparator module can process synchronized control parameters independently of can determine the order in which the data processing modules have executed the data processing steps.
Das Sequentialisierungsmodul dient insbesondere dazu nachzuvollziehen in welcher Reihenfolge Datenverarbeitungsschritte in den einzelnen Datenverarbeitungsmodulen und insbesondere auf der jeweils zur Verfügung stehenden Hardware abgeschlossen sind. Auf diese Art- und Weise kann eine Verfügbarkeit der Hardware zur Durchführung weiterer Datenverarbeitungsaufgaben festgestellt werden. Das Sequentialisierungsmodul ist jeweils dem Datenverarbeitungsmodul zugeordnet und übermittelt den Kontrollparameter an das Komparatormodul bzw. die (dritte) Hardwarekomponente auf welcher das Komparatormodul betrieben wird. The sequencing module is used in particular to understand the order in which data processing steps are completed in the individual data processing modules and in particular on the hardware that is available in each case. In this way, availability of the hardware for carrying out further data processing tasks can be determined. The sequencing module is assigned to the data processing module and transmits the control parameters to the comparator module or the (third) hardware component on which the comparator module is operated.
Zusätzlich existiert bevorzugt ein Synchronizer, der jeweils zueinander gehörende (sich so lange kein Fehler aufgetreten ist genau entsprechende)
Kontrollparameter der beiden Datenverarbeitungsmodule miteinander synchronisiert und ggf. Kontrollparametertupel bildet, die dem Komparatormodul zugeführt werden. Der Synchronizer und das Komparatormodul bilden bevorzugt gemeinsam eine Zentraleinheit, die auf einer (dritten) Hardware- Komponente betrieben wird. Durch den Synchronizer wird eine Flexibilität in der Ausführungsreihenfolge der Datenverarbeitungsschritte erreicht. Die Hardware des jeweiligen Datenverarbeitungsmoduls kann (wenn diese Hardware mit der Durchführung eines Datenverarbeitungsschrittes fertig ist) auch genutzt werden, um weitere Datenverarbeitungsschritte durchzuführen. In addition, there is preferably a synchronizer, the respective (as long as no error has occurred exactly corresponding) Control parameters of the two data processing modules are synchronized with one another and, if necessary, form control parameter tuples that are supplied to the comparator module. The synchronizer and the comparator module preferably together form a central unit that is operated on a (third) hardware component. The synchronizer achieves flexibility in the execution order of the data processing steps. The hardware of the respective data processing module can (if this hardware has finished carrying out a data processing step) also be used to carry out further data processing steps.
Da auf dem ersten Datenverarbeitungsmodul und dem zweiten Datenverarbeitungsmodul der gleiche Datenverarbeitungsschritt durchgeführt wird, werden bei erfolgreichem Ablauf auf jedem die gleichen Kontroll- und Datenereignisse wie auf dem anderen erzeugt, können aufgrund der parallelen Verarbeitung auf den Einheiten aber in unterschiedlicher Reihenfolge generiert werden. Since the same data processing step is carried out on the first data processing module and the second data processing module, if the process is successful, the same control and data events are generated on each as on the other, but can be generated in a different order due to the parallel processing on the units.
Die Zentraleinheit (bestehend aus Komparatormodul und Synchronizer) speichert nun Events (Kontrollparameter) zwischen, bis von allen Datenverarbeitungsmodulen das passende Event (der entsprechende Kontrollparameter) angekommen ist. Die zusammengehörigen Kontrollparameter können dann verglichen und bei Gleichheit ausgewertet werden bzw. es kann der synchronisierte Kontrollparameter ausgegeben werden. The central unit (consisting of the comparator module and synchronizer) now temporarily stores events (control parameters) until the appropriate event (the corresponding control parameter) has arrived from all data processing modules. The associated control parameters can then be compared and evaluated if they are the same, or the synchronized control parameter can be output.
Bevorzugt existiert zusätzlich ein Aufgabenverteilungsmodul, welches dann anschließend beim Vorliegen von synchronisierten Kontrollparametern von dem Hardwaremodul das Starten der einzelnen (nächsten) Datenverarbeitungsschritte auf der jeweiligen Hardware plant und beauftragt, so dass eine besonders gute Auslastung der Hardware erreicht werden kann. There is preferably an additional task distribution module, which then plans and commissions the starting of the individual (next) data processing steps on the respective hardware when synchronized control parameters are available from the hardware module, so that a particularly good utilization of the hardware can be achieved.
Das Aufgabenverteilungsmodul setzt bevorzugt eine Art Stimuli an die einzelnen Datenverarbeitungsmodule ab, um diese zu aktivieren. Durch den Einsatz der Zentraleinheit bzw. der dritten Hardwarekomponente und des Komparatormoduls tritt zwar eine geringfügige Erhöhung der Latenz zwischen der Durchführung von zwei Datenverarbeitungsaufgaben auf. Insgesamt ist diese Steigerung der Latenz jedoch akzeptabel, insbesondere im Vergleich zu üblichen Primär/Sekundär-Modul - Architekturen.
Für den Fall, dass die Zentraleinheit bzw. der Synchronizer und die Sequentialisierungs-module und das Komparatormodul keine eindeutige Reihenfolge der empfangenen Kontrollparameter/Events feststellen können, so kann ein Fehlerfall festgestellt werden. Je nach Anwendungsfall kann dies ein erneutes Nachrechnen oder einen Abbruch der Datenverarbeitung mit dem Datenverarbeitungsnetzwerk nach sich ziehen. The task distribution module preferably sends a type of stimulus to the individual data processing modules in order to activate them. The use of the central processing unit or the third hardware component and the comparator module does result in a slight increase in the latency between the execution of two data processing tasks. Overall, however, this increase in latency is acceptable, especially when compared to common primary/secondary module architectures. In the event that the central processing unit or the synchronizer and the sequencing module and the comparator module cannot determine a clear sequence of the control parameters/events received, an error can be determined. Depending on the application, this can entail recalculation or an abort of data processing with the data processing network.
Stimuli werden von der Zentraleinheit in gewisser Weise aufgefunden. Immer dann, wenn von dem Komparatormodul ein korrektes Berechnungsergebnis durch den Vergleich von Kontrollparametern ermittelt wurde und ein synchronisierter Kontrollparameter berechnet werden konnte, wurde gewissermaßen ein Stimuli gefunden, der eine weitere Datenverarbeitung auslöst, die mit dem jeweiligem ersten Datenverarbeitungsmodul und dem jeweiligen zweiten Datenverarbeitungsmodul berechnete Ausgangsdaten als Eingangsdaten benötigt. Um etwaige Stimuli für die Ausführung weiterer Berechnungsschritte zu finden, wertet die Zentraleinheit nicht nur alle erhaltenen Datenevents (Kontrollparameter) aus, sondern auch Events, die für das Beenden eines vorherigen Berechnungsschritts (,End‘- bzw. ,DistributeSamples‘) stehen. Daneben können Zeit Events als Stimuli für eine zeitgetriebene Ausführung generiert werden. Stimuli are found by the central processing unit in a certain way. Whenever a correct calculation result was determined by the comparator module by comparing control parameters and a synchronized control parameter could be calculated, a stimulus was found, so to speak, which triggers further data processing, the output data calculated with the respective first data processing module and the respective second data processing module required as input data. In order to find any stimuli for the execution of further calculation steps, the central unit not only evaluates all received data events (control parameters), but also events that indicate the end of a previous calculation step ('End' or 'DistributeSamples'). In addition, time events can be generated as stimuli for a time-driven execution.
Die Zentraleinheit verwaltet gewissermaßen den weiter oben schon beschriebenen Zeitstrahl (Common Logical Timeline) der Datenverarbeitung. To a certain extent, the central unit manages the timeline (common logical timeline) of data processing already described above.
Damit ergibt sich im Erfolgsfall ein Ergebnis-identischer Ablauf auf allen Recheneinheiten, daten- wie auch zeitgetrieben, trotz möglicher Unterschiede in den lokalen Ausführungsreihenfolgen. In the event of success, this results in a result-identical process on all computing units, data- and time-driven, despite possible differences in the local execution sequences.
Vorteilhaft ist es, wenn erste Datenverarbeitungsmodule mit ersten Hardwarekomponenten und zweite Datenverarbeitungsmodule mit zweiten Hardwarekomponenten realisiert sind, wobei erste Hardwarekomponenten und zweite Hardwarekomponenten physisch voneinander getrennt sind. It is advantageous if first data processing modules are implemented with first hardware components and second data processing modules with second hardware components, with first hardware components and second hardware components being physically separate from one another.
Auch ist es vorteilhaft, wenn mindestens eines der Datenverarbeitungsmodule eine Hardwarekomponente aufweist, die nicht ASIL-D konform ist.
Besonders vorteilhaft ist es, wenn beide Hardwarekomponenten der Datenverarbeitungsmodule nicht ASIL-D konform sind. It is also advantageous if at least one of the data processing modules has a hardware component that does not conform to ASIL-D. It is particularly advantageous if both hardware components of the data processing modules are not ASIL-D compliant.
Außerdem ist es vorteilhaft, wenn das Komparatormodul mit dritten Hardwarekomponenten realisiert ist, welche physisch von den ersten Hardwarekomponenten und den zweiten Hardwarekomponenten getrennt ist. It is also advantageous if the comparator module is implemented using third hardware components that are physically separate from the first hardware components and the second hardware components.
In diesem Zusammenhang ist es vorteilhaft, wenn die dritte Hardwarekomponente ASIL-D-konform ist. In this context, it is advantageous if the third hardware component conforms to ASIL-D.
Auch ist es vorteilhaft, wenn das Komparatormodul einen Datenspeicher aufweist, in welchem ermittelte Kontrollparameter mit Zeitinformationen abgelegt werden, so dass ein logischer Zeitstrahl entsteht, welcher die Reihenfolge der Abarbeitung der Datenverarbeitungsschritte mit den Datenverarbeitungsmodulen des Datenverarbeitungsnetzwerks abbildet. It is also advantageous if the comparator module has a data memory in which determined control parameters are stored with time information, so that a logical timeline is created which depicts the sequence in which the data processing steps are processed with the data processing modules of the data processing network.
In diesem Zusammenhang ist es auch vorteilhaft, wenn eine Hardwarekomponente der Datenverarbeitungsmodule deutlich leistungsstärker ist als eine Hardwarekomponente des Komparatormoduls. Die möglichen Leistungsunterschiede zwischen der dritten Hardwarekomponente des Komparatormoduls und den (ersten und zweiten) Hardwarekomponenten der Datenverarbeitungsmodule richten sich nach dem jeweiligen Anwendungsfall des Datenverarbeitungsnetzwerks. Üblich ist beispielsweise, dass ein Prozessortakt der ersten und zweiten Hardwarekomponente mindestens 5 mal ggf. sogar 10 mal so groß ist, wie der Prozessortakt der dritten Hardwarekomponente. In this context, it is also advantageous if a hardware component of the data processing module is significantly more powerful than a hardware component of the comparator module. The possible performance differences between the third hardware component of the comparator module and the (first and second) hardware components of the data processing modules depend on the respective application of the data processing network. For example, it is usual for a processor clock of the first and second hardware component to be at least 5 times, possibly even 10 times, the processor clock of the third hardware component.
Um die Kommunikationsstrecke zwischen den Datenverarbeitungsmodulen und der Zentraleinheit (Komparatormodul und ggf. Sequentialisierungsmodul und Aufgabenverteilungsmodul) zu entlasten, können für große Datenmengen als Ausgangsdaten ggf. Kontrollparameter als deren Quersumme (CRC) berechnet werden und nur diese werden zusammen mit der eindeutigen Paket- Identifikation (alias Meta-Sample) als Kontrollparameter an das Komparatormodul gesendet. Der eigentliche Fluss von Ausgangsdaten eines Datenverarbeitungsschrittes als Eingangsdaten zum nächsten Datenverarbeitungsschritt kann auf der ersten Hardwarekomponente und der zweiten Hardwarekomponente (und ggf. auch noch auf weiteren Hardwarekomponenten) unabhängig voneinander bzw. parallel zueinander stattfinden, wobei ggf. Datenübertragungsschnittstellen zwischen
verschiedenen Hardwarekomponenten existieren, die auch unabhängig von der Zentraleinheit bzw. dem Komparatormodul sind. Die Zentraleinheit bzw. das Komparatormodul überprüft dann nicht die Originaldaten, sondern bspw. deren Quersummen, was zu einem Bit-weisen Vergleich des Originalinhalts führt. Dabei ist zu beachten, dass die erste Hardwarekomponente und die zweite Hardwarekomponente die originalen Datenpakete zwischenpuffern müssen, bis sie vom Vergleicher bestätigt sind und ausgeliefert werden können. In order to relieve the communication path between the data processing modules and the central unit (comparator module and possibly sequencing module and task distribution module), control parameters can be calculated as the checksum (CRC) for large amounts of data as output data, if necessary, and only these are used together with the unique packet identification ( alias Meta-Sample) is sent to the comparator module as a control parameter. The actual flow of output data from a data processing step as input data to the next data processing step can take place on the first hardware component and the second hardware component (and possibly also on other hardware components) independently of one another or in parallel, with data transmission interfaces between different hardware components exist, which are also independent of the central processing unit or the comparator module. The central processing unit or the comparator module then does not check the original data but, for example, their checksums, which leads to a bit-by-bit comparison of the original content. It should be noted here that the first hardware component and the second hardware component must temporarily buffer the original data packets until they have been confirmed by the comparator and can be delivered.
Da die hier vorgeschlagene Berechnung der Quersummen als Kontrollparameter zur Übergabe an das Komparatormodul auch einen nicht zu vernachlässigenden Ressourcenverbrauch darstellt, ist es auch möglich, dass je nach Datenmenge der Ausgangsdaten entschieden wird, ob ein unmittelbarer Vergleich der Ausgangsdaten oder ein Vergleich von Quersummen der Ausgangsdaten erfolgt. Since the calculation of the checksums proposed here as a control parameter for transfer to the comparator module also represents a resource consumption that should not be neglected, it is also possible that, depending on the data volume of the output data, a decision is made as to whether a direct comparison of the output data or a comparison of checksums of the output data is carried out .
Besonders vorteilhaft ist es, wenn der Vergleich der Kontrollparameter eine Prüfung umfasst, ob ein bei der Datenverarbeitung im ersten Datenverarbeitungsmodul und/oder im zweiten Datenverarbeitungsmodul aufgetretener Fehler unterhalb einer Toleranzgrenze liegt und in diesem Fall der synchronisierte Kontrollparameter erzeugt wird. Dies bedeutet insbesondere, dass in solchen Fällen der synchronisierte Kontrollparameter ggf. erzeugt wird, obwohl ein Fehler aufgetreten ist, der allerdings unterhalb der Toleranzgrenze liegt. It is particularly advantageous if the comparison of the control parameters includes a check as to whether an error that has occurred during data processing in the first data processing module and/or in the second data processing module is below a tolerance limit and the synchronized control parameter is generated in this case. This means in particular that in such cases the synchronized control parameter may be generated even though an error has occurred which is below the tolerance limit.
Hier auch beschrieben werden soll ein Verfahren zum Betrieb eines beschriebenen Datenverarbeitungsnetzwerks, aufweisend zumindest die folgenden Schritte: a) Durchführen eines Datenverarbeitungsschrittes mit einem ersten Datenverarbeitungsmodul und Erzeugen eines ersten Kontrollparameters, der dazu geeignet ist, die Durchführung des Datenverarbeitungsschrittes mit dem ersten Datenverarbeitungsmodul zu prüfen, b) Unabhängig von Schritt a) Durchführen derselben Datenverarbeitungsschrittes mit einem zweiten Datenverarbeitungsmodul und Erzeugen eines zweiten Kontrollparameters, der dazu geeignet ist, die Durchführung des Datenverarbeitungsschrittes mit dem zweiten Datenverarbeitungsmodul zu prüfen; c) Durchführen eines Vergleichs entsprechender Kontrollparameter, die von dem ersten Datenverarbeitungsmodul und dem zweiten
Datenverarbeitungsmodul übermittelt wurden mit einem Komparatormodul und basierend auf diesem Vergleich, das Bereitstellen mindestens eines synchronisierten Kontrollparameter, welcher eine Kontrollinformation bezüglich mindestens eines durchgeführten Datenverarbeitungsschrittes beinhaltet. A method for operating a described data processing network is also to be described here, having at least the following steps: a) carrying out a data processing step with a first data processing module and generating a first control parameter which is suitable for checking the carrying out of the data processing step with the first data processing module, b) independently of step a), performing the same data processing step with a second data processing module and generating a second control parameter which is suitable for checking the performance of the data processing step with the second data processing module; c) performing a comparison of corresponding control parameters from the first data processing module and the second Data processing module were transmitted with a comparator module and based on this comparison, providing at least one synchronized control parameter, which contains control information regarding at least one data processing step carried out.
Das beschriebene Datenverarbeitungsnetzwerk sowie das technische Umfeld werden nachfolgend anhand der Figuren erläutert. Die Figuren zeigen bevorzugte Ausführungsbeispiele, die auf die Offenbarung nicht begrenzt sind. Die Figuren sind nur schematisch und sie verdeutlichen jeweils einzelne Aspekte des beschriebenen Datenverarbeitungsnetzwerks. Es zeigen: The data processing network described and the technical environment are explained below with reference to the figures. The figures show preferred embodiments that are not limited to the disclosure. The figures are only schematic and they each illustrate individual aspects of the data processing network described. Show it:
Fig. 1: ein beschriebenes Datenverarbeitungsnetzwerk; 1: a described data processing network;
Fig. 2: eine Bearbeitung der einzelnen Datenverarbeitungsschritte auf einem logischen Zeitstrahl; 2: processing of the individual data processing steps on a logical timeline;
Fig. 3: die Bearbeitung eines einzelnen Datenverarbeitungsschrittes mit den verschiedenen Datenverarbeitungsmodulen, und 3: the processing of a single data processing step with the various data processing modules, and
Fig. 4: ein Ablaufdiagramm des beschriebenen Verfahrens; 4: a flow chart of the method described;
Fig. 1 zeigt ein beschriebenes Datenverarbeitungsnetzwerk 1 in einem Kraftfahrzeug 23. Beispielhaft ist hier gezeigt, dass das Datenverarbeitungsnetzwerk 1 zur Verarbeitung von Daten von Sensoren 19 dient und von dem System ein Ausgangsdatenempfänger 20 mit Daten versorgt wird. Ein solcher Ausgangsdatenempfänger 20 kann beispielsweise ein System für einen autonomen Fährbetrieb oder ein ähnliches System sein. Das Datenverarbeitungsnetzwerk 1 dient beispielsweise zur Reduktion der Sensordaten auf entscheidungserhebliche Parameter, die Ausgangsdaten 4 des Datenverarbeitungs-netzwerks 1 sein können. 1 shows a described data processing network 1 in a motor vehicle 23. It is shown here by way of example that the data processing network 1 is used to process data from sensors 19 and that an output data receiver 20 is supplied with data by the system. Such an output data receiver 20 can be, for example, a system for autonomous ferry operation or a similar system. The data processing network 1 is used, for example, to reduce the sensor data to decision-relevant parameters, which can be output data 4 from the data processing network 1 .
Mit dem Datenverarbeitungsnetzwerk 1 sind hier auch Hardwarekomponenten umfasst, auf denen das Datenverarbeitungsnetzwerk 1 bzw. dessen Komponenten und Module betrieben werden können.
Das Datenverarbeitungsnetzwerk 1 führt einzelne Datenverarbeitungsschritte 2 aus, die aufeinander aufbauen. Ausgangsdaten 4 eines Datenverarbeitungsschrittes 2 können Eingangsdaten 3 eines weiteren Datenverarbeitungsschrittes 2 sein. Jeder Datenverarbeitungsschritt 2 wird hier mit mehreren möglichst unabhängig voneinander ausgeführten Datenverarbeitungsmodulen 5,6 realisiert. Hier sind jeweils ein erstes Datenverarbeitungsmodul 5 und ein zweites Datenverarbeitungsmodul 6 gezeigt. Es können auch mehr als zwei Datenverarbeitungsmodule vorgesehen sein, die einen Datenverarbeitungsschritt 2 (parallel) durchführen. The data processing network 1 also includes hardware components on which the data processing network 1 or its components and modules can be operated. The data processing network 1 carries out individual data processing steps 2 which build on one another. Output data 4 from a data processing step 2 can be input data 3 from a further data processing step 2 . Each data processing step 2 is implemented here with a plurality of data processing modules 5, 6 that are executed as independently as possible. A first data processing module 5 and a second data processing module 6 are shown here. More than two data processing modules can also be provided, which carry out a data processing step 2 (in parallel).
Das Datenverarbeitungsnetzwerk 1 umfasst noch weitere Komponenten, die anhand der weiteren Figuren noch detailliert erläutert werden. Dazu gehört insbesondere das Komparatormodul 7 und ggf. auch ein Synchronizer 27, die hier nur schematisch mit angedeutet sind. The data processing network 1 also includes other components which will be explained in more detail with reference to the other figures. This includes, in particular, the comparator module 7 and possibly also a synchronizer 27, which are only indicated schematically here.
Fig. 2 wählt eine andere Darstellung des beschriebenen Datenverarbeitungsnetzwerks 1. In der Fig. 2 sind untereinander drei Pfeile dargestellt, die die einzelnen Hardwarekomponenten definieren und die gleichzeitig auch die einzelnen Verfahrensschritte a), b) und c) des beschriebenen Verfahrens wiedergeben. Die Pfeile bieten gleichzeitig eine Darstellung der Abläufe auf den jeweiligen Hardwarekomponenten auf einem logischen Zeitstrahl 17. Der obere Pfeil ist eine erste Hardwarekomponente 12 auf welchem erste Datenverarbeitungsmodule 5 implementiert sind. Der untere Pfeil ist eine zweite Hardwarekomponente 13 auf der zweite Datenverarbeitungsmodule 6 implementiert sind. Der mittlere Pfeil ist eine dritte Hardwarekomponente 14 auf welcher das Komparatormodul 7 realisiert ist. In ersten Datenverarbeitungsmodulen 5 und zweiten Datenverarbeitungsmodulen 6 werden jeweils Datenverarbeitungsschritte 2 des Datenverarbeitungsnetzwerks 1 ausgeführt. Immer wenn ein Datenverarbeitungsschritt 2 abgeschlossen ist, wird ein Kontrollparameter 8 an das Komparatormodul 7 übermittelt, welches dann durch einen Vergleich der Kontrollparameter 8 erkennt, ob der Datenverarbeitungsschritt 2 korrekt (d.h. fehlerfrei) ausgeführt wurde. Das Komparatormodul 7 erzeugt dann synchronisierte Kontrollparameter 9, die zur Auslösung weiterer Datenverarbeitungsschritte 2 verwendet werden, welche dann hier (hier nicht dargestellte) Ausgangsdaten vorangegangener Datenverarbeitungsschritte 2 weiterverarbeiten. Das Komparatormodul 8 und die zugehörigen Komponenten können auch als Zentraleinheit 24 des beschriebenen
Datenverarbeitungsnetzwerks 1 verstanden werden. Die synchronisierten Kontrollparameter 9 können als Stimuli 25 für die Auslösung weiterer Datenverarbeitungsschritte 2 verstanden werden. 2 chooses a different representation of the described data processing network 1. In FIG. 2, three arrows are shown one below the other, which define the individual hardware components and at the same time also reflect the individual method steps a), b) and c) of the method described. At the same time, the arrows offer a representation of the processes on the respective hardware components on a logical timeline 17. The upper arrow is a first hardware component 12 on which first data processing modules 5 are implemented. The lower arrow is a second hardware component 13 on which second data processing modules 6 are implemented. The middle arrow is a third hardware component 14 on which the comparator module 7 is implemented. Data processing steps 2 of the data processing network 1 are carried out in first data processing modules 5 and second data processing modules 6 . Whenever a data processing step 2 is completed, a control parameter 8 is transmitted to the comparator module 7, which then, by comparing the control parameters 8, detects whether the data processing step 2 was carried out correctly (ie error-free). The comparator module 7 then generates synchronized control parameters 9, which are used to trigger further data processing steps 2, which then further process output data from previous data processing steps 2 (not shown here). The comparator module 8 and the associated components can also be used as the central unit 24 of the described Data processing network 1 are understood. The synchronized control parameters 9 can be understood as stimuli 25 for triggering further data processing steps 2 .
In Fig. 3 ist die parallele Bearbeitung eines Datenverarbeitungsschrittes 2 durch ein erstes Datenverarbeitungsmodul 5 und durch ein zweites Datenverarbeitungsmodul 6 noch detaillierter dargestellt. Zu erkennen ist, dass das erste Datenverarbeitungsmodul 5 auf einer ersten Hardwarekomponente 12 realisiert ist, während das zweite Datenverarbeitungsmodul 6 auf einer zweiten Hardwarekomponente 13 realisiert ist. Das erste Datenverarbeitungsmodul 5 und das zweite Datenverarbeitungsmodul 6 verarbeiten jeweils dieselben Eingangsdaten 3 und es soll auch jeweils dieselben Ausgangsdaten 4 erzeugen. 3 shows the parallel processing of a data processing step 2 by a first data processing module 5 and by a second data processing module 6 in even more detail. It can be seen that the first data processing module 5 is implemented on a first hardware component 12 , while the second data processing module 6 is implemented on a second hardware component 13 . The first data processing module 5 and the second data processing module 6 each process the same input data 3 and should also generate the same output data 4 in each case.
Ein Datenverarbeitungsschritt 2 bzw. ein Datenverarbeitungsmodul 5, 6 kann in sich nochmal in eine Mehrzahl von einzelnen Datenverarbeitungskomponenten 18 untergliedert sein, welche jeweils Unterschritte der Datenverarbeitung betreffen. Der Datenverarbeitungsschritt 2 bzw. das Datenverarbeitungsmodul 5, 6 wie sie hier definiert sind betreffen also schon je nach Anwendungsfall sinnvoll gewählte bzw. festgelegte Vorgruppierungen von Unterschritten, die mit den Datenverarbeitungskomponenten 18 ausgeführt werden. Die Vorgruppierung von Unterschritten ist bevorzugt so gewählt, dass keine Datenspeicherung innerhalb eines Datenverarbeitungsschrittes 2 bzw. eines Datenverarbeitungsmoduls 5,6 erforderlich ist und das für die Ausführung insbesondere nicht auf andere Daten als die Eingangsdaten zugegriffen wird. A data processing step 2 or a data processing module 5, 6 can be further subdivided into a plurality of individual data processing components 18, each of which relates to sub-steps of data processing. The data processing step 2 or the data processing module 5 , 6 as they are defined here therefore relate to pre-groupings of sub-steps that have been sensibly selected or specified depending on the application and are executed with the data processing components 18 . The pre-grouping of sub-steps is preferably selected in such a way that no data storage is required within a data processing step 2 or a data processing module 5.6 and that, in particular, no data other than the input data is accessed for the execution.
Das erste Datenverarbeitungsmodul 5 und das zweite Datenverarbeitungsmodul 6 erzeugen jeweils Kontrollparameter 8, die von dem Komparatormodul 7 ausgewertet werden. Das Komparatormodul 7 ist auf einer dritten Hardwarekomponente 14 realisiert, welche von der ersten Hardwarekomponente 12 und der zweiten Hardwarekomponente 13 unabhängig ist, welche eine Zentraleinheit 24 bildet und welche bevorzugt die weiter oben schon beschriebene höhere Sicherheit (höheres ASIL-Level) der Ausführung bietet. In bevorzugten Ausführungsvarianten ist jedem Datenverarbeitungsmodul 5, 6 jeweils noch ein Sequentialisierungsmodul 11 zur Gewinnung der Kontrollparameter 8 aus der Datenverarbeitung und dem Komparatormodul 7 hier noch ein Synchronizer 27 vorgeschaltet. Zusätzlich kann dem Komparatormodul 7 ein Aufgabenverteilungsmodul 22 nachgeschaltet sein,
welches synchronisierte Kontrollparameter 9 bzw. Stimuli 25 zur Auslösung weiterer Datenverarbeitungsschritte 2 ausgibt. Synchronizer 27, Komparatormodul 7 und Aufgabenverteilungsmodul 22 können gemeinsam auf der dritten Hardwarekomponente 14 als die beschriebene Zentraleinheit 24 realisiert sein. Bevorzugt wird das beschriebene Datenverarbeitungsnetzwerk 1 so betrieben, dass Datenverarbeitungsschritte 2 auf der jeweils verfügbaren und nicht vollständig ausgelasteten Hardware ausgeführt werden. Das Aufgabenverteilungsmodul 22 kann diese Verteilung der Datenverarbeitungsschritte 2 auf die verfügbare Hardware veranlassen. Darüber hinaus dauert die Ausführung der durchgeführten Datenverarbeitungsschritte 2 auf jeder Hardware unterschiedlich lange. Durch den Synchronizer 27 wird eine Sortierung der eintreffenden Kontrollparameter 8 erreicht, so dass das Komparatormodul 7 dann auch bei einer hohen Auslastung der Hardware jeweils die richtigen Kontrollparameter 8 miteinander vergleicht, um korrekte synchronisierte Kontrollparameter 9 zu erzeugen. Dazu werden die Kontrollparameter 8 als Kontrollparametertupel 28 von dem Synchronizer 27 an das Komparatormodul 7 übergeben. Es ist nicht erforderlich, dass Eingangsdaten 3 und Ausgangsdaten 4 jeweils über die Zentraleinheit 24 bzw. das Komparatormodul 7 von einem Datenverarbeitungsschritt 2 zum nächsten Datenverarbeitungsschritt 2 übergeben werden. Zu diesem Zweck können auch zusätzliche Datenübertragungsschnittstellen 26 zwischen den Datenverarbeitungsmodulen 5,6 bzw. den jeweiligen Hardwarekomponenten 12, 13 existieren, die unabhängig von dem Komparatormodul 7 existieren. Auf über diese Datenübertragungsschnittstellen 26 bereitgestellte Daten wird bevorzugt dann zugegriffen, wenn mit Hilfe des Komparatormoduls 7 eine fehlerfreie Bearbeitung des jeweiligen Ausgangsdaten 4 erzeugenden Datenverarbeitungsschrittes 2 in beiden Datenverarbeitungsmodulen 5, 6 festgestellt wurde. The first data processing module 5 and the second data processing module 6 each generate control parameters 8 which are evaluated by the comparator module 7 . The comparator module 7 is implemented on a third hardware component 14, which is independent of the first hardware component 12 and the second hardware component 13, which forms a central unit 24 and which preferably offers the higher security (higher ASIL level) of the execution already described above. In preferred embodiment variants, each data processing module 5, 6 is preceded by a sequencing module 11 for obtaining the control parameters 8 from the data processing and the comparator module 7 is preceded by a synchronizer 27 here. In addition, the comparator module 7 can be followed by a task distribution module 22, which outputs synchronized control parameters 9 or stimuli 25 for triggering further data processing steps 2. Synchronizer 27, comparator module 7 and task distribution module 22 can be implemented together on the third hardware component 14 as the central unit 24 described. The data processing network 1 described is preferably operated in such a way that data processing steps 2 are carried out on the hardware that is available and not fully utilized. The task distribution module 22 can cause this distribution of the data processing steps 2 to the available hardware. In addition, the execution of the data processing steps 2 carried out takes a different amount of time on each piece of hardware. The synchronizer 27 achieves a sorting of the incoming control parameters 8 so that the comparator module 7 then compares the correct control parameters 8 with one another, even when the hardware is heavily loaded, in order to generate correct synchronized control parameters 9 . For this purpose, the control parameters 8 are transferred from the synchronizer 27 to the comparator module 7 as control parameter tuples 28 . It is not necessary for input data 3 and output data 4 to be transferred from one data processing step 2 to the next data processing step 2 via the central processing unit 24 or the comparator module 7 . For this purpose, there can also be additional data transmission interfaces 26 between the data processing modules 5, 6 or the respective hardware components 12, 13, which exist independently of the comparator module 7. Data provided via these data transmission interfaces 26 is preferably accessed when, with the aid of the comparator module 7, error-free processing of the respective data processing step 2 generating the output data 4 was determined in both data processing modules 5, 6.
In Fig. 4 ist noch eine andere Darstellung des beschriebenen Verfahrens gewählt, bei welcher die Verfahrensschritte a), b) und c) für jeden Datenverarbeitungsschritt 2 jeweils durchgeführt werden. Es erfolgt immer die Ausführung der eigentlichen Datenverarbeitungsschritte 2 redundant zueinander mit dem ersten Datenverarbeitungsmodul 5 und mit dem zweiten Datenverarbeitungsmodul 6. Anschließend erfolgt jeweils mit dem Komparatormodul 7 eine Prüfung, ob der Datenverarbeitungsschritt 2 korrekt ausgeführt wurde bevor ein nächster Datenverarbeitungsschritt 2 gestartet wird.
Another illustration of the method described is selected in FIG. 4, in which method steps a), b) and c) are carried out for each data processing step 2. The actual data processing steps 2 are always executed redundantly in relation to one another with the first data processing module 5 and with the second data processing module 6. A check is then carried out with the comparator module 7 as to whether the data processing step 2 has been carried out correctly before the next data processing step 2 is started.
Claims
1. Datenverarbeitungsnetzwerk (1) zur redundanten und validierten Durchführung einer Mehrzahl von aufeinanderfolgenden Datenverarbeitungsschritten (2), die jeweils dazu dienen aus Eingangsdaten (3) Ausgangsdaten (4) zu generieren, wobei Ausgangsdaten (3) eines ersten Datenverarbeitungsschrittes (2) zumindest teilweise gleichzeitig Eingangsdaten (3) eines weiteren Datenverarbeitungsschritten (2) sind, wobei für die Durchführung jedes Datenverarbeitungsschrittes (2) mindestens ein erstes Datenverarbeitungsmodul (5) und ein zweites Datenverarbeitungsmodul (6) vorgesehen sind, wobei das Datenverarbeitungsnetzwerk (1) weiter ein Komparatormodul (7) aufweist, wobei die ersten Datenverarbeitungsmodule (5) und die zweiten Datenverarbeitungsmodule (6) dazu eingerichtet sind Kontrollparameter (8) der einzelnen Datenverarbeitungsschritte (2) an das Komparatormodul (7) zu übermitteln und das Komparatormodul (7) dazu eingerichtet ist mindestens einen Vergleich sich entsprechender Kontrollparameter (8), die von den ersten Datenverarbeitungsmodulen (5) und den zweiten Datenverarbeitungsmodulen (6) übermittelt wurden, durchzuführen und basierend auf diesem Vergleich mindestens einen synchronisierten Kontrollparameter (9) bereitzustellen, welcher eine Kontrollinformation bezüglich mindestens eines durchgeführten Datenverarbeitungsschrittes (2) beinhaltet. 1. Data processing network (1) for the redundant and validated implementation of a plurality of successive data processing steps (2), each of which is used to generate output data (4) from input data (3), with output data (3) of a first data processing step (2) being at least partially simultaneous are input data (3) of a further data processing step (2), at least a first data processing module (5) and a second data processing module (6) being provided for the implementation of each data processing step (2), the data processing network (1) also having a comparator module (7) with the first data processing modules (5) and the second data processing modules (6) being set up to transmit control parameters (8) of the individual data processing steps (2) to the comparator module (7) and the comparator module (7) being set up to carry out at least one comparison itself corresponding control parameter (8) transmitted by the first data processing modules (5) and the second data processing modules (6) and based on this comparison to provide at least one synchronized control parameter (9) which contains control information relating to at least one data processing step (2) that has been carried out.
2. Datenverarbeitungsnetzwerk (1) nach Anspruch 1, wobei der Vergleich der Kontrollparameter (8) eine Identitätsprüfung umfasst und ein synchronisierter Kontrollparameter (9) eine Identität der Kontrollparameter (8) von dem ersten Datenverarbeitungsmodul (5) und dem zweiten Datenverarbeitungsmodul (6) voraussetzen. 2. Data processing network (1) according to claim 1, wherein the comparison of the control parameters (8) comprises an identity check and a synchronized control parameter (9) requires an identity of the control parameters (8) from the first data processing module (5) and the second data processing module (6). .
3. Datenverarbeitungsnetzwerk (1) nach Anspruch 1 oder 2, dazu eingerichtet von dem Komparatormodul (7) bereitgestellte synchronisierte Kontrollparameter (9) zu verwenden, um eine weitere Datenverarbeitung der Ausgangsdaten mit weiteren Datenverarbeitungsschritten (10) des Datenverarbeitungsnetzwerks (1) zu steuern.
3. Data processing network (1) according to claim 1 or 2, set up to use synchronized control parameters (9) provided by the comparator module (7) in order to control further data processing of the output data with further data processing steps (10) of the data processing network (1).
Datenverarbeitungsnetzwerk (1) nach einem der vorhergehenden Ansprüche, wobei der synchronisierte Kontrollparameter (9) ein Validitätsparameter ist, welcher eine Validitätsinformation bezüglich mindestens eines durchgeführten Datenverarbeitungsschrittes (2) beinhaltet. Datenverarbeitungsnetzwerk (1) nach einem der vorhergehenden Ansprüche aufweisend weiter mindestens ein Sequentialisierungsmodul (11), welches dazu eingerichtet ist Kontrollparameter (8) von den Datenverarbeitungsmodulen (5,6) und/oder den Datenverarbeitungsschritten (2,10) jeweils zu sortieren und zu synchronisieren und diese dann mit einer Sortierung an das Komparatormodul (7) weiterzuleiten, damit das Komparatormodul (7) synchronisierte Kontrollparameter (9) unabhängig von der Reihenfolge ermitteln kann, in der die Datenverarbeitungsmodule (5,6) die Datenverarbeitungsschritte (2, 10) ausgeführt haben. Datenverarbeitungsnetzwerk (1) nach einem der vorhergehenden Ansprüche, wobei erste Datenverarbeitungsmodule Data processing network (1) according to one of the preceding claims, in which the synchronized control parameter (9) is a validity parameter which contains validity information relating to at least one data processing step (2) that has been carried out. Data processing network (1) according to one of the preceding claims further comprising at least one sequencing module (11) which is set up to sort and synchronize control parameters (8) from the data processing modules (5,6) and/or the data processing steps (2,10). and then forward this to the comparator module (7) with a sorting, so that the comparator module (7) can determine synchronized control parameters (9) independently of the order in which the data processing modules (5, 6) have carried out the data processing steps (2, 10). . Data processing network (1) according to one of the preceding claims, wherein first data processing modules
(5) mit ersten Hardwarekomponenten (12) und zweite Datenverarbeitungsmodule (6) mit zweiten Hardwarekomponenten (13) realisiert sind, wobei erste Hardwarekomponenten (12) und zweite Hardwarekomponenten (13) physisch voneinander getrennt sind. Datenverarbeitungsnetzwerk (1) nach Anspruch 6, wobei mindestens eines der Datenverarbeitungsmodule (5,6) eine Hardwarekomponente (12, 13) aufweist, die nicht ASIL-D konform ist. Datenverarbeitungsnetzwerk (1) nach einem der vorhergehenden Ansprüche, wobei das Komparatormodul (7) mit dritten Hardwarekomponenten (14) realisiert ist, welche physisch von ersten Hardwarekomponenten (12) und zweiten Hardwarekomponenten (13) getrennt ist. Datenverarbeitungsnetzwerk (1) nach Anspruch 8, wobei die dritte Hardwarekomponente (14) ASIL-D-konform ist.
Datenverarbeitungsnetzwerk (1) nach einem der vorhergehenden Ansprüche, wobei das Komparatormodul (7) einen Datenspeicher (15) aufweist in welchem ermittelte Kontrollparameter (8) mit Zeitinformationen (16) abgelegt werden, so dass ein logischer Zeitstrahl (17) entsteht, welcher die Reihenfolge der Abarbeitung der Datenverarbeitungsschritte (2) mit den Datenverarbeitungsmodulen (5,6) des Datenverarbeitungsnetzwerks (1) abbildet. Datenverarbeitungsnetzwerk (1) nach einem der vorhergehenden Ansprüche, wobei eine Hardwarekomponente (12,13) der Datenverarbeitungsmodule (5,(5) are implemented with first hardware components (12) and second data processing modules (6) with second hardware components (13), the first hardware components (12) and second hardware components (13) being physically separate from one another. Data processing network (1) according to Claim 6, in which at least one of the data processing modules (5, 6) has a hardware component (12, 13) which does not conform to ASIL-D. Data processing network (1) according to one of the preceding claims, wherein the comparator module (7) is implemented with third hardware components (14) which are physically separate from first hardware components (12) and second hardware components (13). Data processing network (1) according to claim 8, wherein the third hardware component (14) is ASIL-D compliant. Data processing network (1) according to one of the preceding claims, wherein the comparator module (7) has a data memory (15) in which determined control parameters (8) are stored with time information (16), so that a logical time line (17) is created which shows the sequence the execution of the data processing steps (2) with the data processing modules (5, 6) of the data processing network (1). Data processing network (1) according to one of the preceding claims, wherein a hardware component (12, 13) of the data processing modules (5,
6) deutlich leistungsstärker ist als eine Hardwarekomponente (14) des Komparatormoduls 6) is significantly more powerful than a hardware component (14) of the comparator module
(7). Datenverarbeitungsnetzwerk (1) nach einem der vorhergehenden Ansprüche, wobei der Vergleich der Kontrollparameter (8) eine Prüfung umfasst, ob ein bei der Datenverarbeitung im ersten Datenverarbeitungsmodul (5) und/oder im zweiten Datenverarbeitungsmodul (6) aufgetretener Fehler unterhalb einer Toleranzgrenze liegt und in diesem Fall der synchronisierte Kontrollparameter (9) erzeugt wird. Verfahren zum Betrieb eines Datenverarbeitungsnetzwerks (1) nach einem der vorhergehenden Ansprüche, aufweisend zumindest die folgenden Schritte: a) Durchführen eines Datenverarbeitungsschrittes (1) mit einem ersten Datenverarbeitungsmodul (5) und Erzeugen eines ersten Kontrollparameters (8) der dazu geeignet ist, die Durchführung des Datenverarbeitungsschrittes (2) mit dem ersten Datenverarbeitungsmodul (5) zu prüfen; b) Unabhängig von Schritt a) Durchführen desselben Datenverarbeitungsschrittes (2) mit einem zweiten Datenverarbeitungsmodul (6) und Erzeugen eines zweiten Kontrollparameters (8) der dazu geeignet ist die Durchführung des Datenverarbeitungsschrittes (2) mit dem zweiten Datenverarbeitungsmodul (6) zu prüfen;
- 21 - d) Durchführen eines Vergleichs sich entsprechender Kontrollparameter(7). Data processing network (1) according to one of the preceding claims, wherein the comparison of the control parameters (8) comprises a check as to whether an error which has occurred during data processing in the first data processing module (5) and/or in the second data processing module (6) is below a tolerance limit and in in which case the synchronized control parameter (9) is generated. Method for operating a data processing network (1) according to one of the preceding claims, having at least the following steps: a) carrying out a data processing step (1) with a first data processing module (5) and generating a first control parameter (8) which is suitable for carrying out to check the data processing step (2) with the first data processing module (5); b) Independent of step a), performing the same data processing step (2) with a second data processing module (6) and generating a second control parameter (8) which is suitable for checking the performance of the data processing step (2) with the second data processing module (6); - 21 - d) Carrying out a comparison of corresponding control parameters
(8), die von dem ersten Datenverarbeitungsmodul (5) und dem zweiten Datenverarbeitungsmodul (6) übermittelt wurden mit einem Komparatormodul (7) und basierend auf diesem Vergleich bereitstellen mindestens einen synchronisierten Kontrollparameter(8) transmitted by the first data processing module (5) and the second data processing module (6) with a comparator module (7) and based on this comparison provide at least one synchronized control parameter
(9), welcher eine Kontrollinformation bezüglich mindestens eines durchgeführten Datenverarbeitungsschrittes (2) beinhaltet.
(9), which contains control information relating to at least one data processing step (2) that has been carried out.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020213323.9A DE102020213323A1 (en) | 2020-10-22 | 2020-10-22 | Data processing network for data processing |
PCT/EP2021/078590 WO2022084176A1 (en) | 2020-10-22 | 2021-10-15 | Data processing network for performing data processing |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4232905A1 true EP4232905A1 (en) | 2023-08-30 |
Family
ID=78302755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21794795.1A Pending EP4232905A1 (en) | 2020-10-22 | 2021-10-15 | Data processing network for performing data processing |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230415757A1 (en) |
EP (1) | EP4232905A1 (en) |
JP (1) | JP7512529B2 (en) |
CN (1) | CN116635832A (en) |
DE (1) | DE102020213323A1 (en) |
WO (1) | WO2022084176A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200353884A1 (en) * | 2019-05-08 | 2020-11-12 | Mobileye Vision Technologies Ltd. | System on chip |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4155088B2 (en) | 2003-04-18 | 2008-09-24 | 日本電気株式会社 | Information processing device |
DE102005037246A1 (en) | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Method and device for controlling a computer system having at least two execution units and a comparison unit |
DE102015218882A1 (en) * | 2015-09-30 | 2017-03-30 | Robert Bosch Gmbh | Method and device for checking calculation results in a system with several processing units |
JP7042709B2 (en) | 2018-06-28 | 2022-03-28 | ルネサスエレクトロニクス株式会社 | Semiconductor devices, control systems and control methods for semiconductor devices |
-
2020
- 2020-10-22 DE DE102020213323.9A patent/DE102020213323A1/en active Pending
-
2021
- 2021-10-15 CN CN202180087011.6A patent/CN116635832A/en active Pending
- 2021-10-15 WO PCT/EP2021/078590 patent/WO2022084176A1/en active Application Filing
- 2021-10-15 US US18/249,480 patent/US20230415757A1/en active Pending
- 2021-10-15 JP JP2023524603A patent/JP7512529B2/en active Active
- 2021-10-15 EP EP21794795.1A patent/EP4232905A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102020213323A1 (en) | 2022-04-28 |
JP7512529B2 (en) | 2024-07-08 |
WO2022084176A1 (en) | 2022-04-28 |
US20230415757A1 (en) | 2023-12-28 |
CN116635832A (en) | 2023-08-22 |
JP2023546475A (en) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2513796B1 (en) | Method for operating a processor | |
EP0974901A2 (en) | Method to determine a uniform global view of the system states in a distributed computer network | |
WO2006045754A1 (en) | Method, operational system and computing unit for executing a computer program | |
EP4232905A1 (en) | Data processing network for performing data processing | |
WO2013007349A1 (en) | Method and system for the dynamic distribution of program functions in distributed control systems | |
DE102019202527A1 (en) | Security system and method for operating a security system | |
DE102013021231A1 (en) | Method for operating an assistance system of a vehicle and vehicle control unit | |
EP1812853B1 (en) | Method, operating system and computing element for running a computer program | |
EP2962162B1 (en) | Method for setting up and/or implementing a programming process of a control device of a transport means | |
WO2023066625A1 (en) | Data processing network for performing data processing | |
EP1320047B1 (en) | Method for analyzing the temporal behavior of complex distributed systems | |
WO2022063663A1 (en) | Method, data processing module, and data processing network for processing data | |
DE102015218898A1 (en) | Method for the redundant processing of data | |
DE102021211709A1 (en) | Data processing network for data processing | |
EP4309033A1 (en) | Computer-implemented method and device for the automated update of a communication unit of a control unit of a vehicle | |
EP1886222A1 (en) | Method for monitoring control devices | |
DE19801992C2 (en) | Process for improving system availability after processor processor failure | |
EP3379750B1 (en) | Method for processing a request message of a road vehicle and server arrangement | |
DE102022205517A1 (en) | Methods for processing data | |
DE102020215332A1 (en) | Method for performing a computation on two different computational units | |
WO2023066626A1 (en) | Method for processing data using a data processing network comprising a plurality of data processing modules, data processing module and data processing network | |
WO2023138870A1 (en) | Method and data processing network for processing sensor data | |
DE102014213826A1 (en) | Method for synchronizing state changes in multi-core computers of embedded systems | |
DE102017004836A1 (en) | Method for operating at least two control devices, in particular of a motor vehicle | |
DE102023104360A1 (en) | Method and optimization agent for optimizing a system with multiple neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20230522 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |