DE102019200169A1 - Method and device for determining a system configuration of a distributed system - Google Patents
Method and device for determining a system configuration of a distributed system Download PDFInfo
- Publication number
- DE102019200169A1 DE102019200169A1 DE102019200169.6A DE102019200169A DE102019200169A1 DE 102019200169 A1 DE102019200169 A1 DE 102019200169A1 DE 102019200169 A DE102019200169 A DE 102019200169A DE 102019200169 A1 DE102019200169 A1 DE 102019200169A1
- Authority
- DE
- Germany
- Prior art keywords
- communication
- processing
- function
- costs
- processing nodes
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
Abstract
Die Erfindung betrifft ein Verfahren zur Ermittlung einer oder mehrerer optimierter Systemkonfigurationen eines durch ein technisches Modell beschriebenen verteilten Systems, wobei das technische Modell durch Verarbeitungsknoten (21) und Kommunikationsverbindungen (22) zwischen Verarbeitungsknoten (21) definiert ist, wobei die Systemkonfiguration die Zuordnung von Funktionen (11) eines Funktionsmodells (1) zu einzelnen Verarbeitungsknoten (21) des technischen Modells (2) und die Zuordnung von Kommunikationspfaden (12) zu Kommunikationsverbindungen (22) zwischen den Verarbeitungsknoten (21) angibt, wobei die Kommunikationspfade (12) für die Funktionszuordnung durch den Kommunikationsbedarf einer Funktion mit einer in einem anderen Verarbeitungsknoten (21) zugeordneten Funktion angegeben sind, wobei folgende Schritten iterativ ausgeführt werden:- Ermitteln von mehreren Systemkonfigurationen durch◯ Zuordnen (S3), in einer Funktionszuordnung, von Funktionen (11) des Funktionsmodells (1) jeweils zu den Verarbeitungsknoten (21) des technischen Modells (2);◯ Bestimmen der Kommunikationspfade (12) entsprechend der Funktionszuordnung,◯ Zuordnen (S4), in einer Kommunikationszuordnung, der Kommunikationspfade (12) jeweils zu Kommunikationsverbindungen (22) des technischen Modells (2), um eine jeweilige Systemkonfiguration zu erhalten;- für jede der ermittelten Systemkonfigurationen, Ermitteln von Verarbeitungskosten (GVK) der Funktionszuordnungen aller Verarbeitungsknoten (21) und Kommunikationskosten (GKK) der Kommunikationszuordnung (GKK) zwischen allen Verarbeitungsknoten (21); und- Bestimmen (S5) der einen oder mehrerer optimierter Systemkonfigurationen durch Auswahl aus den ermittelten Systemkonfigurationen abhängig von den Verarbeitungskosten (GVK) und den Kommunikationskosten (GKK).The invention relates to a method for determining one or more optimized system configurations of a distributed system described by a technical model, the technical model being defined by processing nodes (21) and communication links (22) between processing nodes (21), the system configuration being the assignment of functions (11) of a function model (1) to individual processing nodes (21) of the technical model (2) and the assignment of communication paths (12) to communication connections (22) between the processing nodes (21), the communication paths (12) for the function assignment the communication requirement of a function with a function assigned in another processing node (21) is specified, the following steps being carried out iteratively: - determination of multiple system configurations by ◯ assignment (S3), in a function assignment, of functions (11) of the function model ( 1) each because of the processing nodes (21) of the technical model (2); ◯ determining the communication paths (12) according to the function assignment, ◯ assigning (S4), in a communication assignment, the communication paths (12) each to communication connections (22) of the technical model ( 2) in order to obtain a respective system configuration; - for each of the determined system configurations, determining processing costs (GVK) of the function assignments of all processing nodes (21) and communication costs (GKK) of the communication assignments (GKK) between all processing nodes (21); and determining (S5) the one or more optimized system configurations by selecting from the determined system configurations depending on the processing costs (GVK) and the communication costs (GKK).
Description
Technisches GebietTechnical field
Die Erfindung betrifft Verfahren zum Zuweisen von Funktionen eines Funktionsmodells in einem verteilten System mit mehreren vernetzten Verarbeitungsknoten. Insbesondere betrifft die Erfindung Maßnahmen zur Zuweisung von Funktionen zu einzelnen Verarbeitungsknoten im Hinblick auf eine optimale Ressourcennutzung.The invention relates to methods for assigning functions of a function model in a distributed system with several networked processing nodes. In particular, the invention relates to measures for assigning functions to individual processing nodes with a view to optimal use of resources.
Technischer HintergrundTechnical background
Beim Design von verteilten Systemen ist das Problem der Zuordnung von Funktionen eines Funktionsmodells zu einzelnen Verarbeitungsknoten bekannt. Diese Zuordnung wird häufig manuell ausgeführt. Dabei ergeben sich Konfigurationen, die die Möglichkeiten des verteilten Systems nicht ausschöpfen und zudem keine Freiheitsgrade bei der Auslegung von Verarbeitungsknoten des verteilten Systems und deren Kommunikationsverbindungen ermöglichen.When designing distributed systems, the problem of assigning functions of a function model to individual processing nodes is known. This assignment is often done manually. This results in configurations that do not exhaust the possibilities of the distributed system and also do not allow any degrees of freedom in the design of processing nodes of the distributed system and their communication connections.
Beispielsweise ist in einem Kraftfahrzeug eine Vielzahl von Steuergeräten vorgesehen, die über geeignete Kommunikationsverbindungen miteinander verbunden sind. Die Steuergeräte umfassen beispielsweise ein Motorsteuergerät, ein Getriebesteuergerät, ein Fahrerassistenzsystem sowie diverse Steuerbausteine für verteilte Fahrzeugfunktionen. Die Steuergeräte und Steuerbausteine stellen Verarbeitungsknoten dar, in denen Funktionen des Funktionsmodells als Software implementiert sind, so dass den Steuergeräten in Software implementierte Funktionen zugewiesen und ausgeführt werden können.For example, a plurality of control devices are provided in a motor vehicle, which are connected to one another via suitable communication connections. The control units include, for example, an engine control unit, a transmission control unit, a driver assistance system and various control modules for distributed vehicle functions. The control units and control modules represent processing nodes in which functions of the function model are implemented as software, so that functions implemented in software can be assigned to the control units and executed.
Häufig werden in einem solchen verteilten System Funktionen demjenigen Verarbeitungsknoten zugeordnet, der sich nah an einer durch die betreffende Funktion zu steuernden Einrichtung befindet oder dieser zugeordnet ist. Darüber hinaus können Funktionen den einzelnen Verarbeitungsknoten von einem Experten intuitiv zugeordnet werden. Dies kann unter Umständen dazu führen, dass die verfügbaren Hardwarekapazitäten nicht optimal (zu viel oder zu wenig) ausgeschöpft werden und gegebenenfalls für die Datenkommunikation zwischen den Verarbeitungsknoten höhere Bandbreiten einer Kommunikationsverbindung zur Verfügung gestellt werden müssen als dies bei anderer Funktionszuordnung notwendig wäre. Je komplexer bzw. umfangreicher das verteilte System ist, desto schwieriger wird die intuitive Zuordnung der Funktionen des Funktionsmodells zu den einzelnen Verarbeitungsknoten des verteilten Systems.In such a distributed system, functions are often assigned to that processing node which is located close to or is assigned to a device to be controlled by the function in question. In addition, functions can be intuitively assigned to the individual processing nodes by an expert. Under certain circumstances, this can mean that the available hardware capacities are not optimally used (too much or too little) and, if necessary, higher bandwidths of a communication connection have to be made available for the data communication between the processing nodes than would be necessary with a different function assignment. The more complex or extensive the distributed system, the more difficult it becomes to intuitively assign the functions of the function model to the individual processing nodes of the distributed system.
Bei Ansätzen, die aus dem Stand der Technik bekannt sind, werden Optimierungen auf lokale Betrachtungen beschränkt, die nicht die Gesamtheit der Möglichkeiten der Ressourcenteilung in Betracht ziehen. Ansätze, die neben den Ressourcen der Verarbeitungsknoten auch die Ressourcen der Kommunikationsverbindungen berücksichtigen, fokussieren sich auf das Auffinden kürzester Kommunikationspfade, was bei globaler Betrachtung nicht in jedem Fall zu einer nicht optimalen Systemausnutzung führt.In the case of approaches which are known from the prior art, optimizations are limited to local considerations which do not take into account the entirety of the possibilities for resource sharing. Approaches that take into account the resources of the processing nodes as well as the resources of the communication connections focus on finding the shortest communication paths, which, when viewed globally, does not always lead to a less than optimal system utilization.
Zusammenfassung der ErfindungSummary of the invention
Erfindungsgemäß sind ein Verfahren zur Erstellung von optimierten Systemkonfigurationen eines durch ein technisches Modell beschriebenen verteilten Systems gemäß Anspruch 1 sowie die Vorrichtung gemäß dem nebengeordneten Anspruch vorgesehen.According to the invention, a method for creating optimized system configurations of a distributed system described by a technical model according to claim 1 and the device according to the independent claim are provided.
Weitere Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.Further configurations are specified in the dependent claims.
Gemäß einem ersten Aspekt ist ein Verfahren zur Ermittlung einer oder mehrerer optimierter Systemkonfigurationen eines, durch ein technisches Modell beschriebenen, verteilten Systems vorgesehen, wobei das technische Modell durch Verarbeitungsknoten und Kommunikationsverbindungen zwischen Verarbeitungsknoten definiert ist, wobei die Systemkonfiguration die Zuordnung von Funktionen eines Funktionsmodells zu einzelnen Verarbeitungsknoten des technischen Modells und die Zuordnung von Kommunikationspfaden zu Kommunikationsverbindungen zwischen den Verarbeitungsknoten angibt, wobei die Kommunikationspfade für die Funktionszuordnung durch den Kommunikationsbedarf einer Funktion mit einer in einem anderen Verarbeitungsknoten zugeordneten Funktion angegeben sind, wobei folgende Schritte ausgeführt werden:
- - Ermitteln von mehreren Systemkonfigurationen durch
- ◯ Zuordnen, in einer Funktionszuordnung, von Funktionen des Funktionsmodells jeweils zu den Verarbeitungsknoten des technischen Modells;
- ◯ Bestimmen der Kommunikationspfade entsprechend der Funktionszuordnung,
- ◯ Zuordnen, in einer Kommunikationszuordnung, der Kommunikationspfade jeweils zu Kommunikationsverbindungen des technischen Modells, um eine Systemkonfiguration zu erhalten;
- - für jede der ermittelten Systemkonfigurationen, Ermitteln von Verarbeitungskosten der Funktionszuordnungen aller Verarbeitungsknoten und Kommunikationskosten der Kommunikationszuordnung zwischen allen Verarbeitungsknoten; und
- - Bestimmen der einen oder mehrerer optimierter Systemkonfigurationen durch Auswahl aus den ermittelten Systemkonfigurationen abhängig von den Verarbeitungskosten und den Kommunikationskosten.
- - Determine multiple system configurations by
- ◯ Assigning, in a function assignment, functions of the function model to the processing nodes of the technical model;
- ◯ determining the communication paths according to the function assignment,
- ◯ assigning, in a communication assignment, the communication paths in each case to communication connections of the technical model in order to obtain a system configuration;
- for each of the determined system configurations, determination of processing costs of the function assignments of all processing nodes and communication costs of the communication assignment between all processing nodes; and
- - Determination of the one or more optimized system configurations by selection from the determined system configurations depending on the processing costs and the communication costs.
Eine Idee des obigen Verfahrens besteht darin, mit Hilfe eines geeigneten Optimierungsverfahrens Funktionen eines Funktionsmodells Verarbeitungsknoten eines, durch ein technisches Modell beschriebenen verteilten Systems zuzuordnen, um eine optimierte Systemkonfiguration zu erhalten, die die zur Verfügung stehenden Ressourcen sowohl der Verarbeitungsknoten als auch der Kommunikationsverbindungen zwischen den Verarbeitungsknoten entsprechend der Optimierungsziele nutzt. Die Optimierung erfolgt zweischrittig durch zulässiges Zuordnen der Funktionen des Funktionsmodells zu Verarbeitungsknoten und durch zulässiges Zuordnen von Kommunikationspfaden zwischen Funktionen des Funktionenmodells zu Kommunikationsverbindungen zwischen Verarbeitungsknoten, wobei iterativ pareto-optimale Lösungen ermittelt werden.One idea of the above method is to use a suitable optimization method to assign functions of a function model to processing nodes of a distributed system described by a technical model, in order to obtain an optimized system configuration that uses the available resources of both the processing nodes and the communication links between the Processing nodes used according to the optimization goals. The optimization is carried out in two steps by permissibly assigning the functions of the function model to processing nodes and by permissibly assigning communication paths between functions of the function model to communication links between processing nodes, with iterative pareto-optimal solutions being determined.
Auf diese Weise kann eine große Anzahl von möglichen Systemkonfigurationen hinsichtlich einer optimalen Systemnutzung bewertet werden, um vorteilhafte Lösungen für Systemkonfigurationen zu erhalten. Zudem können mit den dem Optimierungsverfahren zugrundeliegenden Gesamtkosten auch die Kosten von Kommunikationsverbindungen berücksichtigt werden. Dabei werden alle Möglichkeiten bewertet, Daten bzw. Informationen zwischen zwei Verarbeitungsknoten zu übermitteln.In this way, a large number of possible system configurations can be evaluated with regard to optimal system utilization in order to obtain advantageous solutions for system configurations. In addition, the total costs on which the optimization method is based can also take into account the costs of communication connections. All options for transmitting data or information between two processing nodes are evaluated.
Mit dem obigen Ansatz ist es insbesondere auch möglich, auch optimierte Systemkonfigurationen aufzufinden, die längere Kommunikationswege in Betracht ziehen, die den Anforderungen genügen und die Kosten des gesamten Systemdesigns reduzieren.With the above approach, it is in particular also possible to find optimized system configurations that take longer communication paths into account, that meet the requirements and reduce the costs of the overall system design.
Weiterhin können den Funktionen des Funktionsmodells jeweils Verarbeitungsanforderungsparameter zugeordnet werden, wobei in der Funktionszuordnung die Funktionen des Funktionsmodells jeweils den Verarbeitungsknoten des technischen Modells so zugeordnet werden, dass jeweils die Verarbeitungsanforderungsparameter, der einem jeweiligen Verarbeitungsknoten zugeordneten Funktionen, eine durch einen entsprechenden Verarbeitungsleistungsparameter vorgegebene Randbedingung nicht verletzt.Furthermore, processing request parameters can be assigned to the functions of the function model, the functions of the function model being assigned to the processing nodes of the technical model in such a way that the processing request parameters of the functions assigned to a respective processing node do not violate a boundary condition specified by a corresponding processing performance parameter .
Insbesondere können die Verarbeitungsanforderungsparameter jeder Funktion für eine oder mehrere Ressourcenkategorien vorgegeben sein, wobei insbesondere die Ressourcenkategorien für Verarbeitungsknoten u.a. eine oder mehrere der folgenden Kategorien umfassen: Rechenkapazität, Speicherkapazität, direkter Zugang zu Sensordaten, Einordnung nach funktionaler Sicherheitsklasse, Schnittstellen zu Aktuatoren und Energiebedarf.In particular, the processing request parameters of each function can be predefined for one or more resource categories, in particular the resource categories for processing nodes and others. One or more of the following categories include: computing capacity, storage capacity, direct access to sensor data, classification according to functional safety class, interfaces to actuators and energy requirements.
Weiterhin können den Kommunikationsverbindungen des Funktionsmodells jeweils Kommunikationsanforderungsparameter zugeordnet sein, die bei der Kommunikationszuordnung Kommunikationspfaden, die Kommunikationsverbindungen des technischen Modells umfassen, zugeordnet werden, so dass jeweils die Kommunikationsanforderungsparameter aller, einem Verarbeitungsknoten zugeordneten Kommunikationsverbindungen, eine durch die entsprechenden Kommunikationsleistungsparameter vorgegebene Randbedingung nicht verletzt. Furthermore, communication request parameters can be assigned to the communication connections of the function model, which communication channels, which include communication connections of the technical model, are assigned during the communication assignment, so that the communication request parameters of all communication connections assigned to a processing node do not violate a boundary condition specified by the corresponding communication performance parameters.
Insbesondere können die Kommunikationsanforderungsparameter jedem Kommunikationspfad zwischen zwei Funktionen in verschiedenen Verarbeitungsknoten für eine oder mehrere Ressourcenkategorien vorgegeben sein, wobei insbesondere die Ressourcenkategorien für Kommunikationspfade eine oder mehrere der folgenden Kategorien umfassen: Bandbreite, minimale Latenz, Art des Mediums (optisch/elektrisch/drahtlos), Topologie, Protokoll (synchron/asynchron) und Übertragungsrichtungen.In particular, the communication request parameters can be predetermined for each communication path between two functions in different processing nodes for one or more resource categories, the resource categories for communication paths in particular comprising one or more of the following categories: bandwidth, minimal latency, type of medium (optical / electrical / wireless), Topology, protocol (synchronous / asynchronous) and transmission directions.
Es kann vorgesehen sein, dass das Bestimmen der einen oder den mehreren Systemkonfiguration abhängig von den Verarbeitungskosten und den Kommunikationskosten durchgeführt wird, indem Gesamtkosten aus den Verarbeitungskosten und den Kommunikationskosten bestimmt werden und die eine oder die mehreren Systemkonfigurationen abhängig von den Gesamtkosten bestimmt werden.It can be provided that the determination of the one or more system configurations is carried out depending on the processing costs and the communication costs, by determining total costs from the processing costs and the communication costs and determining the one or more system configurations depending on the total costs.
Alternativ kann das Bestimmen der einen oder der mehreren optimierten Systemkonfiguration, abhängig von den Verarbeitungskosten und den Kommunikationskosten durchgeführt werden, indem aus den mehreren ermittelten Systemkonfigurationen eine Pareto-Menge von Systemkonfigurationen ausgewählt wird.Alternatively, the one or more optimized system configurations can be determined, depending on the processing costs and the communication costs, by selecting a Pareto set of system configurations from the multiple system configurations determined.
Insbesondere können die Verarbeitungskosten in einem der Verarbeitungsknoten abhängig von einer Verarbeitungskostenfunktion und abhängig von einem Erfüllungsgrad oder einem Ausnutzungsgrad für eine oder mehrere der Ressourcenkategorien der Verarbeitungsknoten ermittelt werden und/oder die Kommunikationskosten für eine der Kommunikationsverbindungen abhängig von einer Kommunikationskostenfunktion und abhängig von einem Erfüllungs- oder Ausnutzungsgrad für eine oder mehrere der Ressourcenkategorien der Kommunikationsverbindung ermittelt werden. Eine Ressourcenkategorie besitzt einen Ausnutzungsgrad, wenn die Ressourcenkategorie kapazitätsbasiert ist, während für diskrete Ressourcenkategorien, wie z.B. Klassifizierung nach funktionaler Sicherheit, besitzt die Ressourcenkategorie einen Erfüllungsgrad.In particular, the processing costs in one of the processing nodes can be determined depending on a processing cost function and depending on a degree of fulfillment or a degree of utilization for one or more of the resource categories of the processing nodes and / or the communication costs for one of the communication connections depending on a communication cost function and depending on a fulfillment or Utilization rate for one or more of the resource categories of the communication link can be determined. A resource category has a degree of utilization if the resource category is capacity-based, while for discrete resource categories, such as classification After functional safety, the resource category has a degree of fulfillment.
Gemäß einer Ausführungsform kann der Ausnutzungsgrad für eine oder mehrere der Ressourcenkategorien der Verarbeitungsknoten jeweils durch einen Unterschied zwischen der Summe der Verarbeitungsanforderungsparameter der dem betreffenden Verarbeitungsknoten zugeordneten Funktionen für die betreffende Ressourcenkategorie und einem vorgegebenen Verarbeitungsleistungsparameter des betreffenden Verarbeitungsknoten bestimmt werden, und/oder
der Ausnutzungsgrad für eine oder mehrere der Ressourcenkategorien der Kommunikationsverbindungen jeweils durch einen Unterschied zwischen der Summe der Kommunikationsanforderungsparameter der der betreffenden Kommunikationsverbindung zugeordneten Kommunikationspfade für die betreffende Ressourcenkategorie und einem vorgegebenen Kommunikationsleistungsparameter der betreffenden Kommunikationsverbindung bestimmt werden.According to one embodiment, the degree of utilization for one or more of the resource categories of the processing nodes can in each case be determined by a difference between the sum of the processing request parameters of the functions assigned to the processing node in question for the relevant resource category and a predetermined processing performance parameter of the processing node in question, and / or
the degree of utilization for one or more of the resource categories of the communication connections is determined in each case by a difference between the sum of the communication request parameters of the communication paths assigned to the communication link in question for the relevant resource category and a predetermined communication performance parameter of the communication link in question.
Weiterhin können mindestens eine der Verarbeitungskostenfunktionen und/oder mindestens eine der Kommunikationskostenfunktionen eine badewannenförmige Kostenfunktion entsprechen, die Kosten über den Ausnutzungsgrad abbilden, so dass hohe Kosten niedrigen und hohen Ausnutzungsgraden und niedrige Kosten mittleren Ausnutzungsgraden zugeordnet werden. Die Nutzung einer badewannenförmigen Kostenfunktion führt in vorteilhafter Weise zu optimierten Zuordnungsszenarios, in denen die Ausnutzung der Verarbeitungsknoten ungünstige Hardwarekonfigurationen vermeidet, bei denen Verarbeitungsknoten eine zu geringe Ausnutzung erfahren und damit nicht effizient genutzt werden oder eine zu hohe Auslastung erfahren und damit Erweiterbarkeit und Flexibilität einbüßen.Furthermore, at least one of the processing cost functions and / or at least one of the communication cost functions can correspond to a bathtub-shaped cost function, which depict costs via the degree of utilization, so that high costs are assigned to low and high degrees of utilization and low costs are assigned to medium degrees of utilization. The use of a bathtub-shaped cost function advantageously leads to optimized assignment scenarios in which the use of the processing nodes avoids unfavorable hardware configurations, in which the processing nodes are underused and are therefore not used efficiently or experience excessive utilization and thus lose extensibility and flexibility.
Weiterhin kann das technische Modell zum Erstellen einer der Systemkonfigurationen um einen oder mehrere zusätzliche Verarbeitungsknoten und eine oder mehrere Kommunikationsverbindungen erweitert werden. Nach Beendigung der iterativen Verfahrensschritte können ungenutzte Verarbeitungs- und/oder Kommunikationsknoten aus dem technischen Modell entfernt werden.Furthermore, the technical model for creating one of the system configurations can be expanded by one or more additional processing nodes and one or more communication connections. After the iterative process steps have ended, unused processing and / or communication nodes can be removed from the technical model.
Gemäß einer Ausführungsform kann das Zuordnen von Funktionen des Funktionsmodells in der Funktionszuordnung und/oder das Zuordnen der Kommunikationsverbindungen in einer Kommunikationszuordnung optimiert, insbesondere durch Anwendung von genetischen Algorithmen, vorgenommen werden.According to one embodiment, the assignment of functions of the function model in the function assignment and / or the assignment of the communication connections in a communication assignment can be optimized, in particular by using genetic algorithms.
Gemäß einem weiteren Aspekt ist ein Verfahren zum Erzeugen eines verteilten Systems vorgesehen, wobei das verteilte System mit einer Systemkonfiguration erzeugt wird, die entsprechend dem obigen Verfahren als optimierte Systemkonfiguration bestimmt wird.According to a further aspect, a method for generating a distributed system is provided, the distributed system being generated with a system configuration which is determined as an optimized system configuration in accordance with the above method.
Gemäß einem weiteren Aspekt ist eine Vorrichtung zur Ermittlung einer oder mehrerer optimierter Systemkonfigurationen eines durch ein technisches Modell beschriebenen verteilten Systems vorgesehen, wobei das technische Modell durch Verarbeitungsknoten und Kommunikationsverbindungen zwischen Verarbeitungsknoten definiert ist, wobei die Systemkonfiguration die Zuordnung von Funktionen eines Funktionsmodells zu einzelnen Verarbeitungsknoten des technischen Modells und die Zuordnung von Kommunikationspfaden zu Kommunikationsverbindungen zwischen den Verarbeitungsknoten angibt, wobei die Kommunikationspfade für die Funktionszuordnung durch den Kommunikationsbedarf einer Funktion mit einer in einem anderen Verarbeitungsknoten zugeordneten Funktion angegeben sind, wobei die Vorrichtung ausgebildet ist,:
- - mehrere Systemkonfigurationen zu ermitteln durch
- ◯ Zuordnen, in einer Funktionszuordnung, von Funktionen des Funktionsmodells jeweils zu den Verarbeitungsknoten des technischen Modells;
- ◯ Bestimmen der Kommunikationspfade entsprechend der Funktionszuordnung,
- ◯ Zuordnen, in einer Kommunikationszuordnung, der Kommunikationspfade jeweils zu Kommunikationsverbindungen des technischen Modells, um eine jeweilige Systemkonfiguration zu erhalten;
- - für jede der ermittelten Systemkonfigurationen, Verarbeitungskosten der Funktionszuordnungen aller Verarbeitungsknoten und Kommunikationskosten der Kommunikationszuordnung zwischen allen Verarbeitungsknoten zu ermitteln; und
- - die eine oder die mehreren optimierten Systemkonfigurationen durch Auswahl aus den ermittelten Systemkonfigurationen abhängig von den Verarbeitungskosten und den Kommunikationskosten zu bestimmen.
- - to determine several system configurations by
- ◯ Assigning, in a function assignment, functions of the function model to the processing nodes of the technical model;
- ◯ determining the communication paths according to the function assignment,
- ◯ Assign, in a communication assignment, the communication paths in each case to communication connections of the technical model in order to obtain a respective system configuration;
- - for each of the determined system configurations, processing costs of the function assignments of all processing nodes and communication costs of the communication assignment between all processing nodes; and
- - to determine the one or more optimized system configurations by selecting from the determined system configurations depending on the processing costs and the communication costs.
FigurenlisteFigure list
Ausführungsformen werden nachfolgend anhand der beigefügten Zeichnungen näher erläutert. Es zeigen:
-
1 eine schematische Darstellung des Zuordnungsproblems von Funktion zu Verarbeitungsknoten eines verteilten Systems; -
2 ein Flussdiagramm zur Veranschaulichung eines Verfahrens zum Auffinden einer optimierten Systemkonfiguration für ein verteiltes System bei einer gegebenen Funktionenmenge; und -
3 eine schematische Darstellung einer Badewannen-Kostenfunktion.
-
1 a schematic representation of the assignment problem from function to processing nodes of a distributed system; -
2nd a flowchart to illustrate a method for finding a optimized system configuration for a distributed system with a given set of functions; and -
3rd a schematic representation of a bathtub cost function.
Beschreibung von AusführungsformenDescription of embodiments
Nachfolgend wird ein Verfahren zum Auffinden von Systemkonfigurationen beschrieben, bei dem Funktionen eines Funktionsmodells einzelnen Verarbeitungsknoten eines durch ein technisches Modell beschriebenen verteilten Systems zugeordnet sind und Kommunikationspfade durch die Kommunikationsverbindungen zwischen den Verarbeitungsknoten zugeordnet sind.A method for finding system configurations is described below, in which functions of a function model are assigned to individual processing nodes of a distributed system described by a technical model and communication paths are assigned through the communication connections between the processing nodes.
Weiterhin ist ein technisches Modell
Den Verarbeitungsknoten
Durch ein nachfolgend beschriebenes Optimierungsverfahren ergeben sich Systemkonfigurationen
Die Funktionen
Weiterhin definieren Kommunikationsanforderungsparameter KAP1, KAP2, KAP3... Anforderungen an eine Kommunikation zwischen zwei in verschiedenen Verarbeitungsknoten
Das Verfahren wird im Folgenden anhand eines Flussdiagramms der
In Schritt
In Schritt
Bei der Funktionszuordnung wird eine Suchraumreduzierung genutzt, indem nur solche Verarbeitungsknoten berücksichtigt werden, die die Anforderungen der zuzuordnenden Funktion decken. Ob dies der Fall ist wird durch den Vergleich der Verarbeitungsanforderungsparameter VAP1, VAP2, VAP3... mit den Verarbeitungsleistungsparametern VLP1, VLP2, VLP3... entschieden. Ein Beispiel hier wäre der Fall, bei dem eine Zuordnung einer Funktion für ungültig erklärt wird, sobald die Auslastung des Verarbeitungsknotens bezüglich des betreffenden Ressourcenparameters 100% übersteigt. Denkbar wäre aber auch eine andere willkürlich gewählte Grenze (90%, 120% ...). Ein weiteres Beispiel hierfür kann der Fall sein, dass eine Funktion für funktionale Sicherheit mit ASIL C Klassifizierung nur einem Verarbeitungsknoten mit ASIL C oder ASIL D, nicht aber ASIL A und ASIL B Klassifizierungen zugeordnet wird.A search space reduction is used for the function assignment, in that only those processing nodes are considered which cover the requirements of the function to be assigned. Whether this is the case is decided by comparing the processing request parameters VAP 1, VAP 2 , VAP 3 ... with the processing performance parameters VLP 1 , VLP 2 , VLP 3 .... An example here would be the case in which an assignment of a function is declared invalid as soon as the utilization of the processing node in relation to the relevant resource parameter exceeds 100%. Another arbitrary limit would also be conceivable (90%, 120% ...). Another example of this can be the case that a function for functional safety with ASIL C classification is only assigned to a processing node with ASIL C or ASIL D, but not ASIL A and ASIL B classifications.
Die Zuordnung der Funktionen zu den Verarbeitungsknoten
Für eine Anzahl m zuzuordnender Funktionen, die einer Anzahl z von Verarbeitungsknoten zugeordnet werden, gilt für die Verarbeitungskosten GVK:
Für jeden diskreten Ressourcenparameter, der beispielsweise einen Bedarf nach einer Eigenschaft eines Verarbeitungsknotens
Eine mögliche Verarbeitungskostenfunktion VKi für eine oder mehrere der Ressourcenkategorien ist beispielsweise in
Eine bevorzugte Verarbeitungskostenfunktion VK für eine oder mehrere Ressourcenkategorien kann gemäß einer badewannenförmigen Funktion bestimmt werden, die dem Ausnutzungsgrad N Kosten K zuweist. Dabei werden hohe Kosten für geringe und hohe Ausnutzungsgrade N und niedrige Kosten für Ressourcennutzungen bei mittleren Ausnutzungsgraden N angegeben. Für diese mittleren Ausnutzungsgrade N können beispielsweise zwischen 30% und 80%, vorzugsweise zwischen 40% und 60%, besonders niedrige Kosten angenommen werden.A preferred processing cost function VK for one or more Resource categories can be determined according to a bathtub-shaped function, which assigns the utilization level N to costs K. High costs for low and high levels of utilization N and low costs for resource uses with medium degrees of utilization N are specified. For these average degrees of utilization N, for example, between 30% and 80%, preferably between 40% and 60%, particularly low costs can be assumed.
Durch Verwendung der badewannenförmigen Kostenfunktionen kann der Ausnutzungsgrad N eines Verarbeitungsknotens
Das Zuordnungsverfahren kann durch genetische Algorithmen oder sonstige heuristische Verfahren durchgeführt werden, mit dem Ziel, die Verarbeitungskosten GVK zu minimieren.The assignment procedure can be carried out using genetic algorithms or other heuristic procedures with the aim of minimizing the processing costs GVK.
Nachfolgend werden für eine aufgefundene Funktionszuweisung, von Funktionen
Dies verringert die Freiheitsgrade für die Zuordnung der benötigten Kommunikationspfade zu bestehenden Kommunikationsverbindungen
In einem nachfolgenden Schritt
Die Zuordnung erfolgt so, dass jeweils die gesamten Anforderungen an die Kommunikation über eine Kommunikationsverbindung
Die Zuordnung der Kommunikationsbeziehungen
Es gilt:
Eine Kommunikationskostenfunktion KK für eine oder mehrere Ressourcenkategorien kann gemäß einer badewannenförmigen Funktion bestimmt werden, die dem Ausnutzungsgrad N einer Kommunikationsverbindung
Durch Verwendung der badewannenförmigen Kostenfunktionen kann der Ausnutzungsgrad einer Kommunikationsverbindung
Das Zuordnungsverfahren für die Kommunikationsverbindungen
Die einzelnen Kostenbeiträge betreffend der genutzten Verarbeitungsressourcen und der Kommunikationsressourcen werden nun iterativ für verschiedene Systemkonfigurationen ermittelt.The individual cost contributions relating to the processing resources used and the communication resources are now determined iteratively for different system configurations.
In Schritt
Die so erhaltene Systemkonfiguration wird gespeichert, wenn deren zugeordnete Gesamtkosten geringer sind als diejenigen einer zuvor gespeicherten Systemkonfiguration, anderenfalls wird die zuvor gespeicherte Systemkonfiguration als aktuelle Systemkonfiguration beibehalten.In step
The system configuration obtained in this way is saved if its associated total costs are lower than those of a previously saved system configuration, otherwise the previously saved system configuration is retained as the current system configuration.
Alternativ können die Systemkonfigurationen im Sinne einer Mehrzieloptimierung in einer Menge Pareto-optimaler Lösungen gesammelt werden.Alternatively, the system configurations can be collected in a multitude of Pareto-optimal solutions in the sense of multi-target optimization.
Die Optimierungsschritte
Dazu wird in Schritt
- - eine Berechnungszeitdauer wurde erreicht;
- - die Änderung der Reduzierung der Gesamtkosten GK eines oder mehrerer Optimierungsziele ist unter einem vorgegebenen Schwellenwert, insbesondere für eine vorbestimmte Anzahl von aufeinanderfolgenden Iterationen;
- - eine bestimmte Anzahl von Iterationen wurde erreicht; und
- - eine bestimmte Anzahl von Iterationen, während derer sich die Gesamtkosten nicht weiter reduziert haben;
- - eine bestimmte Anzahl von Iterationen, während derer keine weiteren paretooptimalen Lösungen gefunden wurden.
- - a calculation period has been reached;
- the change in the reduction in the total costs GK of one or more optimization targets is below a predetermined threshold value, in particular for a predetermined number of successive iterations;
- - a certain number of iterations has been reached; and
- - a certain number of iterations during which the total cost has not decreased further;
- - a certain number of iterations during which no further pareto-optimal solutions were found.
Ist die Abbruchbedingung erfüllt (Alternative: Ja), so wird das Verfahren mit Schritt
Die ermittelte Systemkonfiguration mit den geringsten Gesamtkosten GK, bzw. die ermittelten Systemkonfigurationen der Pareto-Menge werden als optimierte Systemkonfiguration/en übernommen.The determined system configuration with the lowest total costs GK, or the determined system configurations of the Pareto quantity, are adopted as optimized system configuration / s.
Aufgrund der Erweiterung des technischen Modells ist es wahrscheinlich, dass Verarbeitungsknoten
Das obige Verfahren ermöglicht eine ganzheitliche Optimierung der Systemkonfiguration unter Berücksichtigung der Verarbeitungsressourcen in den Verarbeitungsknoten und den Kommunikationsressourcen der Kommunikationsverbindungen zwischen den Verarbeitungsknoten. Weiterhin wird ermöglicht, innerhalb komplexer Probleme mit einer Vielzahl von Funktionen des Funktionsmodells und einer Vielzahl von auch verschiedenartigen Verarbeitungsknoten optimale Lösungen zu finden, innerhalb derer die Komplexität vom Menschen erfasst werden kann.The above method enables a holistic optimization of the system configuration taking into account the processing resources in the processing nodes and the communication resources of the communication connections between the processing nodes. Furthermore, it is possible to find optimal solutions within complex problems with a multitude of functions of the functional model and a multitude of different processing nodes, within which the complexity can be grasped by humans.
Claims (17)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019200169.6A DE102019200169A1 (en) | 2019-01-09 | 2019-01-09 | Method and device for determining a system configuration of a distributed system |
CN202010018158.7A CN111431731B (en) | 2019-01-09 | 2020-01-08 | Apparatus and method for acquiring system configuration of distributed system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019200169.6A DE102019200169A1 (en) | 2019-01-09 | 2019-01-09 | Method and device for determining a system configuration of a distributed system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019200169A1 true DE102019200169A1 (en) | 2020-07-09 |
Family
ID=71104527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019200169.6A Pending DE102019200169A1 (en) | 2019-01-09 | 2019-01-09 | Method and device for determining a system configuration of a distributed system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111431731B (en) |
DE (1) | DE102019200169A1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4769772A (en) * | 1985-02-28 | 1988-09-06 | Honeywell Bull, Inc. | Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases |
DE69638018D1 (en) * | 1995-02-13 | 2009-10-15 | Intertrust Tech Corp | Systems and procedures for managing secure transactions and protecting electronic rights |
JP2006344017A (en) * | 2005-06-09 | 2006-12-21 | Hitachi Ltd | Sensor network system and data processing method for sensor network system |
US9934325B2 (en) * | 2014-10-20 | 2018-04-03 | Korean Institute Of Science And Technology Information | Method and apparatus for distributing graph data in distributed computing environment |
US10587721B2 (en) * | 2015-08-28 | 2020-03-10 | Qualcomm Incorporated | Small cell edge computing platform |
-
2019
- 2019-01-09 DE DE102019200169.6A patent/DE102019200169A1/en active Pending
-
2020
- 2020-01-08 CN CN202010018158.7A patent/CN111431731B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN111431731A (en) | 2020-07-17 |
CN111431731B (en) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69835017T2 (en) | DEVICE AND METHOD FOR ALLOWING DIFFERENT DATA FLOW BETWEEN ALGORITHM BLOCKS IN A DISTRIBUTED CONTROL SYSTEM | |
DE102016204680A1 (en) | Select strategies for allocating resources and resolving resource conflicts | |
DE102012224342A1 (en) | DEVICE AND METHOD FOR POWER CONTROL FOR V2X COMMUNICATION | |
DE69936257T2 (en) | GENERATE AND REVIEW REFERENCE ADDRESSES | |
AT501480B1 (en) | METHOD FOR CREATING COMMUNICATION PLANS FOR A DISTRIBUTED REAL-TIME COMPUTER SYSTEM | |
DE112004000870T5 (en) | Multi-Campaign Mapping Device that addresses the issue of overlapping referrals | |
DE102019117800A1 (en) | Computing system and method for operating a computing system | |
DE112012005572T5 (en) | Balancing bandwidth for multiple requesters using a shared storage system | |
DE102018219852A1 (en) | Method and device for determining a system configuration for a distributed system | |
DE102019200169A1 (en) | Method and device for determining a system configuration of a distributed system | |
DE102020206155A1 (en) | Apparatus for establishing a control authority for an intelligent home and method therefor | |
DE102019111564A1 (en) | METHOD AND SYSTEM FOR CONFIGURING FILTER OBJECTS FOR A CONTROLLER AREA NETWORK CONTROL | |
DE69724270T2 (en) | METHOD AND DEVICE FOR DETERMINING THE NUMBER OF APPROVED ACCESSES DURING THE LATENCY OF THE WORST CASE | |
WO2020178091A1 (en) | System and method for finding and identifying computer nodes in a network | |
DE102017108198A1 (en) | Analysis and configuration of a wireless mesh network | |
EP2086257B1 (en) | Method for dynamic allocation of resources from a number of cells of a cellular network | |
DE102019211908A1 (en) | Method and apparatus for distributing an application | |
WO2019081314A1 (en) | Method for operating a production system for producing products of different product types | |
DE102012204697A1 (en) | DEVICE AND METHOD FOR OPTIMIZING THE DETERMINATION OF RECORDING AREAS | |
EP3575976A1 (en) | Method for determining a physical connection topology of a real-time-capable test device gene set up for control apparatus development | |
DE102012214500B4 (en) | State-based planning, protection and management of resources of a data network structure | |
DE102023200714A1 (en) | ALLOCATION OF COMMON RESERVE MEMORY TO QUEUES IN A NETWORK DEVICE | |
DE102008023846A1 (en) | Computer network and method for configuring a computer network | |
DE102020202853A1 (en) | FORWARDING DEVICE | |
DE102021132336A1 (en) | Communication system and method for communication between participants in a communication system (DAGNA) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012240000 Ipc: H04L0041000000 |