DE112019005584T5 - ARITHMETIC CONTROL DEVICE - Google Patents
ARITHMETIC CONTROL DEVICE Download PDFInfo
- Publication number
- DE112019005584T5 DE112019005584T5 DE112019005584.4T DE112019005584T DE112019005584T5 DE 112019005584 T5 DE112019005584 T5 DE 112019005584T5 DE 112019005584 T DE112019005584 T DE 112019005584T DE 112019005584 T5 DE112019005584 T5 DE 112019005584T5
- Authority
- DE
- Germany
- Prior art keywords
- task
- parallelization
- processing
- sub
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Abstract
In einem System unter Verwendung eines Prozessors, der mehrere Kerne besitzt, ist es möglich, eine Fluktuation einer Verarbeitungszeit, wenn verschiedene Arten der Verarbeitung in den mehreren Kernen gleichzeitig durchgeführt werden, zu verringern, und somit wird eine Zusicherungsmöglichkeit einer Ausführungszeitabhängigkeit durch Erhöhen einer Verhaltensvorhersagbarkeit des Systems erhöht. Eine Arithmetiksteuervorrichtung gemäß der vorliegenden Erfindung ist eine Arithmetiksteuervorrichtung, die einen Prozessor, der mehrere Kerne besitzt, und eine Aufgabenzuweisungseinheit, die den mehreren Kernen Aufgaben zuweist, enthält. Die Aufgabenzuweisungseinheit ist konfiguriert, zu bestimmen, ob mehrere Unteraufgaben, die die Aufgabe bilden, zu Zielen der Parallelisierungsverarbeitung gemacht werden können oder nicht, und die mehreren Unteraufgaben unter einer vorgegebenen Bedingung den mehreren Kernen zuzuweisen, wenn die Parallelisierungsverarbeitung möglich ist.In a system using a processor having multiple cores, it is possible to reduce fluctuation in processing time when various kinds of processing are performed in the multiple cores at the same time, and thus an assurance possibility of execution time dependency by increasing behavior predictability of the System increased. An arithmetic control device according to the present invention is an arithmetic control device that includes a processor having a plurality of cores and a task assignment unit that assigns tasks to the plurality of cores. The task assignment unit is configured to determine whether or not a plurality of subtasks constituting the task can be made targets of the parallelization processing, and to assign the plurality of subtasks to the multiple cores under a predetermined condition when the parallelization processing is possible.
Description
Technisches GebietTechnical area
Die vorliegende Erfindung bezieht sich auf eine Arithmetiksteuervorrichtung und insbesondere auf eine Arithmetiksteuervorrichtung, die einen Prozessor, der mehrere Kerne besitzt und als Mehrkern oder Vielkern bezeichnet wird, steuert.The present invention relates to an arithmetic control device, and more particularly, to an arithmetic control device that controls a processor having multiple cores, referred to as multi-core or multi-core.
Technischer HintergrundTechnical background
In den letzten Jahren ist die Leistungsverbesserung von eingebauten Prozessoren fortgeschritten und die Einführung einer Hochlastarithmetikverarbeitung ist in den Gebieten von (insbesondere selbstfahrenden) Personenkraftwägen, der Massendatenverarbeitung, der Arzneimittelentdeckung, der Genanalyse, von Industrieanlagen und dergleichen fortgeschritten. Als Ergebnis hat sich die Verarbeitungsleistung, die in einer Steuervorrichtung in diesen Gebieten benötigt wird, erhöht. Deshalb wird eine Steuervorrichtung (eine elektronische Steuereinheit (ECU)) angewendet, die einen Prozessor, der mehrere Kerne besitzt, wie z. B. ein Mehrkern- oder ein Vielkernprozessor verwendet, und eine Verbesserung der Verarbeitungsleistung davon wird benötigt.In recent years, the performance improvement of built-in processors has progressed, and the introduction of heavy-duty arithmetic processing has progressed in the fields of passenger cars (especially self-driving), mass data processing, drug discovery, genetic analysis, industrial equipment and the like. As a result, the processing power required in a control device in these areas has increased. Therefore, a control device (an electronic control unit (ECU)) is applied which includes a processor having multiple cores such as a processor. For example, a multi-core or a multi-core processor is used, and an improvement in processing performance thereof is needed.
Zum Beispiel ist im Gebiet von Personenkraftwagen, um ein fortschrittliches selbstfahrendes System zu realisieren, eine Zunahme einer Verarbeitungslast einer Steuervorrichtung wie z. B. einer Selbstfahr-ECU, die eine höherwertige Steuervorrichtung zum Steuern des Selbstfahrens ist, ein Problem. Deshalb hat auch im Gebiet von Personenkraftwagen die Einführung von Mehrkernprozessoren wie z. B. Zweikernprozessoren, Vierkernprozessoren und Achtkernprozessoren begonnen. Die Zahl von Kernen wird sich in Zukunft weiter erhöhen und es wird außerdem angenommen, dass begonnen wird, Vieikernprozessoren, bei denen die Anzahl von Kernen z. B. 10 oder mehr ist, zu verwenden.For example, in the field of passenger cars, in order to realize an advanced self-driving system, an increase in a processing load of a control device such as a computer is required. A self-driving ECU, which is a superior control device for controlling self-driving, poses a problem. Therefore, the introduction of multi-core processors such. B. two-core processors, four-core processors and eight-core processors started. The number of cores will continue to increase in the future, and it is also assumed that multi-core processors in which the number of cores e.g. B. 10 or more to use.
Andererseits kann im Software-Entwurf in diesem Gebiet noch ein Entwurfsverfahren für einen Einzelkernprozessor wie z. B. eine automatische Quellcodeerzeugung aus z. B. einem modellbasierten Entwurf verwendet werden. Es ist schwierig, den Leistungsvorteil dieser Prozessoren in einem Lasterhöhungstrend in Zukunft lediglich durch Wechseln zu den Mehrkernprozessoren oder den Vielkernprozessoren ohne Ändern eines vorhandenen Entwurfsverfahrens für Einzelkernprozessoren auszunutzen. Als ein derartiger Hintergrund offenbart PTL 1 ein Beispiel, in dem einem Mehrkernprozessor mehrere Aufgaben effizient zugewiesen werden (eine suboptimale Planung wird vorgesehen).On the other hand, in software design in this field, a design method for a single core processor such as B. an automatic source code generation from z. B. a model-based design can be used. It is difficult to take advantage of the performance advantage of these processors in a load increasing trend in the future simply by switching to the multi-core processors or the multi-core processors without changing an existing design method for single core processors. As one such background,
Andererseits offenbart PTL 1 ein Beispiel, in dem normalerweise eine statische Planung auf der Grundlage eines Planungsverfahrens, das im Voraus definiert wurde, zum Zuweisen einer Verarbeitung zu jedem Prozessorkern verwendet wird, jedoch eine dynamische Planung zum wirksamen Ausführen der Aufgabe in einer Situation, in der eine Last hoch ist, durchgeführt wird. Im Gebiet von Personenkraftwagen und im Gebiet von Industrieanlagen liegt eine starke Notwendigkeit des Garantierens einer Ausführungszeitabhängigkeit für eine Steuerstabilität vor. Allerdings ist es mindestens dann, wenn die Planung dynamisch durchgeführt wird, schwierig, die Ausführungszeitabhängigkeit zu garantieren, obwohl diese Literatur die Ausführungszeitabhängigkeit nicht erwähnt und ein Entwerfer eine geeignete Planung während des Normalbetriebs (wenn ein Betrieb durch statische Planung durchgeführt wird) durchführt. Insbesondere kann im Mehrkernprozessor eine bestimmte Verarbeitung die Ausführungszeit einer weiteren Verarbeitung beeinträchtigen. In diesem Fall kann es schwierig sein, die Ausführungszeitabhängigkeit zu garantieren. Somit ist, um die Ausführungszeitabhängigkeit zu erfüllen, ein Verfahren zum Bewältigen einer Fluktuation einer Verarbeitungszeit, wenn Arithmetikoperationen in den mehreren Kernen gleichzeitig durchgeführt werden, erforderlich.On the other hand,
EntgegenhaltungslisteCitation list
PatentliteraturPatent literature
PTL 1:
Zusammenfassung der ErfindungSummary of the invention
Technisches ProblemTechnical problem
Eine Aufgabe der vorliegenden Erfindung ist, eine Arithmetiksteuervorrichtung zu schaffen, die eine Fluktuation einer Verarbeitungszeit verringern kann, wenn verschiedene Verarbeitungsarten in den mehreren Kernen gleichzeitig durchgeführt werden, und eine Zusicherungsmöglichkeit einer Ausführungszeitabhängigkeit durch Erhöhen einer Verhaltensvorhersagbarkeit eines Systems unter Verwendung eines Prozessor, der mehrere Kerne besitzt, im System erhöhen kann.An object of the present invention is to provide an arithmetic control apparatus which can reduce fluctuation in processing time when various kinds of processing are performed in the plural cores at the same time, and an assurance possibility of execution time dependency by increasing behavior predictability of a system using a processor having plural cores owns, can increase in the system.
Lösung des Problemsthe solution of the problem
Eine Arithmetiksteuervorrichtung gemäß der vorliegenden Erfindung ist eine Arithmetiksteuervorrichtung, die einen Prozessor, der mehrere Kerne besitzt, und eine Aufgabenzuweisungseinheit, die den mehreren Kernen Aufgaben zuweist, enthält. Die Aufgabenzuweisungseinheit ist konfiguriert, zu bestimmen, ob mehrere Unteraufgaben, die die Aufgabe bilden, zu Zielen der Parallelisierungsverarbeitung gemacht werden können oder nicht, und die mehreren Unteraufgaben unter einer vorgegebenen Bedingung den mehreren Kernen zuzuweisen, wenn die Parallelisierungsverarbeitung möglich ist.An arithmetic control device according to the present invention is an arithmetic control device that includes a processor having a plurality of cores and a task assignment unit that assigns tasks to the plurality of cores. The task assignment unit is configured to determine whether or not a plurality of sub-tasks constituting the task can be made targets of the parallelization processing, and the plurality of sub-tasks under a predetermined condition to be assigned to the multiple cores when parallelization processing is possible.
Vorteilhafte Wirkungen der ErfindungAdvantageous Effects of the Invention
Gemäß der vorliegenden Erfindung ist es in der Arithmetiksteuervorrichtung unter Verwendung des Mehrkernprozessors möglich, eine Fluktuation einer Verarbeitungszeit zu verringern, wenn verschiedene Verarbeitungsarten in den mehreren Kernen gleichzeitig durchgeführt werden, und ist es möglich, eine Zusicherungsmöglichkeit der Ausführungszeitabhängigkeit durch Erhöhen einer Verhaltensvorhersagbarkeit des Systems zu erhöhen.According to the present invention, in the arithmetic control apparatus using the multi-core processor, it is possible to reduce fluctuation in processing time when various kinds of processing are performed in the plural cores at the same time, and it is possible to increase assurance possibility of execution time dependency by increasing behavior predictability of the system .
FigurenlisteFigure list
-
[
1 ]1 ist ein schematisches Blockdiagramm, das Komponenten in Bezug auf eine Arithmetikverarbeitung in einer Arithmetiksteuervorrichtung eines Mehrkernprozessors gemäß einer ersten Ausführungsform veranschaulicht.[1 ]1 Fig. 13 is a schematic block diagram illustrating components related to arithmetic processing in an arithmetic control apparatus of a multi-core processor according to a first embodiment. -
[
2 ]2 ist ein schematisches Diagramm, das eine Beziehung zwischen einer Arithmetiksteuervorrichtung1 und Software-Komponenten (Mount-Funktionen) in der ersten Ausführungsform veranschaulicht.[2 ]2 Fig. 13 is a schematic diagram showing a relationship between anarithmetic control device 1 and software components (mount functions) illustrated in the first embodiment. -
[
3 ]3 ist ein schematisches Diagramm zum Beschreiben eines Beispiels einer Abhängigkeitsbeziehung zwischen den Software-Komponenten (Mount-Funktionen).[3 ]3 Fig. 13 is a schematic diagram for describing an example of a dependency relationship among the software components (mount functions). -
[
4 ]4 ist eine Tabelle, die eine Beziehung zwischen den Software-Komponenten (Mount-Funktionen) und entsprechenden Aufgaben darstellt.[4th ]4th is a table showing a relationship between software components (mount functions) and corresponding tasks. -
[
5 ]5 ist ein Diagramm, das die Mount-Funktionen, die der Arithmetiksteuervorrichtung1 durch ein modellbasiertes Entwurfsverfahren zugewiesen werden, veranschaulicht.[5 ]5 Fig. 13 is a diagram showing the mount functions performed by thearithmetic control device 1 can be assigned by a model-based design process. -
[
6 ]6 ist eine Tabelle, die die Aufgaben, die den Mount-Funktionen, die der Arithmetiksteuervorrichtung1 während des modellbasierten Entwurfs zugewiesen werden, entsprechen, darstellt.[6th ]6th is a table showing the tasks performed by the mount functions performed by thearithmetic control device 1 assigned during model-based design correspond to represents. -
[
7 ]7 ist eine Tabelle zum Beschreiben eines Beispiels verschiedener Parameter, die den Aufgaben in der ersten Ausführungsform zugewiesen werden.[7th ]7th Fig. 13 is a table for describing an example of various parameters assigned to the tasks in the first embodiment. -
[
8 ]8 ist ein Beispiel eines Aufgabengraphen, der eine Datenabhängigkeitsbeziehung in der ersten Ausführungsform veranschaulicht.[8th ]8th Fig. 13 is an example of a task graph illustrating a data dependency relationship in the first embodiment. -
[
9 ]9 ist eine Tabelle, die ein Beispiel von Parametern von Prioritäten, die den Aufgaben in der ersten Ausführungsform zugewiesen werden, darstellt.[9 ]9 Fig. 13 is a table showing an example of parameters of priorities assigned to the tasks in the first embodiment. -
[
10 ]10 ist ein Beispiel eines Zeitdiagramms, wenn keine Parallelisierung von Unteraufgaben in einer Aufgabe D in der ersten Ausführungsform durchgeführt wird.[10 ]10 Fig. 13 is an example of a timing chart when parallelization of subtasks is not performed in a task D in the first embodiment. -
[
11 ]11 ist eine Tabelle, die eine Beziehung zwischen einem Aufgabengraphen und einer Durchschnittsausführungszeit, die eingestellt werden soll, wenn eine Parallelisierungsverarbeitung an Untermasken durchgeführt wird, an denen eine Parallelisierungsverarbeitung in der Aufgabe D durchgeführt wird, darstellt.[11 ]11 FIG. 13 is a table showing a relationship between a task graph and an average execution time to be set when parallelization processing is performed on sub-forms on which parallelization processing is performed in task D. FIG. -
[
12 ]12 ist ein Beispiel eines Zeitdiagramms, wenn die Unteraufgaben in der Aufgabe D in der ersten Ausführungsform parallelisiert werden.[12th ]12th Fig. 13 is an example of a timing chart when the sub-tasks in task D are parallelized in the first embodiment. -
[
13 ]13 ist ein Beispiel eines Zeitdiagramms, wenn eine Zeitabhängigkeitsverletzung aufgrund des Auftretens einer ereignisgesteuerten Verarbeitungsaufgabe H in der ersten Ausführungsform auftritt.[13th ]13th Fig. 13 is an example of a timing chart when a time dependency violation occurs due to the occurrence of an event-driven processing task H in the first embodiment. -
[
14 ]14 ist ein Diagramm, das ein Verfahren des Parallelisierens der Aufgabe D und des Setzens einer Priorität im Änderungsbeispiel1 der ersten Ausführungsform veranschaulicht.[14th ]14th Fig. 13 is a diagram showing a method of parallelizing the task D and setting a priority in the change example1 illustrated in the first embodiment. -
[
15 ]15 ist eine Liste, die ein Einstellbeispiel eines Aufgabenprioritätsparameters im Änderungsbeispiel1 der ersten Ausführungsform darstellt.[15th ]15th is a list showing a setting example of a task priority parameter in the change example1 of the first embodiment. -
[
16 ]16 ist ein Beispiel eines Zeitdiagramms, das eine Operation im Änderungsbeispiel 2 der ersten Ausführungsform veranschaulicht.[16 ]16 Fig. 13 is an example of a timing chart illustrating an operation in Modification Example 2 of the first embodiment. -
[
17 ]17 ist ein schematisches Blockdiagramm, das Komponenten in Bezug auf eine Arithmetikverarbeitung in einer Arithmetiksteuervorrichtung eines Mehrkernprozessors gemäß einer zweiten Ausführungsform veranschaulicht.[17th ]17th Fig. 13 is a schematic block diagram illustrating components related to arithmetic processing in an arithmetic control apparatus of a multi-core processor according to a second embodiment. -
[
18 ]18 ist eine Tabelle zum Beschreiben eines Beispiels verschiedener Parameter, die Aufgaben in der zweiten Ausführungsform zugewiesen sind.[18th ]18th Fig. 13 is a table for describing an example of various parameters assigned to tasks in the second embodiment. -
[
19 ]19 ist eine Liste, die ein Einstellbeispiel eines Fristparameters in der zweiten Ausführungsform veranschaulicht.[19th ]19th Fig. 13 is a list illustrating a setting example of a deadline parameter in the second embodiment.
Beschreibung der AusführungsformenDescription of the embodiments
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. In den begleitenden Zeichnungen können funktionell identische Elemente durch identische Bezugszeichen oder entsprechende Bezugszeichen repräsentiert werden. Obwohl die begleitenden Zeichnungen Ausführungsformen und Implementierungsbeispiele auf der Grundlage der Prinzipien der vorliegenden Offenbarung veranschaulichen, sind die Zeichnungen zum Verständnis der vorliegenden Offenbarung vorgesehen und werden nicht verwendet, um die vorliegende Offenbarung einschränkend zu interpretieren. Die Beschreibung in der vorliegenden Spezifikation ist lediglich ein Beispiel und ist nicht vorgesehen, um die Ansprüche oder die Anwendungsbeispiele der vorliegenden Offenbarung in irgendeinem Sinne zu beschränken.In the following, embodiments of the present invention will be described with reference to the accompanying drawings. In the accompanying drawings, functionally identical elements may be represented by identical reference characters or corresponding reference characters. Although the accompanying drawings show embodiments and implementation examples based on the principles of the present To illustrate the disclosure, the drawings are provided for understanding of the present disclosure and are not used to interpret the present disclosure in a limiting sense. The description in the present specification is merely an example and is not intended to limit the claims or the application examples of the present disclosure in any sense.
Obwohl die Beschreibung ausreichend detailliert gestaltet wird, damit Fachleute die vorliegende Offenbarung in der vorliegenden Ausführungsform implementieren können, versteht sich, dass weitere Implementierungen und Ausführungsformen möglich sind, und Änderungen der Konfigurationen und Strukturen und ein Austausch verschiedener Elemente sind möglich, ohne vom Umfang und Geist des technischen Gedankens der vorliegenden Offenbarung abzuweichen. Entsprechend wird die folgende Beschreibung nicht als darauf beschränkt interpretiert.Although the description is made sufficiently detailed for those skilled in the art to implement the present disclosure in the present embodiment, it should be understood that other implementations and embodiments are possible, and changes in configurations and structures, and the substitution of various elements, are possible without departing from the scope and spirit deviate from the technical spirit of the present disclosure. Accordingly, the following description is not to be interpreted as being limited thereto.
[Erste Ausführungsform][First embodiment]
Eine Arithmetiksteuervorrichtung gemäß einer ersten Ausführungsform wird unter Bezugnahme auf
Die Parameterzuweisungseinheit
Die Parameter, die in der Parameterzuweisungseinheit
Die Aufgabenabhängigkeitsbeziehungs-Parameterspeichereinheit
Der Mehrkernprozessor
Die Aufgabenzuweisungseinheit
Mount-Funktionen, die für die Arithmetiksteuervorrichtung
In diesem Fall wird, wie in
Eine Aufgabe zum Zuweisen jeder der Funktionen 1, 2, 3, 4 ... zum Mehrkernprozessor
Als Beispiel verschiedener Stücke von Eingabedaten, wenn ein Modell, das durch ein modellbasiertes Entwurfsverfahren, das in
Wenn die Aufgaben definiert werden, wie in einer Tabelle von
In den Aufgabengraphen, die in
Wenn die Aufgaben definiert werden, wird die Priorität als der Parameter für jede Aufgabe definiert und wird in der Aufgabenprioritäts-Parameterspeichereinheit
Die Aufgaben A bis E, die einen Aufgabensteuerzeitraum von 30 ms besitzen, werden auf der Grundlage der Abhängigkeitsbeziehung in Übereinstimmung mit dem Aufgabenabhängigkeitsbeziehungsparameter ausgeführt. Zum jetzigen Zeitpunkt können die Aufgaben A und B und die Aufgaben C und D durch die verschiedenen Kerne 1 und 2 parallel (gleichzeitig) ausgeführt werden. Allerdings müssen A, C, D und E in dieser Reihenfolge ausgeführt werden und somit wird die Verarbeitung ein Flaschenhals (ein kritischer Pfad). Als Ergebnis kann eine Zeitraumabhängigkeit von 30 [ms] abhängig von einer Ausführungszeit jeder Aufgabe nicht erfüllt werden und eine Zeitabhängigkeitsverletzung tritt auf.Tasks A to E, which have a task control period of 30 ms, are executed based on the dependency relationship in accordance with the task dependency relationship parameter. At this point in time, tasks A and B and tasks C and D can be performed in parallel (simultaneously) by the
Somit wird in der vorliegenden Ausführungsform die Ausführungszeit durch Ausführen einer Parallelisierung unter einer vorgegebenen Bedingung für eine Aufgabe, die ferner in mehrere Unteraufgaben unterteilt ist und unter den mehreren Aufgaben A, C, D und E im kritischen Pfad parallelisierbar ist, verkürzt. Die Aufteilung der Aufgabe in die Unteraufgaben kann in der Aufgabenzuweisungseinheit
Mindestens zwei oder mehr Unteraufgaben der mehreren Unteraufgaben, die aus einer Aufgabe D erzeugt wurden, werden parallelisiert und können gleichzeitig in verschiedenen Kernen ausgeführt werden und somit kann eine Gesamtausführungszeit (ein Durchschnitt) der Aufgaben verkürzt werden.At least two or more subtasks of the multiple subtasks generated from a task D are parallelized and can be executed simultaneously in different cores, and thus a total execution time (an average) of the tasks can be shortened.
Wünschenswerterweise können beim Parallelisieren der mehreren Unteraufgaben der Aufgabe D die mehreren Unteraufgaben in eine Vorparallelisierungsunteraufgabe Dpre (21), eine Parallelisierungszielunteraufgabe Dp (22) (Dp0 bis Dp3) und eine Nachparallelisierungsunteraufgabe Dpost (23) unterteilt werden. Die Vorparallelisierungsunteraufgabe Dpre1 ist eine Unteraufgabe, die unter den Unteraufgaben der Aufgabe D zuerst ausgeführt wird. Nachdem die Vorparallelisierungsunteraufgabe Dpre1 ausgeführt worden ist, können die mehreren Parallelisierungszielunteraufgaben Dp in den mehreren Kernen parallel ausgeführt werden. Die Nachparallelisierungsunteraufgabe Dpost ist eine Aufgabe, die ausgeführt wird, wenn die Ausführung von allen Parallelisierungszielunteraufgaben Dp1 bis Dp3 beendet ist.Desirably, in parallelizing the multiple subtasks of task D, the multiple subtasks can be divided into a pre- parallelization sub-task D pre (21), a parallelization target sub-task D p (22) (D p0 to D p3 ), and a post- parallelization sub-task D post (23). The pre- parallelization sub-task D pre1 is a sub-task that is executed first among the sub-tasks of the task D. After the pre-parallelization sub-task D pre1 is executed, the multiple parallelization target subtasks D p in the multiple cores can be executed in parallel. The post- parallelization subtask D post is a task that is executed when the execution of all of the parallelization target subtasks D p1 to D p3 is finished.
Wie oben beschrieben ist, wird eine Vorhersage der Ausführungszeit durch Anordnen von Unteraufgaben außer dem Parallelisierungsziel vor und nach der Parallelisierungszielunteraufgabe Dp einfach und außerdem kann eine Verarbeitungslast der Arithmetiksteuervorrichtung
Wie in
Beim Start der Parallelisierungsverarbeitung kann dann, wenn die Aufgabe B im Kern 1 ausgeführt wird, die Aufgabe B einmal unterbrochen werden. Entsprechend können alle vier Kerne 1 bis 4 zu einem ausführbaren Zustand eingestellt werden, können die Unteraufgaben Dp0 bis Dp3 jeweils zu den Kernen zugewiesen werden und kann die Verarbeitung in den vier Kernen 1 bis 4 gleichzeitig gestartet werden. In Bezug auf die Unteraufgaben Dp0 bis Dp3 ist es wünschenswert, dass Verarbeitungsstartzeitpunkte durch Erzeugen eines Synchronisationssignals nach dem Ende der Vorparallelisierungsunteraufgabe Dpre ausgerichtet werden. Wenn die Ausführung aller Unteraufgaben Dp0 bis Dp3 beendet ist, kann die Ausführung der Nachparallelisierungsunteraufgabe Dpost danach gestartet werden. Im Kern 1 kann die Ausführung der unterbrochenen Aufgabe B wiederaufgenommen werden.At the start of the parallelization processing, if the task B is executed in the
Ähnlich zur Aufgabe B wird die Verarbeitung der Aufgabe F, die den Aufgabensteuerzeitraum von 50 ms besitzt und im Kern 3 ausgeführt wird, in einem Zustand, in dem die Parallelisierungsverarbeitung gestartet werden kann, einmal unterbrochen. Danach wird die Ausführung der Unteraufgabe Dp2, die als Ziel für die Parallelisierungsverarbeitung gesetzt ist, im Kern 3 gestartet. Nach dem Ende der Unter Dp3 wird die Verarbeitung der Aufgabe F, die im Kern 3 unterbrochen wurde, wiederaufgenommen.Similar to the task B, the processing of the task F, which has the task control period of 50 ms and is being executed in the
Ähnlich zur Aufgabe D kann selbstverständlich die Aufgabe F als Ziel für die Parallelisierungsverarbeitung gesetzt werden, solange die Aufgabe F auch in Unteraufgaben unterteilt werden kann und die Parallelisierungsverarbeitung durchgeführt werden kann (siehe
<Änderungsbeispiel 1><Change example 1>
Wenn die Aufgabe H auftritt, wird die Aufgabe H durch Unterbrechen der Ausführung der Unteraufgabe Dp3 z. B. im Kern 4 ausgeführt. Im Gegensatz zu den Aufgaben A bis G, die die Aufgabensteuerzeiträume aufweisen, tritt die Aufgabe H, die eine ereignisgesteuerte Verarbeitungsaufgabe ist, in Reaktion auf das Auftreten eines Ereignisses ungeachtet des Aufgabensteuerzeitraums zufällig auf. Somit ist es für einen Gestalter schwierig, den Ausführungszeitpunkt der Aufgabe H im Voraus zu gestalten. Um die Ausführung der Aufgabe H auf der Grundlage des Auftretens des Ereignisses zu ermöglichen, kann die Priorität der Aufgabe H im Allgemeinen höher als die von weiteren Aufgaben eingestellt werden.When task H occurs, task H is performed by interrupting the execution of sub-task D p3 e.g. B. executed in the
Allerdings kann die Nachparallelisierungsunteraufgabe Dpost nach Abschluss der Parallelisierungszielunteraufgabe Dp ausgeführt werden. Somit muss dann, wenn ein Ausführungsstartzeitpunkt der Aufgabe Dpost durch den Betrieb der Aufgabe H verzögert wird, als Ergebnis die Verarbeitung für die Aufgaben A bis E während des Aufgabensteuerzeitraums nicht abgeschlossen werden und es besteht die Sorge, dass eine Zeitabhängigkeitsverletzung auftreten kann (siehe
Wie oben beschrieben ist, kann dann, wenn die Aufgabe, deren Priorität höher eingestellt ist als die der Parallelisierungszielunteraufgabe, wie z. B. die ereignisgesteuerte Verarbeitung (die Unterbrechungsverarbeitung) vorliegt, ein Fall vorliegen, in dem die Verarbeitung eines Teils der Parallelisierungszielunteraufgaben unterbrochen ist und die Ausführungszeitabhängigkeit nicht erfüllt werden kann.As described above, if the task whose priority is set higher than that of the parallelization target subtask such as For example, there is the event-driven processing (the interrupt processing), there is a case where the processing of a part of the parallelization target subtasks is interrupted and the execution time dependency cannot be satisfied.
Somit wird im Änderungsbeispiel
Wie oben beschrieben ist, kann für die Vorparallelisierungsunteraufgabe Dpre und die Nachparallelisierungsunteraufgabe Dpost die Priorität vor der Parallelisierung übernommen werden und kann die Priorität in einer Beziehung mit den weiteren Aufgaben A bis C, E bis H und dergleichen angepasst werden. Zum Beispiel kann dann, wenn eine weitere Aufgabe vorliegt, die eine Priorität besitzt, die höher als die der ursprüngliche Aufgabe D ist, die Priorität derart angepasst werden, dass die weitere Aufgabe vorzugsweise ausgeführt wird. Allerdings wird für die Parallelisierungszielunteraufgaben Dp0 bis Dp3 die Verletzung der Ausführungszeitabhängigkeit direkt durch eine Ausführungsfluktuation verursacht, wenn eine Behinderung durch eine weitere Aufgabe besteht. Somit wird die höchstmögliche Priorität lediglich den Parallelisierungszielunteraufgaben Dp0 bis Dp3 gegeben. Entsprechend kann der Betrieb der Reihe von Aufgaben, die die Parallelisierungszielunteraufgaben enthalten, garantiert werden.As described above, for the pre- parallelization sub-task D pre and the post- parallelization sub-task D post, the priority can be adopted before the parallelization, and the priority can be adjusted in relation to the other tasks A to C, E to H and the like. For example, if there is a further task which has a priority that is higher than that of the original task D, the priority can be adjusted in such a way that the further task is preferably carried out. However, for the parallelization target subtasks D p0 to D p3, the execution time dependency violation is directly caused by an execution fluctuation when there is an obstruction by another task. Thus, the highest possible priority is given only to the parallelization target subtasks D p0 to D p3 . Accordingly, the operation of the series of tasks including the parallelization target subtasks can be guaranteed.
<Änderungsbeispiel 2><Change example 2>
Beim Anwenden der ersten Ausführungsform ist es dann, wenn es unmöglich ist, den Betrieb der Aufgabe H, die die ereignisgesteuerte Verarbeitung ist, zu behindern, möglich, den Kern, der der Aufgabe H fest zugeordnet ist, getrennt zu definieren. In diesem Fall ist es möglich, den Mehrkernprozessor
Im Änderungsbeispiel 2 ist, da der Betrieb der Aufgaben A bis G, die die Aufgabensteuerzeiträume aufweisen, durch die unterbrochene Aufgabe H nicht behindert wird, ein Zeitpunkt, zu dem ein externer Speicher oder ein Zwischenspeicher verwendet wird, fest und somit kann eine Verarbeitungsleistungsverbesserungswirkung durch eine Zwischenspeicherverwendungs-Effizienzverbesserung erwartet werden.In Modification Example 2, since the operation of the tasks A to G having the task control periods is not hindered by the interrupted task H, a timing at which an external memory or a buffer is used is fixed, and thus a processing performance improvement effect by a Cache usage efficiency improvements are expected.
In der vorliegenden Ausführungsform wurde der Einfachheit halber ein Fall beschrieben, in dem die Anzahl von Parallelisierungszielunteraufgaben eins ist, und zum jetzigen Zeitpunkt kann der Parallelisierungszielunteraufgabe die höchste Priorität gegeben werden. Allerdings können in der Praxis mehrere Aufgaben, die parallelisiert werden sollen, vorliegen. In einem solchen Fall ist es möglich, die Priorität von der höchsten Priorität in der Reihenfolge strengerer Zeitabhängigkeiten sequenziell zu verringern.In the present embodiment, for the sake of simplicity, a case has been described where the number of parallelization target subtasks is one, and at this point in time, the parallelization target subtask can be given the highest priority. However, in practice there may be several tasks that need to be parallelized. In such a case, it is possible to sequentially decrease the priority from the highest priority in the order of more severe time dependencies.
In der oben beschriebenen Ausführungsform wurde die Beschreibung unter der Annahme gegeben, dass der Mehrkernprozessor
In einem Fall, in dem die Aufgaben A bis G, die die Aufgabensteuerzeiträume aufweisen, eine Verarbeitungslast besitzen, die höher ist als die der Aufgabe H, die die ereignisgesteuerte Verarbeitung ist, einem Fall, in dem eine Auftrittshäufigkeit der Aufgabe H, die die ereignisgesteuerte Verarbeitung ist, niedrig ist, oder dergleichen ist es in einem derartigen heterogenen Kern möglich, die Arithmetikleistung weiter zu verbessern, indem die Aufgabe, die den Aufgabensteuerzeitraum besitzt, einem Kern, der eine höhere Leistungsfähigkeit besitzt, zugewiesen wird und die Aufgabe H, die die ereignisgesteuerte Verarbeitung ist, einem Kern, der eine niedrigere Leistungsfähigkeit besitzt, zugewiesen wird.In a case where the tasks A to G having the task control periods have a processing load higher than that of the task H which is the event-driven processing, a case where an occurrence frequency of the task H which is the event-driven processing Processing is low, or the like, in such a heterogeneous core, it is possible to further improve arithmetic performance by assigning the task having the task control period to a core having higher performance and task H having the event-driven processing is assigned to a lower-performing core.
[Zweite Ausführungsform][Second embodiment]
Dann wird eine Arithmetiksteuervorrichtung gemäß einer zweiten Ausführungsform unter Bezugnahme auf
In der zweiten Ausführungsform enthält die Parameterzuweisungseinheit
Wie in
Ähnlich zu Änderungsbeispiel 2 der ersten Ausführungsform ist es im Hinblick auf die Aufgabe H auch möglich, einen Mehrkernprozessor anzuwenden, in dem zwei Typen von Kernen (die Kerne 1 bis 4) zum Verarbeiten der Aufgaben, die den Aufgabensteuerzeitraum besitzen, und der Kern (den Kern 5), der der Verarbeitung für die Aufgabe der ereignisgesteuerten Verarbeitung fest zugeordnet ist, vorhanden sind. Wenn eine derartige Konfiguration angewendet wird, liegt der Nachteil vor, dass die Gesamtprozessorverwendungseffizienz durch getrenntes Bereitstellen des Kerns, der der ereignisgesteuerten Verarbeitung fest zugeordnet ist, abgesenkt wird, jedoch ist es möglich, die Erfüllung der regelmäßigen Abhängigkeit durch Verbessern der Vorhersagbarkeit des Aufgabenverhaltens im Mehrkernprozessor sicherzustellen. Da der Betrieb der regelmäßigen Verarbeitungsaufgabe nicht behindert wird, ist der Zeitpunkt, zu dem der externe Speicher oder der Zwischenspeicher verwendet wird, fest und somit ist es möglich, die Verarbeitungsleistungsverbesserungswirkung aufgrund der Zwischenspeicherverwendungs-Effizienzverbesserung zu erwarten und ist es möglich, die Anzahl von Aufgabenentwurfsarbeitsstunden durch Durchführen einer dynamischen Planung im Vergleich zu einer statischen Planung in der ersten Ausführungsform zu verringern.Similar to Modification Example 2 of the first embodiment, with regard to Task H, it is also possible to employ a multi-core processor in which two types of cores (the
Obwohl oben die Ausführungsformen der vorliegenden Erfindung beschrieben wurden, wurden diese Ausführungsformen als Beispiele präsentiert und sind nicht dazu bestimmt, den Umfang der Erfindung zu beschränken. Diese neuen Ausführungsformen können in verschiedenen weiteren Formen implementiert werden und verschiedene Auslassungen, Ersetzungen und Änderungen können vorgenommen werden, ohne vom Hauptinhalt der Erfindung abzuweichen. Diese Ausführungsformen und ihre Änderungen sind im Umfang und Hauptinhalt der Erfindung enthalten und sind in der Erfindung, die in den Ansprüchen beschrieben ist, und ihrem entsprechenden Umfang enthalten.Although the embodiments of the present invention have been described above, these embodiments have been presented as examples and are not intended to limit the scope of the invention. These new embodiments can be implemented in various other forms, and various omissions, substitutions, and changes can be made without departing from the gist of the invention. These embodiments and their modifications are included within the scope and gist of the invention, and are included in the invention described in the claims and its respective scope.
Zusätzlich kann ein Teil der oben genannten Konfigurationen, Funktionen, Verarbeitungseinheiten, Verarbeitungsmittel und dergleichen durch Hardware, z. B. durch Entwerfen einer integrierten Schaltung, realisiert werden. Jede der oben genannten Konfigurationen und Funktionen kann durch Software durch Interpretieren und Ausführen eines Programms, das jede Funktion durch den Prozessor realisiert, realisiert werden. Daten von Programmen, Tabellen, Dateien und dergleichen zum Realisieren der Funktionen können in einer Aufzeichnungsvorrichtung wie z. B. einem Speicher, einer Festplatte oder einem Festkörperlaufwerk (SSD) oder einem Aufzeichnungsmedium wie z. B. einer IC-Karte, einer SD-Karte oder einem DVD gespeichert sein.In addition, part of the above configurations, functions, processing units, processing means and the like can be implemented by hardware, e.g. By designing an integrated circuit. Each of the above configurations and functions can be realized by software by interpreting and executing a program that realizes each function by the processor. Data of programs, tables, files and the like for realizing the functions can be stored in a recording device such as e.g. B. a memory, a hard disk or a solid state drive (SSD) or a recording medium such. B. an IC card, an SD card or a DVD.
Zum Beispiel ist in der oben genannten Ausführungsformen die Kombination der Aufgabengruppe, die den Steuerzeitraum von 30 ms besitzt, der Aufgabengruppe, die den Steuerzeitraum von 50 ms besitzt, und der ereignissteuernden Aufgabe veranschaulicht, jedoch ist die vorliegende Erfindung nicht darauf beschränkt. Ungeachtet des Vorliegens mehrerer Typen der Steuerzeiträume, verschiedener Fristzeitpunkte, des Vorliegens oder des Fehlens der ereignisgesteuerten Verarbeitung und dergleichen kann die vorliegende Erfindung eine Fluktuation der Verarbeitungszeit durch Ändern der Verarbeitungspriorität der Aufgabe, die durch Parallelisierung erzeugt wird, verringern und kann die Zusicherungsmöglichkeit der Ausführungszeitabhängigkeit erhöhen.For example, in the above-mentioned embodiment, the combination of the task group having the control period of 30 ms, the task group having the control period of 50 ms, and the event controlling task is illustrated, but the present invention is not limited thereto. Regardless of the existence of plural types of control periods, different timing, the existence or absence of the event-driven processing, and the like, the present invention can reduce fluctuation in processing time by changing the processing priority of the task generated by parallelization, and can increase the assurance possibility of execution time dependency .
BezugszeichenlisteList of reference symbols
- 11
- Arithmetiksteuervorrichtung,Arithmetic control device,
- 101101
- Parameterzuweisungseinheit,Parameter assignment unit,
- 10111011
- Aufgabensteuerzeitraum-Parameterspeichereinheit,Task control period parameter storage unit,
- 10121012
- Aufgabenprioritäts-Parameterspeichereinheit,Task priority parameter storage unit,
- 10131013
- Aufgabenabhängigkeitsbeziehungs-Parameterspeichereinheit,Task dependency relationship parameter storage unit,
- 10141014
- Fristparameterspeichereinheit,Time limit parameter storage unit,
- 102102
- Mehrkernprozessor,Multi-core processor,
- 1021, 10221021, 1022
- Kern,Core,
- 103103
- Aufgabenzuweisungseinheit.Task assignment unit.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- JP 2008171153 A [0006]JP 2008171153 A [0006]
Claims (10)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018232407A JP7385989B2 (en) | 2018-12-12 | 2018-12-12 | Arithmetic control unit |
JP2018-232407 | 2018-12-12 | ||
PCT/JP2019/046724 WO2020121840A1 (en) | 2018-12-12 | 2019-11-29 | Arithmetic control device |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112019005584T5 true DE112019005584T5 (en) | 2021-10-28 |
Family
ID=71075338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112019005584.4T Pending DE112019005584T5 (en) | 2018-12-12 | 2019-11-29 | ARITHMETIC CONTROL DEVICE |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7385989B2 (en) |
DE (1) | DE112019005584T5 (en) |
WO (1) | WO2020121840A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7188693B2 (en) | 2018-09-12 | 2022-12-13 | 国立研究開発法人物質・材料研究機構 | Electrode using graphene, method for producing same, and power storage device using same |
JP6988773B2 (en) * | 2018-11-15 | 2022-01-05 | オムロン株式会社 | Control system and control unit |
CN112114956A (en) * | 2020-09-29 | 2020-12-22 | 中国银行股份有限公司 | Task scheduling method, device and system |
KR102540724B1 (en) * | 2020-12-14 | 2023-06-05 | 현대오토에버 주식회사 | Method for managing execution of task in the multi-core system, and apparatus implementing the same method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171153A (en) | 2007-01-10 | 2008-07-24 | Fujitsu Ten Ltd | Task management apparatus |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000099352A (en) | 1998-09-18 | 2000-04-07 | Fuji Xerox Co Ltd | Job processor |
JP5036523B2 (en) | 2007-12-21 | 2012-09-26 | 三菱電機株式会社 | Program parallelizer |
JP6183374B2 (en) | 2012-10-31 | 2017-08-23 | 日本電気株式会社 | Data processing system, data processing method and program |
JP2014160367A (en) | 2013-02-20 | 2014-09-04 | Mitsubishi Electric Corp | Arithmetic processing unit |
JP6214469B2 (en) | 2014-05-26 | 2017-10-18 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
JP2016091137A (en) | 2014-10-31 | 2016-05-23 | コニカミノルタ株式会社 | Image forming apparatus, specific processing execution method, and computer program |
-
2018
- 2018-12-12 JP JP2018232407A patent/JP7385989B2/en active Active
-
2019
- 2019-11-29 DE DE112019005584.4T patent/DE112019005584T5/en active Pending
- 2019-11-29 WO PCT/JP2019/046724 patent/WO2020121840A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171153A (en) | 2007-01-10 | 2008-07-24 | Fujitsu Ten Ltd | Task management apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2020095441A (en) | 2020-06-18 |
JP7385989B2 (en) | 2023-11-24 |
WO2020121840A1 (en) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112019005584T5 (en) | ARITHMETIC CONTROL DEVICE | |
DE60307532T2 (en) | Parallel process execution method and multiprocessor computer | |
DE69637020T2 (en) | Over partitioning system and method for increasing the number of checkpoints in component-based parallel applications | |
DE102016014152A1 (en) | Numerical control device | |
DE112020004661T5 (en) | Determining an optimal number of threads per core in a multi-core processor complex | |
DE102017210126A1 (en) | Parallelization method, parallelization tool and in-vehicle device | |
DE112014000340T5 (en) | Prefetching data for a chip with a parent core and a scout core | |
DE102018104188A1 (en) | Combined Rendering and Calculation Resource Allocation Management System | |
DE102016203808A1 (en) | Reduce virtual machine preemption in a virtualized environment | |
DE102016223939A1 (en) | Parallelization method, parallelization tool and on-board device | |
DE102018114322A1 (en) | Architecture and services to support reconfigurable synchronization in a multiprocessor system | |
DE112017003052T5 (en) | Control system with a distributed service-oriented architecture | |
DE102016219403A1 (en) | PARALLELIZATION PROCESSING, PARALLELIZATION TOOL AND VEHICLE-ASSIGNED DEVICE | |
DE102007051803A1 (en) | Method and device for data processing | |
DE102016204970A1 (en) | Parallelization compilation method, parallelization complicator and vehicle device | |
DE102015100566A1 (en) | Method and light mechanism for mixed critical applications | |
DE102016219449A1 (en) | Parallelization method, parallelization tool and vehicle-mounted device | |
DE112019000189T5 (en) | PROGRAM EXECUTION CONTROL METHOD AND VEHICLE CONTROL DEVICE | |
DE102018123563B4 (en) | Method for inter-core communication in a multi-core processor | |
EP3705993B1 (en) | System and method for locating and identifying computing nodes in a network | |
DE102016224206A1 (en) | VEHICLE CONTROL DEVICE | |
DE112020005072T5 (en) | DATA PROCESSING ESTABLISHMENT | |
EP2126700B1 (en) | Control of the run time behavior of processes | |
DE102020214951A1 (en) | Method for dynamically allocating memory bandwidth | |
DE112018003505T5 (en) | ACCESS CONTROL DEVICE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |