DE10110444A1 - Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruption - Google Patents
Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruptionInfo
- Publication number
- DE10110444A1 DE10110444A1 DE10110444A DE10110444A DE10110444A1 DE 10110444 A1 DE10110444 A1 DE 10110444A1 DE 10110444 A DE10110444 A DE 10110444A DE 10110444 A DE10110444 A DE 10110444A DE 10110444 A1 DE10110444 A1 DE 10110444A1
- Authority
- DE
- Germany
- Prior art keywords
- task
- computer program
- interrupt
- tasks
- time interval
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
Abstract
Description
Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Ermitteln der Auslastung eines Rechengeräts. Auf dem Rechengerät wird ein Computerprogramm abgearbeitet. Das Computerprogramm ist in mehrere Tasks unterteilt und jede Task umfasst mindestens einen Prozess.The present invention relates to a method and a Device for determining the utilization of a Computing device. A computer program is on the computing device processed. The computer program is divided into several tasks divided and each task comprises at least one process.
Die Erfindung betrifft außerdem ein Speicherelement, insbesondere ein Read-Only-Memory, ein Random-Access-Memory oder ein Flash-Memory. Auf dem Speicherelement ist ein Computerprogramm gespeichert, das auf einem Rechengerät, insbesondere auf einem Mikroprozessor, ablauffähig ist.The invention also relates to a memory element, in particular a read-only memory, a random access memory or a flash memory. There is a on the storage element Computer program stored on a computing device, in particular on a microprocessor, is executable.
Schließlich betrifft die vorliegende Erfindung ein Computerprogramm, das auf einem Rechengerät, insbesondere auf einem Mikroprozessor, ablauffähig ist.Finally, the present invention relates to a Computer program running on a computing device, in particular on a microprocessor, is executable.
Ein Computerprogramm im Sinne der vorliegenden Erfindung ist bspw. ein Steuerprogramm, das zur Steuerung/Regelung von technischen Vorgängen und anderer Funktionen in einem Kraftfahrzeug dient. Das Steuerprogramm ist auf einem Rechengerät, insbesondere auf einem Mikroprozessor, eines Steuergeräts eines Kraftfahrzeugs ablauffähig. Das Steuerprogramm ist in mehrere Tasks unterteilt und jede Task umfasst mindestens einen Prozess. Den einzelnen Tasks sind unterschiedliche Prioritäten zugeordnet. Die Tasks können sich gegenseitig unterbrechen. Das Steuerprogramm kann in einem kooperativen oder in einem preemptiven Modus abgearbeitet werden. Die vorliegende Erfindung gilt für die Abarbeitung von Tasks durch das Rechengerät im kooperativen und im preemptiven Modus gleichermaßen.A computer program in the sense of the present invention is, for example, a control program for controlling of technical processes and other functions in one Motor vehicle is used. The control program is on one Computing device, in particular on a microprocessor, one Control unit of a motor vehicle executable. The Control program is divided into several tasks and each Task comprises at least one process. The individual tasks different priorities are assigned. The tasks can interrupt each other. The control program can be in a cooperative or in a preemptive mode be processed. The present invention applies to Processing of tasks by the computing device in the cooperative and in preemptive mode alike.
Die Abarbeitung einzelner Tasks eines Steuerprogramms im kooperativen Modus bedeutet, dass bei unterschiedlich priorisierten Tasks eine auszuführende höherpriorisierte Task zu einer Unterbrechung einer aktuell ausgeführten niederpriorisierten Task führt. Anders als im preemptiven Modus, bei dem eine auszuführende höherpriorisierte Task einen aktuell ausgeführten Prozess einer niederpriorisierten Task unterbricht, wartet im kooperativen Modus die höherpriorisierte Task das Ende des aktuell ausgeführten Prozesses der niederpriorisierten Task ab. Erst danach wird die niederpriorisierte Task unterbrochen und die höherpriorisierte Task ausgeführt. Wenn die höherpriorisierte Task fertig ist, wird die niederpriorisierte Task bei dem Prozess fortgesetzt, vor dem sie unterbrochen wurde.The processing of individual tasks of a control program in cooperative mode means that at different prioritized tasks to perform a higher priority Task to interrupt a currently running low priority task. Unlike in the preemptive Mode in which a higher priority task to be executed a currently running process of a low priority task interrupts, waits in cooperative mode the higher priority task the end of the Process of the low-priority task currently running from. Only then will the low-priority task interrupted and the higher priority task executed. When the higher priority task is finished, the low priority task continued with the process before which she was interrupted.
Die Abarbeitung der Tasks eines Steuerprogramms im kooperativen Modus ist aus der DE 195 00 957 A1 bekannt. Die Unterbrechung einer niederpriorisierten Task durch eine höherpriorisierte Task gehört zu den Aufgaben eines Multi-Tasking Betriebssystems. Ein solches Multi-Tasking Betriebssystem, das sowohl den kooperativen Modus als auch den preemptiven Modus bei der Abarbeitung von Steuerprogrammen unterstützt, ist bspw. das Echtzeitbetriebssystem ERCOSEK von der Firma ETAS Entwicklungs- und Applikationswerkzeuge für elektronische Systeme GmbH & Co. KG, Stuttgart, Deutschland (vgl. ETAS GmbH & Co. KG: ERCOSEK V2.0.0 Manual, Stuttgart, 1998). Auf die DE 195 00 957 A1 und das ERCOSEK-Handbuch wird ausdrücklich Bezug genommen.The processing of the tasks of a control program in the cooperative mode is known from DE 195 00 957 A1. Interrupting a low-priority task by a higher-priority task is one of the tasks of a multi-tasking operating system. Such a multi-tasking operating system, which supports both the cooperative mode and the preemptive mode when processing control programs, is, for example, the real-time operating system ERCOS EK from the company ETAS Development and Application Tools for Electronic Systems GmbH & Co. KG, Stuttgart, Germany (see ETAS GmbH & Co.KG: ERCOS EK V2.0.0 Manual, Stuttgart, 1998). Reference is expressly made to DE 195 00 957 A1 and the ERCOS EK manual.
Während des Betriebs eines Rechengeräts ist dieses je nach Anzahl der Prozessaufrufe und Abarbeitungsdauer der aufgerufenen Prozesse mehr oder weniger stark ausgelastet. Bei Zeit- oder sicherheitskritischen Anwendungen, wie bspw. der Steuerung von X-by-Wire-Anwendungen (Steer-by-Wire, Brake-by-Wire, etc.) in einem Kraftfahrzeug, muss eine zu starke Auslastung bzw. gar eine Überlastung des Rechengeräts vermieden werden, da bei einer Überlastung eine ordnungsgemäße Abarbeitung des Programms nicht mehr gewährleistet werden kann. Um die Auslastung des Rechengeräts zu überwachen und bei einer zu starken Auslastung geeignete Gegenmassnahmen treffen zu können, ist es bekannt, die Auslastung des Rechengeräts zu ermitteln. Die Gegenmassnahmen bestehen bspw. darin, den Aufruf weniger Zeit- oder sicherheitskritische Prozesse gezielt zu verzögern um den Aufruf und die Abarbeitung von besonders Zeit- oder sicherheitskritischen Prozessen zu ermöglichen.During the operation of a computing device, this depends on Number of process calls and processing time of the called processes more or less busy. In time- or safety-critical applications, such as control of X-by-wire applications (steer-by-wire, Brake-by-wire, etc.) in a motor vehicle, one must heavy occupancy or even an overload of the Computing devices can be avoided because of an overload proper execution of the program no longer can be guaranteed. To the utilization of the Monitor computing device and if it is too strong To be able to take suitable countermeasures it is known to determine the utilization of the computing device. The countermeasures are, for example, the call targeted fewer time or safety-critical processes delay the calling and processing of special To enable time-critical or safety-critical processes.
Zum Ermitteln der Auslastung eines Rechengeräts sind verschiedene Verfahren bekannt. Aus der DE 197 57 876 A1 ist es bspw. bekannt, immer dann, wenn das Rechengerät nicht ausgelastet ist, d. h. kein Prozess auf dem Rechengerät abgearbeitet wird, ein gesondertes Leerlaufprogramm aufzurufen. Aus der Laufdauer oder der Anzahl der Aufrufe des Leerlaufprogramms während eines vorgebbaren Zeitintervalls kann die Auslastung des Rechengeräts ermittelt werden (AuslastungRechengerät [%] = 100% - LaufdauerLeerlaufprogramm [%]). Die berechnete Auslastung stellt einen über einen längeren Zeitintervall gefilteter Mittelwert dar. Aus diesem Grund kann die Auslastung des Rechengeräts mit dem bekannten Verfahren nur mit einer sehr geringen Dynamik bestimmt werden.Various methods are known for determining the utilization of a computing device. From DE 197 57 876 A1 it is known, for example, to call a separate idle program whenever the computing device is not fully utilized, ie no process is being processed on the computing device. The load on the computing device can be determined from the running time or the number of calls to the idling program during a predeterminable time interval (utilization of computing device [%] = 100% - running time idling program [%]). The calculated utilization represents a mean value filtered over a longer time interval. For this reason, the utilization of the computing device can only be determined with a very low dynamic using the known method.
Ein weiterer Nachteil des bekannten Verfahrens ist, dass das Leerlaufprogramm bei einer starken Auslastung nur sehr selten aufgerufen wird und auf dem Rechengerät abläuft. Wenn das betrachtete Zeitintervall zu kurz vorgegeben wird, kann es vorkommen, dass das Leerlaufprogramm in dem Zeitintervall nicht aufgerufen wird und eine 100%-ige Auslastung ermittelt wird, obwohl die tatsächliche Auslastung geringer ist. Ebenso wird das Leerlaufprogramm bei einer schwachen Auslastung des Rechengeräts nur sehr selten nicht aufgerufen, nämlich nur dann nicht, wenn Prozesse des Computerprogramms abgearbeitet werden. Wenn das betrachtete Zeitintervall zu kurz vorgegeben wird, kann es vorkommen, dass das Leerlaufprogramm in dem Zeitintervall ständig abläuft und eine 0%-ige Auslastung ermittelt wird, obwohl die tatsächliche Auslastung höher ist.Another disadvantage of the known method is that the idle program only with a high load is rarely called and runs on the computing device. If the time interval under consideration is too short, it can happen that the idle program in the Time interval is not called and a 100% Utilization is determined, although the actual Utilization is lower. Likewise, the idle program only very weak when the computing device is under load rarely not called, namely not only if Processes of the computer program are processed. If the time interval under consideration is too short, can it happens that the idle program in the Time interval expires constantly and a 0% utilization is determined, although the actual utilization is higher is.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, einerseits die Auslastung eines Rechengeräts möglichst genau und zuverlässig und mit einer hohen Dynamik und andererseits die Abarbeitungsdauer von Prozessen oder Tasks eines auf dem Rechengerät abgearbeiteten Computerprogramms unabhängig von Unterbrechungen durch Prozesse höherpriorer Tasks zu ermitteln.The present invention is based on the object on the one hand, the utilization of a computing device if possible accurate and reliable and with a high dynamic and on the other hand, the processing time of processes or tasks a computer program processed on the computing device regardless of interruptions caused by higher priority processes Identify tasks.
Zur Lösung dieser Aufgabe schlägt die vorliegende Erfindung
ausgehend von dem Verfahren der eingangs genannten Art vor,
dass
To achieve this object, the present invention, based on the method of the type mentioned at the beginning, proposes that
- - ein Zeitintervall derart gewählt wird, dass während des Zeitintervalls mindestens eine Task begonnen und wieder beendet wird;- A time interval is chosen such that during of the time interval at least one task started and is ended again;
- - während des Zeitintervalls nach Beenden der oder jeder Task die Laufzeit der Task ermittelt wird; und- during the time interval after the or everyone has ended Task the runtime of the task is determined; and
- - falls die beendete Task von mindestens einer weiteren Task unterbrochen wurde, die Laufzeit der oder jeder weiteren Task von der ermittelten Laufzeit abgezogen wird.- if the completed task by at least one other Task was interrupted, the runtime of or everyone further task deducted from the determined runtime becomes.
Mit dem erfindungsgemäßen Verfahren können die unterbrechungsfreien Abarbeitungszeiten einer jeden in dem Rechengerät aktiven Task ermittelt werden. Die geschieht, durch Einfügen geeigneter Programm-Befehle am Abarbeitungsbeginn und am Abarbeitungsende der Tasks des Computerprogramms. Durch eine Addition der Abarbeitungszeiten aller Tasks, die innerhalb des vorgebbaren Zeitintervalls beendet werden, und eine anschließende Normierung auf das Zeitintervall, kann die prozentuale Auslastung des Rechengeräts mit nahezu beliebiger Dynamik und ohne Filterung bzw. Mittelwertbildung ermittelt werden.With the method according to the invention, the uninterrupted processing times of everyone in the Calculator active task can be determined. That happens by inserting suitable program commands on Start of processing and at the end of processing the tasks of Computer program. By adding the Processing times of all tasks within the predeterminable time interval are ended, and a subsequent normalization to the time interval, the percentage utilization of the computing device with almost any dynamics and without filtering or Averaging can be determined.
Gemäß einer vorteilhaften Weiterbildung der vorliegenden
Erfindung wird vorgeschlagen, dass
According to an advantageous development of the present invention, it is proposed that
- - das Zeitintervall derart gewählt wird, dass während des Zeitintervalls mindestens zwei Tasks begonnen und wieder beendet werden; und- The time interval is chosen such that during of the time interval at least two tasks started and be stopped again; and
- - die Laufzeiten der beendeten Tasks in der Reihenfolge der Beendigung der Tasks ermittelt werden.- The runtimes of the completed tasks in the order the completion of the tasks can be determined.
Gemäß einer bevorzugten Ausführungform der vorliegenden
Erfindung wird vorgeschlagen, dass
According to a preferred embodiment of the present invention, it is proposed that
- - zu Beginn des Verfahrens eine Variable (Unterbr) auf Null gesetzt wird;- a variable (interrupt) at the beginning of the procedure Is set to zero;
- - die Laufzeit der beendeten Task anhand der Gleichung tLaufzeit = tEnde - tAnfang - (UnterbrEnde - UnterbrAnfang) ermittelt wird; und- The runtime of the completed task is determined using the equation t runtime = t end - t start - (interrupt end - interrupt start ); and
- - ein neuer Wert für die Variable anhand der Gleichung Unterbr = UnterbrAnfang + (tEnde - tAnfang) ermittelt wird,a new value for the variable is determined using the equation interrupt = interrupt start + (t end - t start ),
wobei tAnfang where t start
der Wert eines während der Abarbeitung des Computerprogramms fortlaufenden Zeitzählers zu Beginn der Task, tEnde the value of a time counter running during the processing of the computer program at the beginning of the task, t end
der Wert des Zeitzählers nach Beenden der Task, UnterbrAnfang the value of the time counter after the task has ended, interrupt start
der Wert der Variablen zu Beginn der Task und UnterbrEnde the value of the variable at the beginning of the task and interrupt at the end
der Wert der Variablen nach Beenden der Task ist.the value of the variable after the task has ended is.
Vorteilhafterweise werden zum Ermitteln der Auslastung des Rechengeräts nach Ablauf des vorgegebenen Zeitintervalls die ermittelten Laufzeiten der Tasks addiert und in Verhältnis zu dem Zeitintervall gesetzt.To determine the utilization of the Computing device after the specified time interval the determined run times of the tasks are added up and in Relation to the time interval set.
Vorzugsweise werden die ermittelten Laufzeiten der einzelnen Tasks jeweils in einer eigenen Speicherzelle des Rechengeräts, vorzugsweise in einer Random-Access-Memory (RAM)-Speicherzelle, abgelegt. Für eine nachfolgende Berechnung der Auslastung muß gewährleistet werden, dass in den Speicherzellen aktuelle Laufzeitwerte zur Verfügung stehen. Das kann bspw. durch Löschen der Speicherzellen nach der Berechnung der Auslastung oder durch Überschreiben des Inhalts der Speicherzellen nach der Berechnung bspw. mit Null oder einem aktuellen Laufzeitwert für die nachfolgende Berechnung.The determined terms are preferably the individual tasks each in a separate memory cell of the Computing device, preferably in a random access memory (RAM) memory cell. For a subsequent one Calculation of utilization must ensure that in current runtime values are available to the memory cells stand. This can be done, for example, by deleting the memory cells after calculating the utilization or by overwriting the content of the memory cells after the calculation, for example. with zero or a current runtime value for the subsequent calculation.
Von besonderer Bedeutung ist die Realisierung des erfindungsgemäßen Verfahrens in der Form eines Speicherelements. Dabei ist auf dem Speicherelement ein Computerprogramm gespeichert, das auf einem Rechengerät, insbesondere auf einem Mikroprozessor, ablauffähig und zur Ausführung des erfindungsgemäßen Verfahrens geeignet ist. In diesem Fall wird also die Erfindung durch ein auf dem Speicherelement abgespeichertes Computerprogramm realisiert, so dass dieses mit dem Computerprogramm versehene Speicherelement in gleicher Weise die Erfindung darstellt wie das Verfahren, zu dessen Ausführung das Computerprogramm geeignet ist. Als Speicherelement kann insbesondere ein elektrisches Speichermedium zur Anwendung kommen, bspw. ein Read-Only-Memory, ein Random-Access- Memory oder ein Flash-Memory. The realization of the inventive method in the form of a Storage element. Here is on the storage element Computer program stored on a computing device, in particular on a microprocessor, executable and for Execution of the method according to the invention is suitable. In this case, the invention is based on a Storage element stored computer program realized so this with the computer program provided storage element in the same way the invention represents how the process, the execution of which Computer program is suitable. Can be used as a storage element in particular an electrical storage medium for use come, e.g. a read-only memory, a random access Memory or a flash memory.
Die Erfindung betrifft auch ein Computerprogramm, das zur Ausführung des erfindungsgemäßen Verfahrens geeignet ist, wenn es auf einem Rechengerät, insbesondere auf einem Mikroprozessor, abläuft. Besonders bevorzugt ist dabei, wenn das Computerprogramm auf einem Speicherelement, insbesondere auf einem Flash-Memory, abgespeichert ist.The invention also relates to a computer program for Execution of the method according to the invention is suitable, if it is on a computing device, especially on a Microprocessor, expires. It is particularly preferred if the computer program on a storage element, is stored in particular on a flash memory.
Als eine weitere Lösung der Aufgabe der vorliegenden
Erfindung wird ausgehend von der Vorrichtung zum Ermitteln
der Auslastung eines Rechengeräts der eingangs genannten
Art vorgeschlagen, dass die Vorrichtung
As a further solution to the problem of the present invention, starting from the device for determining the utilization of a computing device of the type mentioned at the beginning, it is proposed that the device
- - während eines vorgebbaren Zeitintervalls nach Beenden der oder jeder Task die Laufzeit der Task ermittelt; und- During a predefinable time interval after termination the or each task determines the runtime of the task; and
- - falls die beendete Task von mindestens einer weiteren Task unterbrochen wurde, die Laufzeit der oder jeder weiteren Task von der ermittelten Laufzeit abzieht.- if the completed task by at least one other Task was interrupted, the runtime of or everyone subtracts another task from the determined runtime.
Die erfindungsgemäße Vorrichtung ist bspw. als ein Steuergerät eines Kraftfahrzeugs ausgebildet, das zur Steuerung/Regelung von technischen Vorgängen und anderer Funktionen in dem Kraftfahrzeug dient. Das Steuergerät weist ein Rechengerät, insbesondere einen Mikroprozessor, auf, auf dem ein Steuerprogramm ablauffähig ist. Das Steuerprogramm ist in mehrere Tasks unterteilt und jede Task umfasst mindestens einen Prozess. In der Vorrichtung sind Mittel zur Ausführung des erfindungsgemäßen Verfahrens realisiert. Dadurch können die unterbrechungsfreien Abarbeitungszeiten einer jeden in dem Rechengerät aktiven Task ermittelt werden. Durch eine Addition der Abarbeitungszeiten aller Tasks, die innerhalb des vorgebbaren Zeitintervalls beendet werden, und eine anschließende Normierung auf das Zeitintervall, kann zudem die prozentuale Auslastung des Rechengeräts ermittelt werden. The device according to the invention is, for example, as a Control device of a motor vehicle designed for Control of technical processes and others Functions in the motor vehicle is used. The control unit has a computing device, in particular a microprocessor, on which a control program is executable. The Control program is divided into several tasks and each Task comprises at least one process. In the device are means for carrying out the method according to the invention realized. This allows the uninterruptible Processing times of everyone active in the computing device Task can be determined. By adding the Processing times of all tasks within the predeterminable time interval are ended, and a subsequent normalization to the time interval can also the percentage utilization of the computing device is determined become.
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung. Es zeigen:Other features, applications and advantages of the Invention result from the following description of embodiments of the invention, which in the Drawing are shown. Thereby form all described or illustrated features for themselves or in any Combination the subject of the invention, regardless of their summary in the claims or their Relationship and regardless of their wording or Representation in the description or in the drawing. It demonstrate:
Fig. 1 ein Ablaufdiagramm eines in drei Tasks A, B, C unterteilten Steuerprogramms; FIG. 1 is a flowchart of a, C divided control program in three tasks A, B;
Fig. 2 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens gemäß einer bevorzugten Ausführungsform; und Fig. 2 is a flow diagram of a method according to a preferred embodiment; and
Fig. 3 eine erfindungsgemäße Vorrichtung zur Abarbeitung des Verfahrens aus Fig. 2 gemäß einer bevorzugten Ausführungsform. Fig. 3 shows an inventive apparatus for processing the method of FIG. 2 according to a preferred embodiment.
In Fig. 3 ist ein Steuergerät eines Kraftfahrzeugs in seiner Gesamtheit mit dem Bezugszeichen 1 bezeichnet. Das Steuergerät 1 weist ein Rechengerät auf, das als ein Mikroprozessor 2 ausgebildet ist. Auf einem Speicherelement des Steuergeräts 1, das als ein Flash-Memory 3 ausgebildet ist, ist ein Computerprogramm gespeichert. Das Computerprogramm ist als ein Steuerprogramm zur Steuerung von technischen Vorgängen insbesondere in einem Kraftfahrzeug ausgebildet. Das Steuerprogramm kann auf dem Mikroprozessor 2 abgearbeitet werden. Zur Datenübertragung ist zwischen dem Mikroprozessor 2 und dem Flash-Memory 3 eine Datenverbindung 4, die bspw. als eine Bus-Leitung ausgebildet ist, vorgesehen. An dem Steuergerät 1 liegen verschiedene Eingangsgrößen 5 an, die bspw. die Signale von Sensoren und Messwertaufnehmern sind. Die Eingangsgrößen 5 charakterisieren den Zustand der zu steuernden Funktionen, den Zustand des Kraftfahrzeugs oder andere Zustände wie bspw. die Witterungsverhältnisse. Anhand der Eingangsgrößen 5 werden in dem Steuergerät 1 Ausgangsgrößen 6 ermittelt, die zur Ansteuerung von Aktoren oder Stellern dienen. Die Ausgangsgrößen 6 sind bspw. Sollwerte für Steuerungen oder Regelungen.In Fig. 3 a control unit of a motor vehicle is designated in its entirety by the reference numeral 1. The control device 1 has a computing device which is designed as a microprocessor 2 . A computer program is stored on a memory element of control unit 1 , which is designed as a flash memory 3 . The computer program is designed as a control program for controlling technical processes, in particular in a motor vehicle. The control program can be processed on the microprocessor 2 . A data connection 4 , which is designed, for example, as a bus line, is provided between the microprocessor 2 and the flash memory 3 for data transmission. Various input variables 5 are present on the control unit 1 , which are, for example, the signals from sensors and sensors. The input variables 5 characterize the state of the functions to be controlled, the state of the motor vehicle or other states such as the weather conditions. On the basis of the input variables 5 , output variables 6 are determined in the control device 1 , which serve to control actuators or actuators. The output variables 6 are, for example, setpoints for controls.
Das Steuerprogramm ist in mehrere Tasks A, B, C unterteilt (vgl. Fig. 1), wobei jede Task wiederum mindestens einen Prozess umfasst. Eine Task A, B, C wird zu einem bestimmten Zeitpunkt oder regelmäßig mit einer bestimmten Abtastzeit aufgerufen und kann in einem kooperativen oder in einem preemptiven Modus abgearbeitet werden. Jeder Task A, B, C ist eine bestimmte Priorität zugeordnet. Die Task A hat die niedrigste Priorität, die Task C die höchste. Wenn während der Abarbeitung des Steuerprogramms zwei Tasks gleichzeitig ausgeführt werden sollen, werden die Prioritäten der beiden Tasks verglichen und die Task mit der höheren Prioriät als erste abgearbietet.The control program is divided into several tasks A, B, C (cf. FIG. 1), each task in turn comprising at least one process. A task A, B, C is called at a certain point in time or regularly with a certain sampling time and can be processed in a cooperative or in a preemptive mode. Each task A, B, C is assigned a specific priority. Task A has the lowest priority, Task C the highest. If two tasks are to be carried out simultaneously during the execution of the control program, the priorities of the two tasks are compared and the task with the higher priority is processed first.
Wenn bspw. die Task A abgearbeitet wird und die Task B
ausgeführt werden soll, können je nach der von einem
Programmierer gewählten Konfiguration der Tasks
verschiedene Fälle auftreten:
Falls die Task A eine höhere Priorität als die Task B hat
(in Fig. 1 nicht der Fall), wird mit der Ausführung der
Task B gewartet bis die Task A beendet ist.
Falls die Task B eine höhere Priorität als die Task A hat
(Beispiel aus Fig. 1), wird die Abarbeitung der Task A
unterbrochen und die Task B ausgeführt. Falls der
Programmierer die Ausführung der Tasks in dem kooperativen
Modus gewählt hat, wird mit der Ausführung der Task B auf
das Ende des aktuellen Prozesses der Task A gewartet.
Sobald dieser Prozess beendet ist, wird die Task A
unterbrochen und die Task B ausgeführt. Wenn die Task B
beendet ist, wird die Task A zu Beginn des Prozesses, vor
dem Sie zur Ausführung der Task B unterbrochen wurde,
weiter abgearbeitet.If, for example, task A is processed and task B is to be executed, different cases can occur depending on the configuration of the tasks selected by a programmer:
If task A has a higher priority than task B (not the case in FIG. 1), execution of task B is waited until task A has ended.
If task B has a higher priority than task A (example from FIG. 1), processing of task A is interrupted and task B is executed. If the programmer has chosen to execute the tasks in the cooperative mode, the execution of task B waits for the end of the current process of task A. As soon as this process is finished, task A is interrupted and task B is executed. When task B ends, task A continues to run at the beginning of the process before it was interrupted to execute task B.
Falls der Programmierer die Abarbeitung der Tasks in dem preemptiven Modus gewählt hat, unterbricht die Task B den aktuellen Prozess der Task A und die Task B wird unmittelbar ausgeführt. Anschließend wird die Task A bei dem unterbrochenen Prozess weiter abgearbeitet.If the programmer completes the tasks in the has selected preemptive mode, task B interrupts the current process of task A and task B will executed immediately. Then Task A is at the interrupted process.
Die Unterbrechung einer Task durch eine andere Task mit einer höheren Prioriät gehört zu den Aufgaben eines Multi- Tasking Betriebsystems. Die Laufzeit der Prozesse schwankt je nach der Belastung des Rechengeräts, auf dem das Steuerprogramm abgearbeitet wird. Aus diesem Grund und aufgrund der möglichen, von anderen Tasks verursachten Unterbrechungen kann die Reihenfolge der Prozessaufrufe bei einer mehrmaligen Ausführung ein und desselben Steuerprogramms unterschiedlich sein. Die Laufzeiten der einzelnen Tasks innerhalb eines vorgebbaren Zeitintervalls kann also Schwankungen unterworfen sein.The interruption of a task by another task with a higher priority is one of the tasks of a multi Tasking operating system. The runtime of the processes fluctuates depending on the load on the computing device on which the Control program is processed. For this reason and due to the possible causes of other tasks Interruptions can affect the order of the process calls a repeated execution of one and the same Control program may be different. The terms of the individual tasks within a predefinable time interval can therefore be subject to fluctuations.
Um die Abarbeitungsdauer von Prozessen oder Tasks A, B, C eines auf dem Mikroprozessor 2 abgearbeiteten Steuerprogramms unabhängig von Unterbrechungen durch Prozesse höherpriorer Tasks zu ermitteln, wird ein erfindungsgemäßes Verfahren vorgeschlagen, von dem ein Ablaufdiagramm in Fig. 2 dargestellt ist. Anhand der Abarbeitungsdauer der einzelnen Prozesse oder Tasks A, B, C innerhalb eines vorgebbaren Zeitintervalls T kann anhand des erfindungsgemäßen Verfahrens auch die Auslastung des Mikroprozessors 2 genau und zuverlässig und mit einer hohen Dynamik ermittelt werden.In order to determine the processing time of processes or tasks A, B, C of a control program executed on the microprocessor 2 independently of interruptions by processes of higher priority tasks, a method according to the invention is proposed, of which a flowchart is shown in FIG. 2. Based on the processing time of the individual processes or tasks A, B, C within a predeterminable time interval T, the utilization of the microprocessor 2 can also be determined precisely and reliably and with high dynamics using the method according to the invention.
Das Verfahren beginnt in einem Funktionsblock 10. In einem
Funktionsblock 11 wird das Zeitintervall T vorgegeben. Das
Zeitintervall T wird derart gewählt, dass während des
Zeitintervalls T mindestens eine Task A, B, C begonnen und
auch wieder beendet wird. In einem Funktionsblock 12 wird
die Abarbeitung des Steuerprogramms (vgl. Fig. 2) auf dem
Mikroprozessor 2 ganz normal eingeleitet. In einem
Abfrageblock 13 wird überprüft, ob eine Task beendet wurde.
Falls ja, wird in einem Funktionsblock 14 die
Abarbeitungsdauer tLaufzeit_Task der beendeten Task nach
folgender Gleichung berechnet:
The method begins in a function block 10 . The time interval T is specified in a function block 11 . The time interval T is selected such that at least one task A, B, C is started and also ended again during the time interval T. In a function block 12 , the execution of the control program (cf. FIG. 2) is initiated on the microprocessor 2 as normal. A query block 13 checks whether a task has ended. If so, the processing time t runtime_Task of the completed task is calculated in a function block 14 using the following equation:
tLaufzeit_Task = tEnde - tAnfang - (UnterbrEnde - UnterbrAnfang),
t Laufzeit_Task = t end - t Start - (Susp end - Susp beginning)
wobei tAnfang der Wert eines während der Abarbeitung des Computerprogramms fortlaufenden Zeitzählers zu Beginn der Task, tEnde der Wert des Zeitzählers nach Beenden der Task, UnterbrAnfang der Wert einer Variablen Unterbr zu Beginn der Task und UnterbrEnde der Wert der Variablen Unterbr nach Beenden der Task ist.where t start the value of a time counter running during the processing of the computer program at the start of the task, t end the value of the time counter after the task has ended, interrupt start the value of a variable interrupt at the start of the task and interrupt end the value of the variable interrupt after completion the task is.
Anschließend wird in einem Funktionsblock 15 ein neuer Wert
für die Variable Unterbr nach folgender Gleichung
berechnet:
A new value for the variable Susp following equation is then calculated in a function block 15:
Unterbr = UnterbrAnfang + (tEnde - tAnfang).Interrupt = interrupt start + (t end - t start ).
In einem Abfrageblock 16 wird überprüft, ob das vorgegebene Zeitintervall T bereits abgelaufen ist oder nicht. Falls ja wird in einem Funktionsblock 17 die Summe tges der Abarbeitungsdauer tLaufzeit_Task aller Tasks, die in dem vorgegebenen Zeitintervall T beendet wurden, gebildet. In einem Funktionsblock 18 wird die Gesamt-Abarbeitungsdauer tges dann zur Ermittlung der Auslastung des Mikroprozessors 2 in Verhältnis zu dem vorgegebenen Zeitintervall T gesetzt. In einem Funktionsblock 19 ist das erfindungsgemäße Verfahren beendet.A query block 16 checks whether the predetermined time interval T has already expired or not. If so, the sum t tot of the processing time t runtime_Task of all tasks that were completed in the predetermined time interval T is formed in a function block 17 . In a function block 18 , the total processing time t ges is then set in relation to the predetermined time interval T in order to determine the utilization of the microprocessor 2 . The method according to the invention is ended in a function block 19 .
Falls sich in dem Abfrageblock 13 ergibt, dass keine Task beendet ist, oder falls sich in dem Abfrageblock 16 ergibt, dass das vorgegebene Zeitintervall T noch nicht abgelaufen ist, wird zu dem Funktionsblock 12 verzweigt, wo die Abarbeitung des Steuerprogramms fortgesetzt wird.If it appears in the query block 13 that no task has ended, or if it appears in the query block 16 that the predetermined time interval T has not yet expired, the process branches to the function block 12 , where the execution of the control program is continued.
Nachfolgend wird das erfindungsgemäße Verfahren aus Fig. 2
anhand des Steuerprogramms aus Fig. 1 beispielhaft
erläutert. Das Zeitintervall T wird auf T = 610 - 100 = 510
Millisekunden gesetzt. Die Variable Unterbr wird auf Null
gesetzt. Anschließend wird der Ablauf des Steuerprogramms
begonnen. Die erste Task die beendet wird, ist die Task C.
Die Abarbeitungsdauer dieser Task C wird ermittelt:
The method according to the invention from FIG. 2 is explained below using the control program from FIG. 1 as an example. The time interval T is set to T = 610-100 = 510 milliseconds. The variable interrupt is set to zero. Then the execution of the control program is started. The first task that is ended is task C. The processing time of this task C is determined:
tLaufzeit_C = tEnde - tAnfang - (UnterbrEnde - UnterbrAnfang)
= 270 - 210 - 0
= 60 Millisekunden.t Laufzeit_C = t end - t start - (Susp end - Susp beginning)
= 270-210-0
= 60 milliseconds.
Die Differenz (UnterbrEnde - UnterbrAnfang) wird auf Null
gesetzt, da die Task C nicht unterbrochen wurde.
Anschließend wird die Variable Unterbr ermittelt:
The difference (interrupt end - interrupt start ) is set to zero because task C was not interrupted. The variable interrupt is then determined:
Unterbr = UnterbrAnfang + (tEnde - tAnfang)
= 0 + (270 - 210)
= 60 Millisekunden.Interrupt = interrupt start + (t end - t start )
= 0 + (270 - 210)
= 60 milliseconds.
Die nächste Task, die beendet wird, ist wiederum die Task
C. Für diese Task C wird die Abarbeitungsdauer tLaufzeit_C und
der neue Wert für die Variable Unterbr berechnet:
The next task that is completed, turn the task C. This task C, the processing time is t Laufzeit_C and the new value for the variable Susp calculated:
tLaufzeit_C = tEnde - tAnfang - (UnterbrEnde - UnterbrAnfang)
= 350 - 310 - 0
= 40 Millisekunden,
t Laufzeit_C = t end - t start - (Susp end - Susp beginning)
= 350-310-0
= 40 milliseconds,
Unterbr = UnterbrAnfang + (tEnde - tAnfang)
= 60 + (350 - 310)
= 100 Millisekunden.Interrupt = interrupt start + (t end - t start )
= 60 + (350-310)
= 100 milliseconds.
Als nächste Task ist die Task B beendet. Für die Task B
wird die Abarbeitungsdauer tLaufzeit_B und der neue Wert für
die Variable Unterbr berechnet:
Task B ends as the next task. For the task B, the processing time is t Laufzeit_B and the new value for the variable Susp calculated:
tLaufzeit_B = tEnde - tAnfang - (UnterbrEnde - UnterbrAnfang)
= 420 - 150 - (100 - 0)
= 170 Millisekunden,
t Laufzeit_B = t end - t start - (Susp end - Susp beginning)
= 420 - 150 - (100 - 0)
= 170 milliseconds,
Unterbr = UnterbrAnfang + (tEnde - tAnfang)
= 0 + (420 - 150)
= 270 Millisekunden.Interrupt = interrupt start + (t end - t start )
= 0 + (420 - 150)
= 270 milliseconds.
Schließlich ist die Task A beendet. Für die Task A wird die
Abarbeitungsdauer tLaufzeit_A und der neue Wert für die
Variable Unterbr berechnet:
Finally task A is finished. For the task A execution duration t Laufzeit_A and the new value for the variable Susp calculated:
tLaufzeit_A = tEnde - tAnfang - (UnterbrEnde - UnterbrAnfang)
= 530 - 100 - (270 - 0)
= 160 Millisekunden,
t Laufzeit_A = t end - t start - (Susp end - Susp beginning)
= 530 - 100 - (270 - 0)
= 160 milliseconds,
Unterbr = UnterbrAnfang + (tEnde - tAnfang)
= 0 + (530 - 100)
= 430 Millisekunden.Interrupt = interrupt start + (t end - t start )
= 0 + (530 - 100)
= 430 milliseconds.
Die Summe tges der Abarbeitungsdauer der einzelnen Tasks A, B, C ist dann tges = 430 Millisekunden. Bei einem vorgegebenen Zeitintervall T von 510 Millisekunden ergibt sich mit dem erfindungsgemäßen Verfahren somit eine Auslastung des Mikroprozessors 2 von tges/T = 430/510 = 0,843 oder 84,3%.The total t tot of the processing time of the individual tasks A, B, C is then t tot = 430 milliseconds. At a predetermined time interval T of 510 milliseconds, thus a load of the microprocessor 2 of t ges / T = 430/510 = 0.843 or yields 84.3% with the inventive process.
Das erfindungsgemäße Verfahren kann auf einfache Weise realisiert werden, indem das Steuerprogramm derart modifiziert wird, dass am Anfang und am Ende einer Task zusätzliche Funktionalitäten programmiert werden. Die zusätzlichen Funktionalitäten am Anfang der Task umfassen das Einlesen des Zählerstands eines fortlaufenden Zeitzählers und das Abspeichern des Zählerstands unter der Variablen tAnfang. Außerdem kann am Anfang der Task der Wert der Variablen Unterbr eingelesen und ein Wert in der Variablen UnterbrAnfang abgespeichert werden. Die zusätzlichen Funktionalitäten am Ende der Task umfassen das Einlesen des Zählerstands des Zeitzählers und das Abspeichern des Zählerstands unter der Variablen tEnde. Außerdem kann am Ende der Task der Wert der Variablen Unterbr eingelesen und ein Wert in der Variablen UnterbrEnde abgespeichert werden. Des weiteren wird die Laufzeit tLaufzeit_Task und der neue Wert für die Variable Unterbr am Ende der Task berechnet.The method according to the invention can be implemented in a simple manner by modifying the control program in such a way that additional functionalities are programmed at the beginning and at the end of a task. The additional functionalities at the beginning of the task include reading in the counter reading of a continuous time counter and storing the counter reading under the variable t start . In addition, the value of the variable interrupt start can be read in at the beginning of the task and a value can be saved in the variable interrupt start . The additional functionalities at the end of the task include reading in the counter reading of the time counter and storing the counter reading under the variable t end . In addition, the value of the variable interrupt can be read in at the end of the task and a value can be saved in the variable interrupt end . Furthermore, the term t Laufzeit_Task and the new value for the variable Susp calculated at the end of the task.
Die Auslastung eines Rechengeräts kann auch durch die
nachfolgend erläuterte besonders effektive Berechnung
ermittelt werden. Die nachfolgende Berechnung ergibt sich
durch mathematisches Umformen der oben erläuterten
Berechnung. Bei der vorgeschlagenen besonders effektiven
Berechnung wird lediglich eine Hilfsvariable Hilfsvar
benötigt und es müssen nur vier Additionen ausgeführt
werden. Am Anfang der Task wird die Hilfsvariable Hilfsvar
berechnet:
The utilization of a computing device can also be determined by the particularly effective calculation explained below. The following calculation is obtained by mathematically reshaping the calculation explained above. With the proposed particularly effective calculation, only one auxiliary variable auxiliary variable is required and only four additions have to be carried out. The auxiliary variable auxiliary var is calculated at the beginning of the task:
Hilfsvar = UnterbrAnfang - tAnfang Auxiliary var = interrupt start - t start
Am Ende der Task wird die Laufzeit tLaufzeit_Task und die
Variable Unterbr berechnet:
At the end of the task is the delay time t calculated Laufzeit_Task and the variable Susp:
tLaufzeit_Task = tEnde - UnterbrEnde + Hilfsvar
t Laufzeit_Task = t end - Susp end + Hilfsvar
Unterbr = tEnde + Hilfsvar.Interr = t end + auxiliary var.
Gemäß noch einer anderen Berechnung der Auslastung des
Rechengeräts werden lediglich zwei Hilfsvariable Hilfsvar1
und Hilfsvar2 benötigt und es müssen nur drei Additionen
ausgeführt werden. Am Anfang der Task wird die erste
Hilfsvariable Hilfsvar1 berechnet:
According to yet another calculation of the utilization of the computing device, only two auxiliary variables auxiliary variable1 and auxiliary variable2 are required and only three additions have to be carried out. The first auxiliary variable auxiliary variable1 is calculated at the beginning of the task:
Hilfsvar1 = UnterbrAnfang - tAnfang Auxiliary var1 = interrupt start - t start
Am Ende der Task wird die zweite Hilfsvariable Hilfsvar2,
die Laufzeit tLaufzeit_Task und die Variable Unterbr berechnet:
At the end of the task, the second auxiliary variable Hilfsvar2, the term t Laufzeit_Task and the variable Susp calculated:
Hilfsvar2 = tEnde + Hilfsvar1
Auxiliary var2 = t end + auxiliary var1
tLaufzeit_Task = Hilfsvar2 - UnterbrEnde
t = Laufzeit_Task Hilfsvar2 - Susp end
Unterbr = Hilfsvar2.Interrupt = auxiliary var2.
Claims (10)
ein Zeitintervall (T) derart gewählt wird, dass während des Zeitintervalls (T) mindestens eine Task (A, B, C) begonnen und wieder beendet wird;
während des Zeitintervalls (T) nach Beenden der oder jeder Task (A, B, C) die Laufzeit (tLaufzeit) der Task (A, B, C) ermittelt wird; und
falls die beendete Task (A, B, C) von mindestens einer weiteren Task (A, B, C) unterbrochen wurde, die Laufzeit der oder jeder weiteren Task (A, B, C) von der ermittelten Laufzeit (tLaufzeit) abgezogen wird.1. Method for determining the load on a computing device ( 2 ) on which a computer program is processed, the computer program being subdivided into several tasks (A, B, C) and each task (A, B, C) comprising at least one process, characterized in that
a time interval (T) is selected such that at least one task (A, B, C) is started and ended again during the time interval (T);
the running time (t running time ) of the task (A, B, C) is determined during the time interval (T) after the or each task (A, B, C) has ended; and
if the completed task (A, B, C) was interrupted by at least one further task (A, B, C), the runtime of the or each further task (A, B, C) is subtracted from the determined runtime (t runtime ) ,
das Zeitintervall (T) derart gewählt wird, dass während des Zeitintervalls (T) mindestens zwei Tasks (A, B, C) begonnen und wieder beendet werden; und
die Laufzeiten (tLaufzeit) der beendeten Tasks (A, B, C) in der Reihenfolge der Beendigung der Tasks (A, B, C) ermittelt werden.2. The method according to claim 1, characterized in that
the time interval (T) is selected such that at least two tasks (A, B, C) are started and ended again during the time interval (T); and
the running times (t running time ) of the completed tasks (A, B, C) are determined in the order in which the tasks (A, B, C) ended.
zu Beginn des Verfahrens eine Variable (Unterbr) auf Null gesetzt wird;
die Laufzeit (tLaufzeit) der beendeten Task (A, B, C) anhand der Gleichung
tLaufzeit = tEnde - tAnfang - (UnterbrEnde - UnterbrAnfang)
ermittelt wird; und
ein neuer Wert für die Variable (Unterbr) anhand der Gleichung
Unterbr = UnterbrAnfang + (tEnde - tAnfang)
ermittelt wird,
wobei tAnfang der Wert eines während der Abarbeitung des Computerprogramms fortlaufenden Zeitzählers zu Beginn der Task (A, B, C), tEnde der Wert des Zeitzählers nach Beenden der Task (A, B, C), UnterbrAnfang der Wert der Variablen (Unterbr) zu Beginn der Task (A, B, C) und UnterbrEnde der Wert der Variablen (Unterbr) nach Beenden der Task (A, B, C) ist.3. The method according to claim 2, characterized in that
a variable (interrupt) is set to zero at the beginning of the process;
the running time (t running time ) of the completed task (A, B, C) using the equation
t runtime = t end - t start - (interrupt end - interrupt start )
is determined; and
a new value for the variable (interrupt) based on the equation
Interrupt = interrupt start + (t end - t start )
is determined
where t start the value of a time counter running during the processing of the computer program at the beginning of the task (A, B, C), t end the value of the time counter after the task (A, B, C) has ended, interrupt start of the value of the variable ( Interrupt) at the start of the task (A, B, C) and Interrupt end is the value of the variable (Interrupt) after the task (A, B, C) has ended.
während eines vorgebbaren Zeitintervalls (T) nach Beenden der oder jeder Task (A, B, C) die Laufzeit (tLaufzeit) der Task (A, B, C) ermittelt; und
falls die beendete Task (A, B, C) von mindestens einer weiteren Task (A, B, C) unterbrochen wurde, die Laufzeit der oder jeder weiteren Task (A, B, C) von der ermittelten Laufzeit (tLaufzeit) abzieht.9. Device ( 1 ) for determining the load on a computing device ( 2 ) on which a computer program can be processed, the computer program being divided into several tasks (A, B, C) and each task (A, B, C) at least one Process includes, characterized in that the device
determines the running time (t running time ) of the task (A, B, C) during a predefinable time interval (T) after the or each task (A, B, C) has ended; and
if the completed task (A, B, C) was interrupted by at least one further task (A, B, C), the runtime of the or each further task (A, B, C) is subtracted from the determined runtime (t runtime ).
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10110444A DE10110444A1 (en) | 2001-03-05 | 2001-03-05 | Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruption |
US10/092,225 US20020178209A1 (en) | 2001-03-05 | 2002-03-05 | Method and device for determining the load of a computing element |
JP2002058817A JP2002323984A (en) | 2001-03-05 | 2002-03-05 | Method and device for calculating utilization rate of computing equipment, memory element and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10110444A DE10110444A1 (en) | 2001-03-05 | 2001-03-05 | Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruption |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10110444A1 true DE10110444A1 (en) | 2002-09-26 |
Family
ID=7676306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10110444A Ceased DE10110444A1 (en) | 2001-03-05 | 2001-03-05 | Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruption |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020178209A1 (en) |
JP (1) | JP2002323984A (en) |
DE (1) | DE10110444A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3073375A1 (en) * | 2015-03-26 | 2016-09-28 | Elektronische Fahrwerksysteme GmbH | Method for determining a maximum run-time for a task system |
US20210080921A1 (en) * | 2019-09-12 | 2021-03-18 | Fanuc Corporation | Servo control device, servo control system, and servo control method |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005041041A2 (en) * | 2003-10-23 | 2005-05-06 | Siemens Aktiengesellschaft | Method and arrangement for measuring the running time of functions |
DE102004046878A1 (en) * | 2004-09-28 | 2006-04-13 | Robert Bosch Gmbh | Method and apparatus for determining a system load of a processor system |
CN1329825C (en) * | 2004-10-08 | 2007-08-01 | 华为技术有限公司 | Multi-task processing method based on digital signal processor |
EP1960886A1 (en) * | 2005-12-16 | 2008-08-27 | International Business Machines Corporation | Method, system and computer program for metering usage of software products based on real-time benchmarking of processing power |
RU2305313C1 (en) * | 2005-12-27 | 2007-08-27 | Яков Аркадьевич Горбадей | Method for ensuring reliable operation of program computing means |
JP5173495B2 (en) * | 2008-03-03 | 2013-04-03 | キヤノン株式会社 | Information processing apparatus, job processing method, and program |
US11726814B2 (en) * | 2018-05-30 | 2023-08-15 | Texas Instruments Incorporated | Resource availability management using real-time task manager in multi-core system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016466A (en) * | 1996-08-27 | 2000-01-18 | Compuware Corporation | Accurate profile and timing information for multitasking systems |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4989133A (en) * | 1984-11-30 | 1991-01-29 | Inmos Limited | System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof |
US5488713A (en) * | 1989-12-27 | 1996-01-30 | Digital Equipment Corporation | Computer simulation technique for predicting program performance |
JP3169597B2 (en) * | 1990-05-16 | 2001-05-28 | エヌイーシーソフト株式会社 | Multitask execution time accounting method and its mechanism |
US6126329A (en) * | 1993-06-08 | 2000-10-03 | Rational Software Coporation | Method and apparatus for accurate profiling of computer programs |
US6385637B1 (en) * | 1997-08-21 | 2002-05-07 | Rockwell Science Center, Inc. | Periodic process timer |
-
2001
- 2001-03-05 DE DE10110444A patent/DE10110444A1/en not_active Ceased
-
2002
- 2002-03-05 US US10/092,225 patent/US20020178209A1/en not_active Abandoned
- 2002-03-05 JP JP2002058817A patent/JP2002323984A/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016466A (en) * | 1996-08-27 | 2000-01-18 | Compuware Corporation | Accurate profile and timing information for multitasking systems |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3073375A1 (en) * | 2015-03-26 | 2016-09-28 | Elektronische Fahrwerksysteme GmbH | Method for determining a maximum run-time for a task system |
US20210080921A1 (en) * | 2019-09-12 | 2021-03-18 | Fanuc Corporation | Servo control device, servo control system, and servo control method |
US11687055B2 (en) * | 2019-09-12 | 2023-06-27 | Fanuc Corporation | Servo control device, servo control system, and servo control method |
Also Published As
Publication number | Publication date |
---|---|
US20020178209A1 (en) | 2002-11-28 |
JP2002323984A (en) | 2002-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0771444B1 (en) | Method for controlling technical operations or processes | |
DE4410775C2 (en) | Control unit and operating method of an operating system for this control unit | |
EP1303809B1 (en) | Method and device for measuring the execution time of a task in a real time system | |
EP0799441B1 (en) | System for controlling technical processes | |
EP3417373A1 (en) | Method and device for operating a controller | |
DE10110444A1 (en) | Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruption | |
EP3080668B1 (en) | Method for influencing a control program of a control unit | |
DE10243856B4 (en) | Regulator and method for operating a regulator | |
EP2574997A1 (en) | Method for adjusting an operating status | |
DE10061001B4 (en) | Method and control unit for controlling technical processes in a motor vehicle, and storage element and control program therefor | |
EP1514180A2 (en) | Limitation of the response time of a software process | |
DE102017130552B3 (en) | Method of data processing and programmable logic controller | |
DE102018125090A1 (en) | Data processing method and programmable logic controller | |
DE10065498A1 (en) | Reconstructing control program process flow, involves generating table from contents of tables generated during process containing identity of last process carried out before each new task | |
EP2126700B1 (en) | Control of the run time behavior of processes | |
DE102012102373A1 (en) | A method of estimating a resource consumption when generating a controller program code | |
DE102016206490A1 (en) | ELECTRONIC CONTROL UNIT | |
WO2021249616A1 (en) | Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system | |
DE19728971C2 (en) | Data processing device and method | |
DE19727480C1 (en) | Interrupt control computer system | |
DE10200242A1 (en) | Method for function monitoring of control device e.g. for motor vehicle, involves querying specified memory locations during operation of control device | |
EP0972232B1 (en) | Programmable control system | |
DE10229520A1 (en) | Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs | |
DE102020001990A1 (en) | Numerical control device | |
EP3757525B1 (en) | Sensor and method for operating same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |