WO2011076276A2 - Verfahren zur erzeugung einer optimierten hardware-/software partitionierung eingebetteter systeme mit mehreren steuergeräten - Google Patents
Verfahren zur erzeugung einer optimierten hardware-/software partitionierung eingebetteter systeme mit mehreren steuergeräten Download PDFInfo
- Publication number
- WO2011076276A2 WO2011076276A2 PCT/EP2009/067855 EP2009067855W WO2011076276A2 WO 2011076276 A2 WO2011076276 A2 WO 2011076276A2 EP 2009067855 W EP2009067855 W EP 2009067855W WO 2011076276 A2 WO2011076276 A2 WO 2011076276A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tasks
- processing units
- processes
- task
- predefined
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Definitions
- the invention relates to a computer-aided method for automatic synthesis of distributed embedded systems, wherein the tasks to be processed by the system are mapped onto a hardware structure with a plurality of processing units such that predefined deadline criteria of the tasks are met.
- the hardware architecture including the infrastructure for the software tasks, the operating system, must under this boundary condition and, where appropriate, be further specified boundary conditions, such as. Energy consumption, electrical power consumption and operating temperature can be implemented with minimal costs, usually expressed in chip area.
- the tasks are assigned to the processors by means of an exact or heuristic optimization procedure and then it is checked whether the specified boundary conditions are met. The task-processor assignment is selectively modified by the optimization procedure until a sufficiently minimal hardware architecture has been found or the search can be aborted.
- a functional network consists of blocks, each block calculating a specific function. Each block can realize a task here.
- the data inputs and outputs of the blocks are interconnected. It shows the data flow between the blocks.
- For functional correctness is the chronological order of the Processing of blocks of importance and compliance with the required deadlines.
- the automaker distributes the blocks to ECUs without detailed knowledge of the system architecture (eg number and type of CPUs and peripherals, memory size) of the ECU, in particular the software architecture (eg scheduling method, number of processes and interrupt service routines ( ISR), ISR / Process Priorities).
- system architecture eg number and type of CPUs and peripherals, memory size
- the software architecture eg scheduling method, number of processes and interrupt service routines ( ISR), ISR / Process Priorities.
- the invention is based on the task of mapping the tasks to be processed by an embedded system to a hardware structure having a plurality of processing units such that predefined deadline criteria of the tasks are met. This object is achieved with the features of the claims.
- the invention relates to a computer-aided method for the automatic synthesis of distributed embedded systems, wherein the tasks to be processed by the system are mapped onto a hardware structure with a plurality of processing units in such a way that predefined deadline criteria of the tasks are met.
- the procedure is carried out with the following steps:
- step (g) preferably depends on an optimization heuristic.
- the step of distributing the tasks on hardware considers the data dependencies and event densities of the data.
- the data dependencies between the tasks are differentiated from the activations of running a task.
- the step of assigning the tasks to the processes (d) of the operating systems of the associated processing units preferably comprises an event spectral analysis step for analyzing the input and output densities of the data dependencies and activations, wherein the event spectral analysis step preferably from the event density of activating a task the event density on the data outputs and activation outputs to subsequent tasks.
- the determined output densities of the events of the tasks are preferably less than or equal to the possible input densities of the events of the subsequent tasks.
- the step of assigning the tasks to the processes (d) of the associated processing units preferably comprises a task partitioning task, wherein tasks are partitioned into partitions depending on the input and output densities of the events, in the next step, the partitions' tasks Assign assigned processing units.
- the task partitioning step preferably comprises a comparison of the input and / or output densities of the events of the tasks with predefined threshold values.
- the thresholds and comparison operators are provided as a specification by the user.
- several processes are combined into one process.
- the execution order of the plurality of tasks or processes is preferably determined by a scheduling method, wherein the scheduling method is preferably scheduling, priority scheduling, or time slot based scheduling ,
- the check of whether the given assignment of the tasks to the processes of the operating systems of the processing units fulfills the predefined deadline criteria of the tasks is preferably based on methods of the mathematical calculation of the real-time calculus or on methods of the taskcalculus.
- the cost calculation performed in step (f) preferably takes into account the energy consumption, electrical power consumption, operating temperature or chip area of at least one of the processing units.
- the processing units are preferably processors.
- the solution criterion preferably takes into account the drop below a predefined cost threshold or the finding of a minimum cost.
- the inventive method is different. First, the tasks are assigned to the individual processors as in the known methods.
- the assignment of the tasks to the processing units begins with the edge nodes of the task graph: tasks that are activated by sensors or supplied with data are preferably placed on the processing units to which the sensors are connected. The same applies to actuators.
- the execution time of a task on the selected processing unit can be determined.
- the execution time and the event density of the activation can be determined using the event spectral analysis (see F. Bodmann, Albers, F. Slomka: Analyzing the Timing Characteristics of Task Activations, Proceedings of the first IEEE Symposium on Industrial Embedded Systems (SIES), October 2006 and Albers, F. Bodmann, F.
- Slomka Hierarchical Event Streams and Event Dependency Graphs: A New Computational Model for Embedded Real-Time Systems, IEEE Proceedings of the 18th Euromicro Conference on Real-Time Systems, July 2006) outgoing data dependencies and activation of subsequent tasks.
- the incoming and outgoing event densities represent a dynamic interface specification of a task bound to a processor (see F. Slomka, F. Bodmann, K. Albers: Analytical Transaction Modeling, EDA Workshop, Hannover, VDI Verlag, June 2007).
- Each edge that goes from one placed task to another task is weighted.
- the weight corresponds to the data size to be transmitted per event.
- Activation edges are given a weight that corresponds to the smallest data size that can be transmitted. Parallel edges running between two tasks are combined into one edge, with the weights added together.
- the product of weight and event density of an edge is compared to a defined threshold. High values that exceed the threshold result in the subsequent task being placed on the same processing unit. Small values cause the subsequent task to be placed on another processing unit. In this case, a further communication task is inserted and placed on the communication resource connecting the two processing units. This is repeated iteratively until all tasks have been assigned to processing units. In the next step, it is checked whether the distribution obtained meets a predetermined cost criterion. If this is not the case, the distribution is discarded and started again. In the next step, the tasks are assigned to the processes of the operating system. In doing so, one can take advantage of the now available dynamic interface specification. Using the in K. Albers, F.
- the density of the events is therefore a kind of proximity measurement (partitioning) in the case of partitioning and task-to-process assignment.
- partitioning Depending on defined threshold values, it is now possible to decide whether and, if so, how the task partitioning should continue. If a task partitioning has been found that fulfills these criteria, the individual tasks can now be merged into processes. Different hierarchical structures of these processes can be used. This means that several processes can be combined into one process. If several tasks are combined into one process, several processes are combined into one process or several processes are executed by one processor, the individual execution sequences of the tasks and processes must be determined by means of a scheduler.
- step 1 the selection of a task and the assignment of the task to any hardware. After this assignment, the outgoing data flows and activations of this task representing the output density are determined in step 2.
- the abort criterion in step 3 is then whether all tasks are assigned. If this is not already the case, then in step 4 the next task is selected from the set of unassigned tasks. Subsequently, in step 5, a comparison is made of the output densities running from the assigned tasks to the next selected task with a user-defined threshold value. This next task is then allocated to the same hardware if the output density is above a threshold (step 7). Otherwise, the task is assigned to any other hardware if the output density is less than or equal to the threshold (step 6).
- step 3 This is done until all tasks have been assigned (result Yes "in step 3) the cost and a comparison with a user-defined criterion. If this criterion is not fulfilled, an optimization algorithm is integrated in step 9 and steps 1 to 8 are repeated. That is, steps 1-8 are repeated with a new assignment of the tasks to the processing units until the tasks meet the predefined cost criteria.
- step 10 the tasks are then assigned to the processes of the operating systems of the processing units assigned to the tasks.
- step 11 a real-time scheduling analysis.
- Step 12 checks whether the given assignment of tasks to the processes of the operating systems of the processing units meets the predefined deadline criteria of the tasks. If this is the case, the costs associated with the given assignment of the tasks to the processes of the operating system's operating systems are calculated. Otherwise, steps 1 to 8 are repeated with a new assignment of the tasks to the processing units (if the deadline threshold is exceeded) or from step 9 with a new assignment of the tasks to the processes of the operating systems associated processing units repeated (if the deadline threshold is undershot) until the cost of the present solution meets a predefined solution criterion.
- the latter alternative is again accompanied by the inclusion of an optimization, step 16. Accordingly, it is checked in step 13 whether the system is Pareto-optimal. If so, the solution is stored in step 14.
- step 15 it is checked in step 15 whether the predetermined number of optimal solutions has been reached.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/518,709 US9092263B2 (en) | 2009-12-23 | 2009-12-23 | Method for generating an optimised hardware/software partitioning of embedded systems using a plurality of control appliances |
JP2012545105A JP2013515988A (ja) | 2009-12-23 | 2009-12-23 | 複数の制御装置を有する組み込みシステムにおける最適なハードウェア/ソフトウェア分割の生成方法 |
EP09807606A EP2517106A1 (de) | 2009-12-23 | 2009-12-23 | Verfahren zur erzeugung einer optimierten hardware-/software partitionierung eingebetteter systeme mit mehreren steuergeräten |
PCT/EP2009/067855 WO2011076276A2 (de) | 2009-12-23 | 2009-12-23 | Verfahren zur erzeugung einer optimierten hardware-/software partitionierung eingebetteter systeme mit mehreren steuergeräten |
IL220612A IL220612A (en) | 2009-12-23 | 2012-06-24 | A method for efficiently distributing hardware / software on embedded systems with many control devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2009/067855 WO2011076276A2 (de) | 2009-12-23 | 2009-12-23 | Verfahren zur erzeugung einer optimierten hardware-/software partitionierung eingebetteter systeme mit mehreren steuergeräten |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011076276A2 true WO2011076276A2 (de) | 2011-06-30 |
Family
ID=42124253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2009/067855 WO2011076276A2 (de) | 2009-12-23 | 2009-12-23 | Verfahren zur erzeugung einer optimierten hardware-/software partitionierung eingebetteter systeme mit mehreren steuergeräten |
Country Status (5)
Country | Link |
---|---|
US (1) | US9092263B2 (de) |
EP (1) | EP2517106A1 (de) |
JP (1) | JP2013515988A (de) |
IL (1) | IL220612A (de) |
WO (1) | WO2011076276A2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956229B2 (en) | 2018-10-04 | 2021-03-23 | International Business Machines Corporation | Managing resource sharing and task bidding on the internet of things (IoT) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725897B2 (en) * | 2004-11-24 | 2010-05-25 | Kabushiki Kaisha Toshiba | Systems and methods for performing real-time processing using multiple processors |
US7093255B1 (en) * | 2002-05-31 | 2006-08-15 | Quicksilver Technology, Inc. | Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths |
US7996522B2 (en) * | 2007-12-04 | 2011-08-09 | Novell, Inc. | Persistent scheduling techniques |
-
2009
- 2009-12-23 JP JP2012545105A patent/JP2013515988A/ja active Pending
- 2009-12-23 EP EP09807606A patent/EP2517106A1/de not_active Withdrawn
- 2009-12-23 US US13/518,709 patent/US9092263B2/en active Active
- 2009-12-23 WO PCT/EP2009/067855 patent/WO2011076276A2/de active Application Filing
-
2012
- 2012-06-24 IL IL220612A patent/IL220612A/en active IP Right Grant
Non-Patent Citations (7)
Title |
---|
ERNESTO WANDELER: "Modular Performance Analysis and Interface-Based Design for Embedded Real-Time Systems", PHD THESIS, COMPUTER ENGINEERING AND NETWORKS LABORATORY, September 2006 (2006-09-01) |
F. BODMANN; K. ALBERS; F. SLOMKA: "Analyzing the Timing Characteristics of Task Activations", PROCEEDINGS OF THE FIRST IEEE SYMPOSIUM ON INDUSTRIAL EMBEDDED SYSTEMS, October 2006 (2006-10-01) |
F. SLOMKA; F. BODMANN; K. ALBERS: "EDA Workshop", June 2007, VDI VERLAG, article "Analytische Transaktionsmodellierung" |
K. ALBERS; F. BODMANN; F. SLOMKA: "Hierarchical Event Streams and Event Dependency Graphs: A New Computational Model for Embedded Real-Time Systems", IEEE PROCEEDINGS OF THE 18TH EUROMICRO CONFERENCE ON REAL-TIME SYSTEMS, July 2006 (2006-07-01) |
K. ALBERS; F. SLOMKA: "1 6th Euromicro Conference On Real-Time Systems", 2004, IEEE COMPUTER SOCIETY PRESS, article "An Event Stream Driven Approximation for the Analysis of Real-Time Systems" |
K. ALBERS; F. SLOMKA: "Efficient Feasibility Analysis for Real-Time Systems with EDF Scheduling", PROCEEDINGS OF THE DESIGN AUTOMATION AND TEST CONFERENCE IN EUROPE, 2005 |
K. ALBERS; S. KOLLMANN; F. BODMANN; F. SLOMKA: "Advanced Hierarchical Event-Stream Model and the Real-Time Calculus", INTERNER BERICHT, 2008 |
Also Published As
Publication number | Publication date |
---|---|
JP2013515988A (ja) | 2013-05-09 |
IL220612A (en) | 2015-08-31 |
US9092263B2 (en) | 2015-07-28 |
US20130007756A1 (en) | 2013-01-03 |
IL220612A0 (en) | 2012-08-30 |
EP2517106A1 (de) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1831786B1 (de) | Verfahren zur verteilung von rechenzeit in einem rechnersystem | |
EP3101493B1 (de) | System und verfahren zur steuerung und/oder analytik eines industriellen prozesses | |
EP1997005A1 (de) | Verfahren zur erstellung eines optimierten ablaufplans für ein zeitgesteuertes verteiltes rechnersystem | |
EP1604278B1 (de) | Verfahren zur ablaufsteuerung von sequentiellen objektorientierten systemsimulationen | |
EP2386949A1 (de) | Verfahren und Vorrichtung zum zuweisen einer Mehrzahl von Teilaufgaben einer Aufgabe zu einer Mehrzahl von Recheneinheiten einer vorgegebenen Prozessorarchitektur | |
DE102016221526A1 (de) | Vorrichtung und Verfahren zum Bearbeiten einer Mehrzahl Aufgaben | |
CN111679970B (zh) | 机器人软件系统运行环境状态预测方法 | |
WO2011076276A2 (de) | Verfahren zur erzeugung einer optimierten hardware-/software partitionierung eingebetteter systeme mit mehreren steuergeräten | |
WO2012062595A1 (de) | Verfahren und vorrichtung zum bewerten von software-parallelisierung | |
WO2003069424A2 (de) | Reaktionszeit-beschränkung eines software-prozesses | |
EP1320047B1 (de) | Verfahren zur Analyse des Zeitverhaltens komplexer verteilter Systeme | |
DE102004001680B4 (de) | Dynamische Steuerung von Rechnerressourcen bei der Pipelineverarbeitung von Daten unter Verwendung von Anytime Algorithmen | |
EP2592504B1 (de) | Verfahren zur Abschätzung eines Ressourcenverbrauchs bei der Erzeugung eines Steuergeräteprogrammcodes | |
WO2023152004A1 (de) | Verfahren und vorrichtung zum betreiben einer cloud-applikation und zum auswählen einer skalierungstrategie | |
EP3705993B1 (de) | System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk | |
WO2009034063A2 (de) | Edf-implementierung für realzeitsysteme mit statischen prioritäten | |
EP3901780A1 (de) | Digitale schaltanordnung und verfahren zur konfiguration zumindest einer konfigurierbaren hardwarekomponente | |
DE102018219852A1 (de) | Verfahren und Vorrichtung zum Ermitteln einer Systemkonfiguration für ein verteiltes System | |
DE112020005639B4 (de) | Zuweisungsvorrichtung, lernvorrichtung, ableitungsvorrichtung, zuweisungsverfahren und zuweisungsprogramm | |
DE102008030881A1 (de) | Verfahren zur automatischen Synthese verteilter eingebetteter Systeme | |
EP1116107B1 (de) | Verfahren zur ausführung einzelner algorithmen mittels einer rekonfigurierbaren schaltung und vorrichtung zur durchführung eines solchen verfahrens | |
EP3073375A1 (de) | Verfahren zur ermittlung einer maximalen laufzeit für ein tasksystem | |
DE10360319B3 (de) | Verfahren zum Steuern der Auslastung einer Datenverarbeitungsanlage | |
WO2023138870A1 (de) | Verfahren und datenverarbeitungsnetzwerk zur verarbeitung von sensordaten | |
EP4199553A1 (de) | Verfahren und testeinheit zur testausführung virtueller tests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09807606 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012545105 Country of ref document: JP Ref document number: 2009807606 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 220612 Country of ref document: IL |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13518709 Country of ref document: US |