EP3073375A1 - Verfahren zur ermittlung einer maximalen laufzeit für ein tasksystem - Google Patents
Verfahren zur ermittlung einer maximalen laufzeit für ein tasksystem Download PDFInfo
- Publication number
- EP3073375A1 EP3073375A1 EP16000696.1A EP16000696A EP3073375A1 EP 3073375 A1 EP3073375 A1 EP 3073375A1 EP 16000696 A EP16000696 A EP 16000696A EP 3073375 A1 EP3073375 A1 EP 3073375A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- task
- max
- time
- determining
- maximum
- 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.)
- Ceased
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000000737 periodic effect Effects 0.000 claims abstract description 32
- 238000005259 measurement Methods 0.000 claims abstract description 30
- 230000004913 activation Effects 0.000 claims abstract description 16
- 238000001994 activation Methods 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 6
- 238000004904 shortening Methods 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001136792 Alle Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Definitions
- the invention relates to a method for determining a maximum runtime for a task system.
- a task performed by a computer in a controller is commonly referred to as a "task”.
- task generally refers to any task performed on a controller with a start (start time S) and an end (end time E).
- Such control devices comprise a computer and a memory for executing a task or a task system from a plurality of individual tasks.
- electronic components are controlled or regulated.
- control units are used, for example, in the motor vehicle sector, where they are used as standard today to process information from sensors and / or actuate actuators. If the ECU is embedded in such a technical context, it is called embedded systems.
- the embedded control unit takes over, for example, monitoring, control or control functions or is responsible for the data or signal processing.
- Each periodic task to be executed by the computer has a start time S, an end time E, an execution time T and a period O.
- a task system of N different periodic tasks is said to execute a number of N tasks on one controller, all at the same time or one after the other.
- the task system of N tasks is characterized by the start times S (1,1), ..., S (N, M N ), end times E (1,1) ... E (N, M N ) and execution times T (1 , 1), ..., T (N, M N ) of all N tasks completely determined.
- the start times S and end times E, start times S and execution times T or end times E and execution times T are to be stored in pairs.
- a hyper period can be determined by determining the least common multiple of the period lengths.
- the period O is the time interval after which these tasks are repeatedly executed, ie between two successive start times (S 1 and S 2 ) or two consecutive end times (E1 and E2) of the same task.
- the term measuring period is used for a hyper period K, wherein in principle the measuring period can also contain tasks which occur only once.
- a method of determining a maximum run time for a task system is used in real-time analysis of task systems. It is assumed that the maximum runtime must be determinable for a task system which is to fulfill real-time conditions. For this purpose, the execution times of all tasks performed by the control unit are taken into account.
- the prior art is from " SK Baruah, A. Burns, RI Davis: “Response Time Analysis for Mixed Criticality Systems” RTSS, 2011 IEEE 32 nd, 34-43, 2011 "A method of real-time scheduling is known which provides mechanisms to ensure a behavior to be certified, assuming that one task is exactly one has maximum execution time.
- the periodic and non-periodic portions of the execution time should be quantifiable, so that the maximum runtime can be determined more accurately.
- the maximum run time is determined for the task system from the sum of M n maximum execution times for all individual tasks, wherein for determining the maximum execution times of each task activation is considered. All individual execution times are taken into account by storing them as assignable.
- the maximum of the execution time can be determined taking into account the periodic variations of its runtime. Due to the consideration of all execution times, the dynamics, ie deviations from an expected execution time, can be taken into account when determining a maximum runtime. Because periodic and non-periodic portions of the execution time are quantified, periodic deviation can be taken into account when determining the maximum runtime with which the execution time for executing a task systematically fluctuates (eg, jitter) in a dynamic task system.
- the quotient of the sum of all M maximum execution times T (1,1) max ,..., T (N, MN) max and the measurement period K is formed for determining a maximum processor load P within all I measuring periods.
- the utilization of the control unit can be determined taking into account the exact maximum execution times from the determination of the maximum duration.
- an execution sequence for time control is formed on the basis of the M maximum execution times T (1,1) max, ..., T (N, M N ) max .
- the processing sequence sequence of processed tasks is selected such that the periodic maximum run times of different tasks are distributed over the period so that the load (computing load) is optimized in such a way as to reduce the overload probability below a predetermined threshold.
- processor utilization can be optimized using the accurately determined periodic execution time variations.
- the step of determining M maximum execution times T (1,1) max , ..., T (N, M N ) max for at least two (different) measurement periods i 1, ..., 1 (identical length) ,
- a mean value A (1,1),..., A (N, M N ) is preferably formed in each case over the I execution times T i (1,1),..., T i (N, M N ).
- the vector A includes the mean start times and execution times and thus the mean timing behavior, which detects all periodic runtime changes.
- An alternately short and long-running task thus gets, for example, a numerically small and a numerically large entry for its execution time. If there were no non-deterministic influences in the processor, the runtime variation of the task would be completely identified as periodic if the deviation from the mean A is zero. Conversely, this means that there are non-deterministic, aperiodic influences when there are deviations from the mean A.
- a preferred aspect provides for deviations V i (1,1) V i (N, M N ) from the periodic component measured by A at the execution times T i (1,1), ..., T i (N, M to determine N) by (the M execution times T i 1,1), ..., T i (N, M N), respectively, the mean value A (1,1), ..., A (N, M N ) is deducted.
- the deviations V i (1,1),..., V i (N, M N ) from the mean value A (1,1),..., A (N, M N ) are the non-periodic components of the Execution times T i (1,1), ..., T i (N, M N ).
- Non-periodic portions are due to non-deterministic influences, for example when a task responds to a non-system-influenced variable (eg, sensor input).
- a further preferred aspect provides that the sign of the deviations V i (1,1),..., V i (N, M N ) is determined.
- the deviations V i (1,1),..., V i (N, M N ) are classified on the basis of the sign in terms of transit time shortenings and transit time extensions.
- the non-periodic components (deviations V i (1,1),..., V i (N, M N )) have a sign. For example, a positive sign determines an (aperiodic) runtime extension and a negative sign a (aperiodic) runtime truncation.
- Another aspect provides that the duration of the deviations V i (1,1),..., V i (N, M N ) is determined, and wherein the duration of the deviations V i (1,1), .. ., V i (N, M N ) is compared with a predetermined period of time to determine critical and uncritical deviations. Thus, critical deviations that are longer than a predetermined period of time can be sorted out.
- the covariance is preferably determined for the deviations V i (1,1),..., V i (N, M N ), and from which statistically correlative propagation time increases are identified.
- the covariance of two task runs is less than 0 if deviations occur statistically in the opposite direction (eg runtime extension versus runtime shortening) and greater than 0 if the direction is the same. Thus, depending on the sign covariance, a critical common runtime increase can be identified.
- a further preferred aspect of the invention relates to a control device comprising a computer and a memory, which control device is designed in accordance with the method described above or is set up such that a task system having a correspondingly determined maximum runtime is executed therewith.
- at least one task is a control process (setting the chassis parameters) or a control process (checking the traveled road or weather conditions) of an electronic landing gear.
- Fig. 1 1 shows a control unit 1 on the basis of which the method for determining the dynamics of a task system from two different periodic tasks 11, 12 can be described.
- task 11 has a period of 5 ms
- task 12 has a period of 1 ms.
- the smallest common multiple of the two periods gives 5 ms as the measurement period (hyper period).
- an identically constructed vector 2 with twelve entries is selected.
- start times S 1 ,..., S 6 and end times E 1 ,..., E 6 of all task activations are entered for each measurement period, so that the times are based on the vectors 2 from different measurement periods Assign different measuring periods to each other or compare them.
- the comparison of the vectors 2 makes it possible to determine the deviations in different measuring periods I.
- the M maximum execution times T (1,1) max , ..., T (n, M N ) max can be determined over all I measuring periods and so that the maximum runtime for the task system is determined from the sum of all M N maximum execution times T (n, 1) max ,..., T (n, M N ) max .
- Fig. 2 is an example of a standard deviation of execution times over many measurement periods.
- FIG. 10 is an illustration of using the method to analyze execution times determined during a real-time measurement.
- FIG. The presentation is based on the example of the task system Fig. 1 , When analyzing a task system, it is important to evaluate the timing of the execution of tasks on a control unit.
- the first vector is the expectation of execution times.
- the second vector from the left is the standard deviation of the execution times. Both were determined over a large number of measuring periods.
- the third vector from the left is the execution times and on the far right is the vector with the execution times reduced by the expected value.
- Fig. 4 is a group of measurements maximum execution times T (1,1) max, ..., T (n, M N) max all I measurement periods in the Fig. 1 presented task system. This form of presentation is better suited for discussion than its matrix form.
- Fig. 5 shows the vector-valued expected value (mean A (1,1), ..., A (N, M N ) for the in Fig. 5 illustrated series of measurements. The data contains deterministic parts, like the starting values.
- Fig. 6 shows the deviation V i (1,1), ..., V i (N, M N ) of the family of expected value of the measurement series.
- Fig. 7 shows the crowd, where only the execution times are selected. In the crowd you can see that the execution time of task 2 varies systematically.
- the maximum runtime in this representation is the sum of the maximum execution times (at the top of the graph).
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
- Die Erfindung betrifft ein Verfahren zur Ermittlung einer maximalen Laufzeit für ein Tasksystem.
- Eine von einem Rechner in einem Steuergerät ausgeführte Aufgabe (Prozess, Berechnung, Steuerung, Regelung, etc.) wird üblicherweise als "Task" bezeichnet. Im Folgenden bezeichnet Task allgemein jede auf einem Steuergerät ausgeführte Aufgabe mit einem Anfang (Startzeit S) und einem Ende (Endzeit E).
- Derartige Steuergeräte umfassen einen Rechner und einen Speicher zum Abarbeiten eines Tasks bzw. eines Tasksystems aus mehreren einzelnen Tasks. Beim Abarbeiten werden elektronische Bauteile gesteuert oder geregelt. Anwendung finden solche Steuergeräte zum Beispiel im Kfz-Bereich, wo diese heute standardmäßig eingesetzt werden um Informationen von Sensoren zu verarbeiten und/oder Aktoren anzusteuern. Ist das Steuergerät in so einen technischen Kontext eingebunden, spricht man von eingebetteten Systemen. Das eingebettete Steuergerät übernimmt beispielsweise Überwachungs-, Steuerungs- oder Regelfunktionen oder ist für die Daten- bzw. Signalverarbeitung zuständig.
- Jeder von dem Rechner abzuarbeitende periodische Task hat eine Startzeit S, eine Endzeit E, eine Ausführungsdauer T und eine Periodendauer O. Von einem Tasksystem aus N verschiedenen periodischen Tasks spricht man, wenn eine Anzahl von N Tasks auf einem Steuergerät ausgeführt wird, egal ob gleichzeitig oder nacheinander. Das Tasksystem aus N Tasks wird durch die Startzeiten S(1,1),..., S(N,MN), Endzeiten E(1,1)...E(N,MN) und Ausführungszeiten T(1,1),...,T(N,MN) aller N Tasks vollständig bestimmt. Dabei ist Mn die Häufigkeit der Taskaktivierung von Task n = 1...N. So sind paarweise die Startzeiten S und Endzeiten E, Startzeiten S und Ausführungszeiten T oder Endzeiten E und Ausführungszeiten T zu speichern.
- Für ein Tasksystem aus n = 1 ... N periodischen Tasks mit jeweils unterschiedlicher Periodendauern O1, ..., ON lässt sich eine Hyperperiode bestimmen, indem das kleinste gemeinsame Vielfache der Periodendauern ermittelt wird. Als Periodendauer O bezeichnet man den zeitlichen Abstand nach dem diese Tasks wiederholt durchgeführt werden, also zwischen zwei aufeinanderfolgenden Startzeiten (S1 und S2) oder zwei aufeinanderfolgenden Endzeiten (E1 und E2) desselben Tasks. Es gibt aperiodische Tasks und periodische Tasks, wobei periodische Tasks in regelmäßigen Zeitintervallen kontinuierlich stattfinden. Innerhalb der Hyperperiode laufen alle periodischen Tasks mindestens einmal oft aber mehrfach ab, so dass es insgesamt M = M1+... +MN) Taskaktivierungen gibt. In der vorliegenden Anmeldung wird für eine Hyperperiode K der Begriff Messperiode verwendet, wobei die Messperiode prinzipiell auch Tasks enthalten kann, die nur einmal auftreten.
- Ein Verfahren zur Ermittlung einer maximalen Laufzeit für ein Tasksystem wird zum Beispiel bei der Echtzeitanalyse von Tasksystemen angewendet. Dabei wird angenommen, dass für ein Tasksystem, das Echtzeitbedingungen erfüllen soll, die maximale Laufzeit bestimmbar sein muss. Dazu werden die Ausführungszeiten aller vom Steuergerät ausgeführten Tasks berücksichtigt. Im Stand der Technik ist aus "S.K. Baruah, A. Burns, R.I. Davis: "Response-Time Analysis for Mixed Criticality Systems" RTSS, 2011 IEEE 32 nd, 34-43, 2011" ein Verfahren zu Echtzeitscheduling bekannt, welches Mechanismen zur Verfügung stellt, um ein zu zertifizierendes Verhalten sicherzustellen. Dabei wird davon ausgegangen, dass ein Task genau eine maximale Ausführungszeit besitzt. In periodischen Tasksystemen ist diese Eigenschaft allerdings in der Regel zu streng, da ein Task in der Regel abhängig von seinem inneren Zustand periodische Variationen seiner Laufzeit aufweist. Hier gilt ein Tasksystem als nicht in Echtzeit abarbeitbar, wenn die akkumulierte "worst-case" Laufzeit in einem Zeitintervall die Intervalllänge übersteigt. Der Nachteil daran ist, dass die inneren periodischen Variationen der Laufzeit aller Tasks nicht bei der Ermittlung der maximalen Laufzeit des Tasksystems berücksichtigt werden.
- Ein anderes Verfahren dazu ist aus S. Chakraborty, S. Künzli, L. Thiele: "Approximate Schedulability Analysis", 23rd IEEE Real-Time Systems Symposium (RTSS), IEEE Press, 159-168, 2002, bekannt. Dabei handelt es sich um ein Verfahren zur Analyse der Durchführbarkeit eines Taskzeitplans. Hier wird eine Bedarfsobergrenzenfunktion (demand-bound function) definiert, welche für jeden Task verschiedene Realisierungen erlaubt. Dieses Vorgehen ist mathematisch abstrakt und berücksichtigt ebenfalls nicht periodische innere Varianten jedes Tasks.
- Im Artikel "Relaxing Mixed-Criticality Scheduling Strictness for Task Sets Scheduled with FP." DOI: 10.1109/ECRTS.2012.39; Conference: Real-Time Systems (ECRTS), 2012 24th" wird ein Modell beschrieben, das auf Vektoren basiert. Die Vektoren modellieren hier eine WCET pro Task, daher ist erneut kein Modell für innere Perioden von Tasks dargestellt.
- Die Annahme, dass jeder Task eine maximale Ausführungszeit, eine "Worst Case Execution Time - WCET" hat, ist eine starke Vereinfachung, insofern nicht-deterministische Einflüsse, z.B. über Caches, Out-of-Order Execution, Branch Prediction auf die Ausführungszeit Einfluss nehmen und die reale Ausführungszeit damit deutlich unter der WCET liegt. Damit ergeben sich vor allem Probleme bei modernen Prozessoren, die keine deterministische Ausführungszeit haben. Hier entstehen durch die WCET Betrachtung Leerlaufzeiten, die bei einer genauen Betrachtung und Messung der realen Bedingungen auf dem Prozessor unnötig sein können. Schon bei einfachen Iterationen (Newton Verfahren zum Lösen nichtlinearer Gleichungen) ergibt sich keine Oberschranke für die Anzahl der Iterationsschritte.
- Ferner ist aus Carzola, F.J. et al.: PROARTIS: Probabilistically Analysable Real-Time Systems; Rapport de recherche No. 7869; 26. 1. 2012; bekannt, ein Echtzeitsystem unter Berücksichtigung von Wahrscheinlichkeiten zu analysieren. Es wird eine Timing Analyse vorgeschlagen, die Wahrscheinlichkeitsverteilungen berücksichtigt, um verbesserte WCET Abschätzungen zu erreichen. Dabei werden die über einen inneren Zustand periodisch durchlaufenden Schwankungen in der Laufzeit als statistische Varianz betrachtet. Mit diesem Ansatz ist es nicht möglich die periodische Variabilität der Laufzeit von der tatsächlich nicht-deterministischen Laufzeit zu unterscheiden.
- Im Stand der Technik wird nicht berücksichtigt, dass bei Tasksystemen mit periodischen Tasks die Ausführungszeiten beim wiederholten Abarbeiten nicht identisch sind, sondern eine gewisse Dynamik, d.h. Abweichungen von einer erwarteten Ausführungszeit, haben. Bei einem dynamischen Tasksystem schwankt die Ausführungszeit zum Abarbeiten eines Tasks mit einer Abweichung, deren Größe als Jitter (Fehler) bezeichnet wird. Die Schwankungen der Ausführungszeiten werden von deterministischen (periodischen) und nicht-deterministischen (zufälligen) Einflüsse verursacht.
- Im Stand der Technik werden alle Schwankungen als nicht-deterministisch behandelt und der deterministische Anteil der Ausführungszeit wird nicht weiter berücksichtigt. Dadurch verlieren Messungen automatisch an Präzision, da die Varianz der Laufzeit auf diese Weise künstlich vergrößert wird. Bei der WCET wird ebenfalls keine Schwankung der Ausführungszeit berücksichtigt und es wird angenommen, dass die tatsächliche Rechenzeit die als am ungünstigsten angenommene Ausführungszeit für einen Task nicht überschreitet und anhand dieser Ausführungszeit die Laufzeit des Tasksystems abgeschätzt.
- Mit solchen Verfahren lassen sich die tatsächlichen Ausführungszeiten nur ungenau vorhersagen, insofern die WCET auf einer Schätzung beruht, bei der die tatsächlichen Fluktuationen in der Ausführungszeit einzelner Tasks unberücksichtigt bleiben.
- Es ist die Aufgabe der vorliegenden Erfindung ein Verfahren zur Ermittlung einer maximalen Laufzeit für ein Tasksystem bereitzustellen, das die im Stand der Technik genannten Nachteile nicht hat. Insbesondere sollen die periodischen und nichtperiodischen Anteile der Ausführungszeit quantifizierbar sein, so dass sich die maximale Laufzeit genauer bestimmen lässt.
- Diese Aufgabe wird durch das Verfahren gemäß dem unabhängigen Verfahrensanspruch gelöst. Vorteilhafte Aspekte bilden den Gegenstand der abhängigen Ansprüche.
- Die Erfindung umfasst ein Verfahren zur Ermittlung einer maximalen Laufzeit für ein Tasksystem aus N verschiedenen periodischen Tasks auf einem Steuergerät umfassend einen Rechner und einen Speicher, wobei jeder von dem Rechner periodisch abzuarbeitende Task, eine Startzeit S, eine Endzeit E, eine Ausführungszeit T und eine Periodendauer O ab einem gemeinsamen Startzeitpunkt bis zum Aktivierungszeitpunkt des jeweiligen Tasks hat, mit folgenden Schritten:
- Bestimmen der Periodendauer O1, ..., ON von allen n = 1...N Tasks des Tasksystems;
- Festlegen einer Messperiode K als das kleinste gemeinsamen Vielfache der auftretenden Periodendauern O1, ...,ON der N Tasks;
- Festlegung der Häufigkeit M1,...,MN für jede Taskaktivierung innerhalb der Messperiode als Quotient der einzelnen Periodendauern und der Messperiode K zu M1=K/O1,,.., MN=K/ON;
- Bestimmen der Gesamtanzahl an Taskdurchläufen innerhalb der Messperiode K als die Summe der einzelnen Häufigkeiten zu M=M1+M2+...+MN;
- Bestimmen aller M Startzeiten S(1,1),...,S(N,MN) und Endzeiten E(1,1)...E(N,Mn), aller Startzeiten S(1,1),...,S(N,MN) und Ausführungszeiten T(1,1),...,T(N,MN) oder aller Endzeiten E(1,1),...,E(N,MN) und Ausführungszeiten T(1,1),...,T(N,MN), wobei diese in der Form
- a) xi=(S(1,1), E(1,1), S(1,2), E(1,2)..., S(1,M1),..., S(n,1),..., E(N,MN); oder
- b) xi=(S(1,1), T(1,1), S(1,2), T(1,2)..., S(1,M1),..., S(n,1),..., T(N,MN); oder
- c) xi=(T(1,1), E(1,1), T(1,2), E(1,2)..., T(1,M1),..., T(n,1),..., E(N,MN); jeweils für jede der i Messperioden i=1,.., I einander zuordenbar gespeichert werden;
- Bestimmung von M maximalen Ausführungszeiten T(1,1)max , ...,T(n,MN)max über alle I Messperioden; und
- Ermittlung der maximalen Laufzeit für das Tasksystem aus der Summe aller MN maximalen Ausführungszeiten T(n,1)max, ..., T(n,MN)max.
- Mit dem Verfahren wird die maximale Laufzeit für das Tasksystem aus der Summe der Mn maximalen Ausführungszeiten aller einzelnen Tasks ermittelt, wobei zur Bestimmung der maximalen Ausführungszeiten jede Taskaktivierung berücksichtigt wird. Es werden alle einzelnen Ausführungszeiten berücksichtigt, indem diese zuordenbar gespeichert werden. So kann für jeden Task und alle Taskaktivierungen das Maximum der Ausführungszeit unter Berücksichtigung der periodische Variationen seiner Laufzeit ermittelt werden. Aufgrund der Berücksichtigung aller Ausführungszeiten lässt sich die Dynamik, d.h. Abweichungen von einer erwarteten Ausführungszeit, bei der Ermittlung einer maximalen Laufzeit mitberücksichtigen. Weil periodische und nicht-periodische Anteile der Ausführungszeit quantifiziert werden, können periodische Abweichung bei der Ermittlung der maximalen Laufzeit berücksichtigt werden, mit denen bei einem dynamischen Tasksystem die Ausführungszeit zum Abarbeiten eines Tasks systematisch schwankt (z.B. Jitter).
- Gemäß einem bevorzugten Aspekt des Verfahrens wird zur Ermittlung einer maximalen Prozessorlast P innerhalb aller I Messperioden der Quotient der Summe aller M maximalen Ausführungszeiten T(1,1)max , ... , T(N,MN)max und der Messperiode K gebildet. So kann die Auslastung des Steuergeräts unter Berücksichtigung der genauen maximalen Ausführungszeiten aus der Ermittlung der maximalen Laufzeit ermittelt werden.
- Bevorzugt werden Anhand der M maximalen Ausführungszeiten T(1,1)max, ..., T(N,MN)max eine Abarbeitungsfolge zur Zeitsteuerung gebildet. Dabei wird die Abarbeitungsfolge (Reihenfolge der abgearbeiteten Tasks) derart gewählt, dass die periodischen Maximallaufzeiten verschiedener Tasks so über die Periode verteilt werden, dass die Last (Rechenlast) derart optimiert wird, um die Überlastwahrscheinlichkeit unter einem vorbestimmten Schwellwert zu senken. So kann die Prozessorauslastung optimiert werden, unter Verwendung der genau ermittelten periodischen Ausführungszeitschwankungen.
- Vorteilhafterweise erfolgt der Schritt der Bestimmung von M maximalen Ausführungszeiten T(1,1)max,...,T(N,MN)max für mindestens zwei (verschiedene) Messperioden i=1,...,1 (identischer Länge).
- Bevorzugt wird ein Mittelwert A(1,1),..., A(N,MN) jeweils über die I Ausführungszeiten Ti(1,1) ,..., Ti(N,MN) gebildet. Auf diese Art und Weise lassen sich die periodischen Schwankungen in den Messdaten gemittelt bestimmen. So beinhaltet der Vektor A die mittleren Startzeitpunkte und Ausführungsdauern und damit das mittlere Timingverhalten, welches alle periodischen Laufzeitveränderungen erfasst. Ein abwechselnd kurz und lang laufender Task bekommt damit z.B. einen numerisch kleinen und einen numerisch großen Eintrag für seine Ausführungszeit. Gäbe es nun keine nicht-deterministischen Einflüsse im Prozessor, so wäre die Laufzeitschwankung des Tasks vollständig als periodisch identifiziert, wenn die Abweichung vom Mittelwert A Null ist. Das Bedeutet im Umkehrschluss, dass es nicht-deterministische, aperiodische Einflüsse gibt, wenn es Abweichungen vom Mittelwert A gibt. Diese lassen sich durch Subtraktion des Mittelwertes von einem konkreten Messvektor Ti berechnen und untersuchen.
- Ein bevorzugter Aspekt sieht vor, Abweichungen Vi(1,1) Vi(N,MN) von dem durch A gemessenen periodischen Anteil bei den Ausführungszeiten Ti(1,1) , ..., Ti(N,MN) zu bestimmen, indem von den M Ausführungszeiten Ti(1,1), ..., Ti(N,MN) jeweils der Mittelwert A(1,1),...,A(N,MN) abgezogen wird. Die Abweichungen Vi(1,1),...,Vi(N,MN) vom Mittelwert A(1,1),...,A(N,MN) sind die nicht periodische Anteile an den Ausführungszeiten Ti(1,1), ..., Ti(N,MN). Nicht periodische Anteile entstehen aufgrund von nicht deterministischen Einflüssen, zum Beispiel wenn ein Task auf eine nicht vom System beeinflusste Größe reagiert (z.B. Sensoreingabe).
- Ein ferner bevorzugter Aspekt sieht vor, dass das Vorzeichen der Abweichungen Vi(1,1),...,Vi(N,MN) bestimmt wird. Dabei werden die Abweichungen Vi(1,1),...,Vi(N,MN) anhand des Vorzeichens in Laufzeitverkürzungen und Laufzeitverlängerungen klassifiziert. Die nicht periodischen Anteile (Abweichungen Vi(1,1),...,Vi(N,MN)) haben ein Vorzeichen. Zum Beispiel bestimmt ein positives Vorzeichen eine (aperiodische) Laufzeitverlängerung und ein negatives Vorzeichen eine (aperiodische) Laufzeitverkürzung.
- Ein anderer Aspekt sieht vor, dass die Zeitdauer der Abweichungen Vi(1,1),...,Vi(N,MN) bestimmt wird, und wobei die Zeitdauer der Abweichungen Vi(1,1),...,Vi(N,MN) mit einer vorbestimmten Zeitdauer verglichen wird, um kritische und unkritische Abweichungen zu bestimmen. So können kritische Abweichungen, die länger sind als eine vorbestimmte Zeitdauer aussortiert werden.
- Bevorzugt wird die Kovarianz für die Abweichungen Vi(1,1),...,Vi(N,MN) bestimmt, und anhand derer statistisch korrelierende Laufzeiterhöhungen identifiziert werden. Die Kovarianz zweier Taskdurchläufe ist kleiner 0, wenn Abweichungen statistisch in die entgegengesetzte Richtung (z.B. Laufzeitverlängerung gegen Laufzeitverkürzung) auftreten und größer 0, wenn die Richtung gleich ist. So kann abhängig vom Vorzeichen Kovarianz eine kritische gemeinsame Laufzeiterhöhung identifiziert werden.
- Ein weiterer bevorzugter Aspekt der Erfindung betrifft ein Steuergerät umfassend einen Rechner und einen Speicher, welches Steuergerät gemäß dem voranstehend ausgeführten Verfahren ausgelegt ist bzw. derart eingerichtet ist, dass ein Tasksystem mit einer entsprechend ermittelten maximalen Laufzeit damit ausgeführt wird. Besonders bevorzugt ist mindestens ein Task ein Steuervorgang (Einstellung der Fahrwerksparameter) oder eine Regelvorgang (Prüfen der befahrenen Straße oder Witterungsverhältnisse) eines elektronischen Fahrwerks.
- Im Folgenden wird die Erfindung anhand der in den beigefügten Zeichnungen dargestellten Beispiele näher erläutert.
- Es zeigen:
- Fig. 1
- Darstellung eines Tasksystems aus zwei Tasks;
- Fig. 2
- Tabelle mit Standardabweichungen;
- Fig. 3
- Beispielvektor der Laufzeitdynamik;
- Fig. 4
- Darstellung unkorrelierter, gleichverteilter Ausführungszeiten;
- Fig. 5
- Darstellung Erwartungswert;
- Fig. 6
- Darstellung Standardabweichung; und
- Fig. 7
- Darstellung der Schwankung der Ausführungszeit.
-
Fig. 1 zeigt ein Steuergerät 1 anhand dem das Verfahren zur Ermittlung der Dynamik eines Tasksystems aus zwei verschiedenen periodischen Tasks 11, 12 beschrieben werden kann. Bei den beiden periodischen Tasks 11, 12 hat Task 11 eine Periode von 5 ms und Task 12 eine Periode von 1 ms. Das kleinste gemeinsame Vielfache der beiden Periodendauern ergibt 5 ms als Messperiode (Hyperperiode). Innerhalb der Messperiode gibt es sechs Taskaktivierungen M. Zur Darstellung des Tasksystems aus dem Task 11 und dem Task 12 wird ein identisch aufgebauter Vektor 2 mit zwölf Einträgen gewählt. In Vektor 2 werden für jede Messperiode Startzeiten S1, ..., S6 und Endzeiten E1, ..., E6 aller Taskaktivierungen eingetragen, so dass anhand der Vektoren 2 aus verschiedenen Messperioden sich die Zeiten aus verschiedenen Messperioden einander zuordnen bzw. miteinander vergleichen lassen. Der Vergleich der Vektoren 2 ermöglicht die Bestimmung der Abweichungen in verschiedenen Messperioden I. Aus allen Taskaktivierungen lassen sich die M maximalen Ausführungszeiten T(1,1)max , ...,T(n,MN)max über alle I Messperioden bestimmen und damit die maximalen Laufzeit für das Tasksystem aus der Summe aller MN maximalen Ausführungszeiten T(n,1)max , ... , T(n,MN)max ermitteln. -
Fig. 2 ist ein Beispiel für eine Standardabweichung von Ausführungszeiten, die über viele Messperioden ermittelt wurden. - In
Fig. 3 ist eine Darstellung bei der Anwendung des Verfahrens zur Analyse von während einer Echtzeitmessung ermittelten Ausführungszeiten. Die Darstellung erfolgt am Beispiel des Tasksystems ausFig. 1 . Bei der Analyse eines Tasksystems geht es darum, den zeitlichen Ablauf der Abarbeitung von Tasks auf einem Steuergerät zu bewerten. - Von links nach rechts ist der erste Vektor der Erwartungswert der Ausführungszeiten. Der zweite Vektor von links ist die Standardabweichung der Ausführungszeiten. Beide wurden über eine Vielzahl an Messperioden bestimmt. Der dritte Vektor von links sind die Ausführungszeiten und ganz rechts steht der Vektor mit den um den Erwartungswert reduzierten Ausführungszeiten.
- Im Stand der Technik wird eine WCET für jeden Tasks angenommen. Bei einer solchen Systemauslegung führt dies dazu, dass für alle Ausführungen des Tasks 2 eine Zeit von 0,5 ms angenommen werden muss, da die des Tasks bei 0,5 ms liegt. Daher wird angenommen, dass das System durch Task 2 zu 50% ausgelastet ist.
- Bei einer einfachen statistischen Analyse bekommt man den Mittelwert (Summe der Ausführungszeiten durch die Anzahl der Ausführungszeiten) 0,18 ms für die Ausführungszeit, welcher keine Information trägt, da diese Ausführungszeit die Wahrscheinlichkeit 0 besitzt. Die mittlere Auslastung liegt daher aber bei 18%. Im Unterschied dazu ist die tatsächliche Auslastung aus der Vektordarstellung direkt ablesbar.
-
Fig. 4 ist eine Schar von Messungen maximalen Ausführungszeiten T(1,1)max,...,T(n,MN)max über alle I Messperioden des inFig. 1 dargestellten Tasksystems. Diese Form der Darstellung eignet sich besser für eine Diskussion als ihre Matrixform.Fig. 5 zeigt den vektorwertigen Erwartungswert (Mittelwert A(1,1),...,A(N,MN) für die inFig. 5 dargestellte Messreihe. Die Daten enthalten deterministische Anteile, wie die Startwerte.Fig. 6 zeigt die Abweichung Vi(1,1),...,Vi(N,MN) der Schar vom Erwartungswert der Messreihe.Fig. 7 zeigt die Messschar, wobei hier nur die Ausführungszeiten gewählt sind. An der Schar kann man sehen, dass die Ausführungszeit des Tasks 2 systematisch schwankt. Die maximale Laufzeit ergibt sich in dieser Darstellung aus der Summe der (am oberen Rand der graphischen Darstellung) abgelesenen maximalen Ausführungszeiten.
Claims (10)
- Verfahren zur Ermittlung einer maximalen Laufzeit für ein Tasksystem aus N verschiedenen periodischen Tasks (11, 12) auf einem Steuergerät umfassend einen Rechner und einen Speicher, wobei jeder von dem Rechner periodisch abzuarbeitende Task (11, 12), eine Startzeit S, eine Endzeit E, eine Ausführungszeit T und eine Periodendauer O ab einem gemeinsamen Startzeitpunkt bis zum Aktivierungszeitpunkt des jeweiligen Tasks hat, mit folgenden Schritten:- Bestimmen der Periodendauer O1,...,ON von allen n = 1...N Tasks (11, 12) des Tasksystems;- Festlegen einer Messperiode K als das kleinste gemeinsamen Vielfache der auftretenden Periodendauern O1,...,ON der N Tasks (11, 12);- Festlegung der Häufigkeit M1,...,MN für jede Taskaktivierung innerhalb der Messperiode als Quotient der einzelnen Periodendauern und der Messperiode K zu M1 =K/O1,... ,MN=K/ON;- Bestimmen der Gesamtanzahl an Taskaktivierungen M innerhalb der Messperiode K als die Summe der einzelnen Häufigkeiten zu M=M1+M2+...+MN;- Bestimmen aller M Startzeiten S(1,1),...,S(N,MN) und Endzeiten E(1,1),...,E(N,Mn), aller M Startzeiten S(1,1),...,S(N,MN) und Ausführungszeiten T(1,1),...,T(N,MN) oder aller M Endzeiten E(1,1),..., E(N,MN) und Ausführungszeiten T(1,1),...,T(N,MN), wobei diese in der Forma) xi=(S(1,1), E(1,1), S(1,2), E(1,2)...,S(1,M1),...,S(n,1),...,E(N,MN); oderb) xi(S(1,1), T(1,1), S(1,2), T(1,2) .... S(1,M1),...,S(n,1),...,T(N,MN); oderc) xi=(T(1,1), E(1,1), T(1,2), E(1,2) .... T(1,M1),...,T(n,1),...,E(N,MN); jeweils für jede der i Messperioden i=1,.., I einander zuordenbar gespeichert werden;- Bestimmung von M maximalen Ausführungszeiten T(1,1)max,...,T(n,MN)max über alle I Messperioden; und- Ermittlung der maximalen Laufzeit für das Tasksystem aus der Summe aller MN maximalen Ausführungszeiten T(n,1)max, ..,T(n,MN)max.
- Verfahren nach Anspruch 1, wobei zur Ermittlung einer maximalen Prozessorlast P innerhalb aller I Messperioden der Quotient der Summe aller M maximalen Ausführungszeiten T(1,1)max,... ,T(N,MN)max und der Messperiode K gebildet wird.
- Verfahren nach Anspruch 1 oder 2, wobei Anhand der M maximalen Ausführungszeiten T(1,1)max,... ,T(N,MN)max eine Abarbeitungsfolge der Taskaktivierungen gebildet wird, bei der die maximale Laufzeit minimal ist.
- Verfahren nach einem der vorangehenden Ansprüche, wobei der Schritt der Bestimmung von M maximalen Ausführungszeiten T(1,1)max,...,T(N,MN)max für mindestens zwei Messperioden i=1,...,1 durchgeführt wird, und wobei ein Mittelwert A(1,1),...,A(N,MN) über mindestens zwei I jeweiligen Ausführungszeiten Ti(1,1),..., Ti(N,MN) gebildet wird.
- Verfahren nach Anspruch 4, wobei Abweichungen Vi(1,1),...,Vi(N,MN) bei den Ausführungszeiten Ti(1,1),...,Ti(N,MN) bestimmt werden, indem von den M Ausführungszeiten Ti(1,1),...,Ti(N,MN) jeweils der Mittelwert A(1,1),...,A(N,MN) abgezogen wird.
- Verfahren nach Anspruch 5, wobei das Vorzeichen der Abweichungen Vi(1,1),...,Vi(N,MN) bestimmt wird, und wobei die Abweichungen Vi(1,1),...,Vi(N,MN) anhand des Vorzeichens in Laufzeitverkürzungen und Laufzeitverlängerungen klassifiziert werden.
- Verfahren nach Anspruch 5 oder 6, wobei die Zeitdauer der Abweichungen Vi(1,1),...,Vi(N,MN) bestimmt wird, und wobei die Zeitdauer der Abweichungen Vi(1,1),...,Vi(N,MN) mit einer vorbestimmten Zeitdauer verglichen wird, um kritische und unkritische Abweichungen zu bestimmen.
- Verfahren nach einem der Ansprüche 5 bis 7, wobei ein Vorzeichen der Kovarianz für die Abweichungen Vi(1,1),...,Vi(N,MN) bestimmt wird, und wobei anhand der Vorzeichen gemeinsame Laufzeiterhöhung identifiziert werden.
- Steuergerät umfassend einen Rechner und einen Speicher, welches Steuergerät gemäß dem Verfahren nach einem der vorangehenden Ansprüche ausgelegt ist.
- Steuergerät nach Anspruch 9, auf dem mindestens ein Task ein Steuervorgang oder eine Regelvorgang für ein elektronisches Fahrwerk ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102015104606 | 2015-03-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3073375A1 true EP3073375A1 (de) | 2016-09-28 |
Family
ID=55745508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP16000696.1A Ceased EP3073375A1 (de) | 2015-03-26 | 2016-03-23 | Verfahren zur ermittlung einer maximalen laufzeit für ein tasksystem |
Country Status (1)
Country | Link |
---|---|
EP (1) | EP3073375A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176814A (zh) * | 2019-12-29 | 2020-05-19 | 山东英信计算机技术有限公司 | 一种任务执行方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002006949A2 (de) * | 2000-07-15 | 2002-01-24 | Robert Bosch Gmbh | Verfahren und vorrichtung zur messung der laufzeit einer task in einem echtzeitsystem |
DE10110444A1 (de) * | 2001-03-05 | 2002-09-26 | Bosch Gmbh Robert | Verfahren und Vorrichtung zum Ermitteln der Auslastung eines Rechengeräts |
DE102005048037A1 (de) * | 2005-10-07 | 2007-04-12 | Robert Bosch Gmbh | Verfahren zur Steuerung/Regelung wenigstens einer Task |
DE102013202774A1 (de) * | 2013-02-20 | 2014-08-21 | Robert Bosch Gmbh | Vorrichtung, Verfahren und System zum Steuern eines Prozessors |
-
2016
- 2016-03-23 EP EP16000696.1A patent/EP3073375A1/de not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002006949A2 (de) * | 2000-07-15 | 2002-01-24 | Robert Bosch Gmbh | Verfahren und vorrichtung zur messung der laufzeit einer task in einem echtzeitsystem |
DE10110444A1 (de) * | 2001-03-05 | 2002-09-26 | Bosch Gmbh Robert | Verfahren und Vorrichtung zum Ermitteln der Auslastung eines Rechengeräts |
DE102005048037A1 (de) * | 2005-10-07 | 2007-04-12 | Robert Bosch Gmbh | Verfahren zur Steuerung/Regelung wenigstens einer Task |
DE102013202774A1 (de) * | 2013-02-20 | 2014-08-21 | Robert Bosch Gmbh | Vorrichtung, Verfahren und System zum Steuern eines Prozessors |
Non-Patent Citations (4)
Title |
---|
"Relaxing Mixed-Criticality Scheduling Strictness for Task Sets Scheduled with FP.", CONFERENCE: REAL-TIME SYSTEMS (ECRTS, 2012 |
CARZOLA, F.J. ET AL., PROARTIS: PROBABILISTICALLY ANALYSABLE REAL-TIME SYSTEMS, vol. 26, no. 7869, 2012, pages 1 |
S. CHAKRABORTY; S. KÜNZLI; L. THIELE: "IEEE Real-Time Systems Symposium (RTSS", 2002, IEEE PRESS, article "Approximate Schedulability Analysis", pages: 159 - 168 |
S.K. BARUAH; A. BURNS; R.I. DAVIS: "RTSS", 2011, IEEE, article "Response-Time Analysis for Mixed Criticality Systems", pages: 34 - 43 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176814A (zh) * | 2019-12-29 | 2020-05-19 | 山东英信计算机技术有限公司 | 一种任务执行方法及相关装置 |
CN111176814B (zh) * | 2019-12-29 | 2022-06-17 | 山东英信计算机技术有限公司 | 一种任务执行方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012000797B4 (de) | Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik | |
EP1831786B1 (de) | Verfahren zur verteilung von rechenzeit in einem rechnersystem | |
DE102010029209B4 (de) | Verfahren zur dynamischen Verteilung von einem oder mehreren Diensten in einem Netz aus einer Vielzahl von Rechnern | |
WO2005111807A2 (de) | Verfahren zur prüfung der echtzeitfähigkeit eines systems | |
DE102007051803A1 (de) | Verfahren und Vorrichtung zur Datenverarbeitung | |
EP3291094A1 (de) | Prozessorsystem und verfahren zur überwachung von prozessoren | |
DE112019005584T5 (de) | Arithmetiksteuervorrichtung | |
DE102014103139B4 (de) | Parallelisierte Ausführung von Single-Core Steuerungssoftware auf Multi-Core Fahrzeugsteuergeräten | |
EP3080668A1 (de) | Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts | |
DE102020214951A1 (de) | Verfahren zum dynamischen Zuweisen von Speicherbandbreite | |
WO2017140504A1 (de) | Verfahren und vorrichtung zum betreiben eines steuergeräts | |
DE112018006331B4 (de) | Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm | |
EP3073375A1 (de) | Verfahren zur ermittlung einer maximalen laufzeit für ein tasksystem | |
WO2003069424A2 (de) | Reaktionszeit-beschränkung eines software-prozesses | |
DE102015100566A1 (de) | Verfahren und leichter Mechanismus für gemischte kritische Anwendungen | |
DE102009025572A1 (de) | Eine Methode zur Entwicklung von garantiert korrekten Echtzeitsystemen | |
EP2592504B1 (de) | Verfahren zur Abschätzung eines Ressourcenverbrauchs bei der Erzeugung eines Steuergeräteprogrammcodes | |
DE102016214117A1 (de) | Ermitteln einer Ausführungszeit eines Anwenderprogramms | |
DE102016206490A1 (de) | Elektronische steuereinheit | |
EP4139849A1 (de) | Verfahren zum konfigurieren von komponenten in einem system mit hilfe von multi-agent reinforcement learning, computerlesbares speichermedium und system | |
DE102016218210A1 (de) | Ein dynamischer Aufgabenplaner in einer Mehrkern-Elektroniksteuereinheit | |
DE102016113968A1 (de) | Prozessor zur korrelationsbasierter Endlosschleifenerkennung | |
EP1502189B1 (de) | Verfahren zur ermittlung der prioritätsabhangigen rechenzeitverteilung in einem priorit tsgesteuerten mehrprozess-rechenysystem | |
EP3757525B1 (de) | Sensor und verfahren zum betreiben eines sensors | |
DE102016107646A1 (de) | Optimierungstechnologie für Single- zu Multi-Core Portierungen von Steuerungssoftware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
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 |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
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: 20170327 |
|
RBV | Designated contracting states (corrected) |
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 |
|
APBK | Appeal reference recorded |
Free format text: ORIGINAL CODE: EPIDOSNREFNE |
|
APBN | Date of receipt of notice of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA2E |
|
APBR | Date of receipt of statement of grounds of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA3E |
|
APAV | Appeal reference deleted |
Free format text: ORIGINAL CODE: EPIDOSDREFNE |
|
RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: E:FS TECHHUB GMBH |
|
APBT | Appeal procedure closed |
Free format text: ORIGINAL CODE: EPIDOSNNOA9E |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20240429 |