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 PDF

Info

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
Application number
DE102019200169.6A
Other languages
German (de)
Inventor
Axel Sauer
Sebastian Reiser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019200169.6A priority Critical patent/DE102019200169A1/en
Priority to CN202010018158.7A priority patent/CN111431731B/en
Publication of DE102019200169A1 publication Critical patent/DE102019200169A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval 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.
According to a first aspect, a method is provided 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 and communication links between processing nodes, the system configuration assigning functions of a functional model to individual ones Specifies processing nodes of the technical model and the assignment of communication paths to communication connections between the processing nodes, the communication paths for the function assignment being specified by the communication requirement of a function with a function assigned in another processing node, the following steps being carried out:
  • - 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.
According to a further aspect, a device is provided 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 and communication links between processing nodes, the system configuration assigning functions of a function model to individual processing nodes of the technical model and the assignment of communication paths to communication links between the processing nodes, the communication paths for the function assignment being specified by the communication requirement of a function with a function assigned in another processing node, the device being designed:
  • - 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.
Embodiments are explained below with reference to the accompanying drawings. Show it:
  • 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.

1 zeigt dazu schematisch das zugrundeliegende Problem. Es umfasst ein Funktionsmodell 1 mit einer Menge von miteinander in Beziehung stehenden Funktionen 11. Diese Funktionen 11 sind zumindest teilweise so ausgelegt, dass sie untereinander über Kommunikationsbeziehungen 12 Daten austauschen. 1 shows schematically the underlying problem. It includes a functional model 1 with a lot of related functions 11 . These functions 11 are at least partially designed to communicate with each other through communication 12th Exchange data.

Weiterhin ist ein technisches Modell 2 bereitgestellt, das ein verteiltes System mit einzelnen Verarbeitungsknoten 21 beschreibt, die über Kommunikationsverbindungen 22 miteinander in Verbindung stehen können. Die Verarbeitungsknoten 21 können programmierbare Steuergeräte bzw. Bausteine sein, denen jeweils keine, eine, mehrere oder alle der Funktionen 11 des Funktionsmodells 1 zugeordnet werden können bzw. die diese ausführen können. Die Kommunikationsverbindungen 22 können zwischen zumindest einem Teil der Verarbeitungsknoten 21 vorgesehen sein.It is also a technical model 2nd provided that a distributed system with individual processing nodes 21 describes that over communication links 22 can communicate with each other. The processing nodes 21 can be programmable control units or modules, each of which has none, one, several or all of the functions 11 of the functional model 1 can be assigned or who can execute them. The communication links 22 can be between at least some of the processing nodes 21 be provided.

Den Verarbeitungsknoten 21 sowie den Kommunikationsverbindungen 22 zwischen jeweils zwei Verarbeitungsknoten 21 sind jeweils Verarbeitungsleistungsparameter VLP1, VLP2, VLP3 ... bzw. Kommunikationsleistungsparameter KLP1, KLP2, KLP3 ... zugeordnet. Die Verarbeitungsleistungsparameter VLP1, VLP2, VLP3 ... für Verarbeitungsknoten 21 können mindestens eine der folgenden Ressourcenkategorien betreffen: Rechenkapazität, Speicherkapazität, direkter Zugang zu Sensordaten, Schnittstellen zu Aktuatoren, Einordnung nach funktionaler Sicherheitsklasse, weitere diskrete Parameter und Energiebedarf. Die Kommunikationsleistungsparameter KLP1, KLP2, KLP3 ... für Kommunikationsverbindungen 22 können mindestens eine der folgenden Ressourcenkategorien betreffen: Bandbreite, minimale Latenz, Art des Mediums (optisch/elektrisch/drahtlos), Topologie, Protokoll (synchron/asynchron) und Übertragungsrichtungen.The processing node 21 as well as the communication links 22 between two processing nodes each 21 processing performance parameters VLP1, VLP2, VLP3 ... and communication performance parameters KLP1, KLP2, KLP3 ... are assigned. The processing performance parameters VLP1, VLP2, VLP3 ... for processing nodes 21 can concern at least one of the following resource categories: computing capacity, storage capacity, direct access to sensor data, interfaces to actuators, classification according to functional safety class, further discrete parameters and energy requirements. The communication performance parameters KLP1, KLP2, KLP3 ... for communication connections 22 can affect at least one of the following resource categories: bandwidth, minimum latency, type of medium (optical / electrical / wireless), topology, protocol (synchronous / asynchronous) and transmission directions.

Durch ein nachfolgend beschriebenes Optimierungsverfahren ergeben sich Systemkonfigurationen 3, bei denen jeder der Funktionen 11 des Funktionsmodells 1 einer der Verarbeitungsknoten 21 zugewiesen wird. Die Funktion kann dann bei einer Realisierung in dem entsprechenden Verarbeitungsknoten 21 implementiert und ausgeführt werden. Zudem werden Kommunikationspfade zwischen den in verschiedenen Verarbeitungsknoten 21 implementierten Funktionen 11 definiert.System configurations result from an optimization process described below 3rd where each of the functions 11 of the functional model 1 one of the processing nodes 21 is assigned. The function can then be implemented in the corresponding processing node 21 implemented and executed. In addition, communication paths between those in different processing nodes 21 implemented functions 11 Are defined.

Die Funktionen 11 des Funktionsmodells 1 sind jeweils mit Verarbeitungsanforderungsparametern VAP1, VAP2, VAP3... bezüglich der Verarbeitungsknoten 21 für die einzelnen Ressourcenkategorien (Index) charakterisiert, die die benötigte Rechenkapazität (Bedarf an Rechenleistung), benötigte Speicherkapazität (Speicherbedarf), etwaigen Zugang zu Sensordaten, etwaige direkte Ansteuerbarkeit von Aktuatoren und ggf. weitere Verarbeitungsanforderungsparameter für ihre Ausführung angeben. Die Verarbeitungsanforderungsparameter VAP geben für die betreffende Funktion und für jede betrachtete Ressourcenkategorie die entsprechende Anforderung an die Leistungsfähigkeit des zuzuordnenden Verarbeitungsknoten 21 an.The functions 11 of the functional model 1 are each with processing request parameters VAP 1, VAP 2 , VAP 3 ... regarding the processing nodes 21 characterized for the individual resource categories (index), which specify the required computing capacity (need for computing power), required storage capacity (storage requirement), any access to sensor data, any direct controllability of actuators and, if applicable, further processing request parameters for their execution. The processing request parameters VAP give the corresponding requirement for the performance of the processing node to be assigned for the relevant function and for each resource category under consideration 21 on.

Weiterhin definieren Kommunikationsanforderungsparameter KAP1, KAP2, KAP3... Anforderungen an eine Kommunikation zwischen zwei in verschiedenen Verarbeitungsknoten 21 implementierten (verteilten) Funktionen 11 bezüglich des Datenempfangs und der Datenübermittlung von und zu anderen Verarbeitungsknoten 21 für die einzelnen Ressourcenkategorien, wie beispielsweise Bandbreiten, maximale zulässige Latenz, notwendige Übertragungsrichtungen und ggfs weitere Kommunikationsanforderungsparameter. Somit geben die Kommunikationsanforderungsparameter KAP1, KAP2, KAP3... für die betreffende Funktion und die betreffende Ressourcenkategorie jeweils die entsprechende(n) Kommunikationsanforderung(en) an die Kommunikationsverbindung(en) 22 an.Furthermore, communication request parameters KAP 1 , KAP 2 , KAP 3 ... define requirements for communication between two in different processing nodes 21 implemented (distributed) functions 11 regarding data reception and data transmission from and to other processing nodes 21 for the individual resource categories, such as bandwidths, maximum permissible latency, necessary transmission directions and possibly further communication request parameters. Thus, the communication request parameters KAP 1 , KAP 2 , KAP 3 ... for the respective function and the relevant resource category each give the corresponding communication request (s) to the communication connection (s) 22 on.

Das Verfahren wird im Folgenden anhand eines Flussdiagramms der 2 näher erläutert. Dem Verfahren werden in geeigneter Weise Informationen über die Konfiguration des technischen Modells 2, das eine Ausgangsstruktur der Verarbeitungsknoten 21 in einem verteilten System darstellt, und ein Funktionsmodell 1 mit einer Menge an zu implementierenden Funktionen 11 bereitgestellt.The method is described below using a flowchart of the 2nd explained in more detail. The procedure will appropriately provide information about the configuration of the technical model 2nd which is an initial structure of the processing node 21 represents in a distributed system, and a functional model 1 with a lot of functions to implement 11 provided.

In Schritt S1 kann zunächst das technische Modell 2 erweitert werden, indem Verarbeitungsknoten 21 hinzugefügt werden, die identisch zu bereits bestehenden sind oder sich in einem oder mehreren der Verarbeitungsleistungsparameter von bestehenden Verarbeitungsknoten unterscheiden. Diese zusätzlichen Verarbeitungsknoten 21 können mit unterschiedlichen Arten von zusätzlichen Kommunikationsverbindungen 22 mit einem oder mehreren der Verarbeitungsknoten 21 des ursprünglichen technischen Modells 2 verbunden sein. Der Umfang der Erweiterung ist problemabhängig und kann auch vollständig entfallen. Das technische Modell 2 kann beispielsweise um eine Anzahl von Verarbeitungsknoten 21 erweitert werden, die etwa 30 bis 100%, insbesondere 50%, der Anzahl der Verarbeitungsknoten 21 des ursprünglichen technischen Modells 2 entspricht. Man erhält somit ein erweitertes technisches Modell, das eine variablere Funktionenzuteilung ermöglicht.In step S1 can first of all the technical model 2nd be expanded by processing nodes 21 are added that are identical to existing processing nodes or that differ from existing processing nodes in one or more of the processing performance parameters. These additional processing nodes 21 can use different types of additional communication links 22 with one or more of the Processing node 21 of the original technical model 2nd be connected. The scope of the extension depends on the problem and can also be completely omitted. The technical model 2nd can, for example, around a number of processing nodes 21 be expanded, which is about 30 to 100%, especially 50%, of the number of processing nodes 21 of the original technical model 2nd corresponds. An extended technical model is thus obtained which enables a more variable allocation of functions.

In Schritt S2 wird ein Zuordnungsverfahren durchgeführt, bei dem die einzelnen Funktionen 11 des Funktionsmodells 1 Verarbeitungsknoten 21 zugeordnet werden. Die Zuordnung erfolgt so, dass jeweils die gesamten Anforderungen an die Verarbeitung in einem betrachteten Verarbeitungsknoten 21, die durch die Verarbeitungsanforderungsparameter VAP1, VAP2, VAP3... der dem betreffenden Verarbeitungsknoten 21 zuzuordnenden Funktionen 11 gegeben sind, geringer sind als die durch die entsprechenden Verarbeitungsleistungsparameter VLP1, VLP2, VLP3 ... (constraints) angegebene Verarbeitungsleistung des zugeordneten Verarbeitungsknotens 21. D. h., die dem jeweiligen Verarbeitungsknoten 21 zuzuordnenden Funktionen können mit den in dem Verarbeitungsknoten 21 zur Verfügung stehenden Ressourcen ausgeführt werden.In step S2 an assignment procedure is carried out in which the individual functions 11 of the functional model 1 Processing node 21 be assigned. The assignment is made in such a way that the entire processing requirements in a processing node under consideration 21 by the processing request parameters VAP 1, VAP 2 , VAP 3 ... of the processing node concerned 21 functions to be assigned 11 are less than the processing performance of the assigned processing node specified by the corresponding processing performance parameters VLP 1 , VLP 2 , VLP 3 ... (constraints) 21 . That is, the respective processing node 21 Functions to be assigned can be performed using the in the processing node 21 available resources.

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 21 des erweiterten technischen Modells 2 kann basierend auf Verarbeitungskostenfunktionen VK, VK1, VK2, VK3, ... für jeden der Verarbeitungsleistungsparameter VLP1, VLP2, VLP3 ... der Verarbeitungsknoten 21 bzw. Verarbeitungsanforderungsparameter VAP1, VAP2, VAP3... der einzelnen Funktionen 11 bestimmt werden. Dabei werden Verarbeitungskosten GVK ermittelt.The assignment of the functions to the processing nodes 21 of the extended technical model 2nd can based on processing cost functions VK, VK 1 , VK 2 , VK 3 , ... for each of the processing performance parameters VLP 1 , VLP 2 , VLP 3 ... of the processing nodes 21 or processing request parameters VAP 1, VAP 2 , VAP 3 ... of the individual functions 11 be determined. Processing costs GVK are determined.

Für eine Anzahl m zuzuordnender Funktionen, die einer Anzahl z von Verarbeitungsknoten zugeordnet werden, gilt für die Verarbeitungskosten GVK: G V K = z m i V K i ( V L P i , z , V A P m , i )

Figure DE102019200169A1_0001
wobei in einem Index der Ressourcenkategorie der Verarbeitungsleistungsparameter VLP1, VLP2, VLP3 ... entspricht und für jeden Verarbeitungsknoten 21 für jeden kapazitätsbasieren Ressourcenparameter gilt die Bedingung: V L P i , z m V A P i , z
Figure DE102019200169A1_0002
For a number m of functions to be assigned, which are assigned to a number z of processing nodes, the following applies to the processing costs GVK: G V K = e.g. m i V K i ( V L P i , e.g. , V A P m , i )
Figure DE102019200169A1_0001
where in an index of the resource category corresponds the processing performance parameters VLP 1 , VLP 2 , VLP 3 ... and for each processing node 21 the following applies for each capacity-based resource parameter: V L P i , e.g. m V A P i , e.g.
Figure DE102019200169A1_0002

Für jeden diskreten Ressourcenparameter, der beispielsweise einen Bedarf nach einer Eigenschaft eines Verarbeitungsknotens 21 angibt, gilt dagegen lediglich die Bedingung: V L P i > = V A P i

Figure DE102019200169A1_0003
For each discrete resource parameter that, for example, needs a property of a processing node 21 indicates, however, only the condition applies: V L P i > = V A P i
Figure DE102019200169A1_0003

Eine mögliche Verarbeitungskostenfunktion VKi für eine oder mehrere der Ressourcenkategorien ist beispielsweise in 3 dargestellt. Dabei entstehen die geringsten Kosten für eine Implementierung einer Anzahl von Funktionen in einem Verarbeitungsknoten 21 bezüglich einer Ressourcenkategorie dann, wenn die dem Verarbeitungsknoten 21 zuzuordnenden Funktionen 11 bezüglich der betreffenden Ressourcenkategorie einen mittleren Ausnutzungsgrad N für die betreffende Ressource erreichen. Der Ausnutzungsgrad N kann als das Verhältnis der Summe, des durch die entsprechenden Verarbeitungsanforderungsparameter VAP der zuzuordnenden Funktionen definierten Ressourcenbedarfs bezüglich der betreffenden Ressourcenkategorie und der durch den entsprechenden Verarbeitungsleistungsparameter angegebenen maximalen Ressourcenverfügbarkeit für die betreffende Ressourcenkategorie definiert sein. 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. Beispielsweise können Funktionen jeweils einen Speicherbedarf als einen Verarbeitungsanforderungsparameter definieren, wobei der durch Akkumulation der einzelnen Speicherbedarfe bestimmte Gesamtspeicherbedarf der Funktionen bezüglich des durch den Verarbeitungsleistungsparameter des betreffenden Verarbeitungsknotens angegebenen maximalen verfügbaren Speicher bewertet wird.A possible processing cost function VK i for one or more of the resource categories is, for example, in 3rd shown. This has the lowest cost of implementing a number of functions in a processing node 21 with respect to a resource category when the processing node 21 functions to be assigned 11 achieve an average utilization level N for the resource in question in relation to the relevant resource category. The degree of utilization N can be defined as the ratio of the sum of the resource requirements defined by the corresponding processing request parameters VAP of the functions to be assigned with respect to the relevant resource category and the maximum resource availability for the relevant resource category specified by the corresponding processing performance parameter. A resource category has a degree of utilization if the resource category is capacity-based, while for discrete resource categories, such as classification according to functional safety, the resource category has a degree of fulfillment. For example, functions can each define a memory requirement as a processing request parameter, the total memory requirement of the functions, determined by accumulation of the individual memory requirements, being evaluated with respect to the maximum available memory specified by the processing performance parameter of the processing node in question.

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 21 für eine Ressourcenkategorie durch dem betreffenden Verarbeitungsknoten 21 zugeordnete Funktionen 11 auf einen Bereich eingestellt werden, der zu einer guten Ressourcennutzung und zu einer Freihaltung von Kapazitäten des Verarbeitungsknotens 21 führt.By using the bathtub-shaped cost functions, the degree of utilization N of a processing node can 21 for a resource category by the processing node concerned 21 assigned functions 11 be set to an area that leads to a good use of resources and to the freeing of capacities of the processing node 21 leads.

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 11 zu Verarbeitungsknoten 21, Kommunikationspfade, bestehend aus einer oder mehreren Kommunikationsverbindungen 22, zwischen jeweils zwei Funktionen bestimmt. Um eine nachfolgende Optimierung zu vereinfachen, kann in Schritt S3 eine Suchraumreduzierung durchgeführt werden, um abhängig von den Zuordnungen der Funktionen zu den Verarbeitungsknoten mögliche Kommunikationspfade 12 aufzufinden, durch die eine Kommunikation entsprechend einer Kommunikationsanforderung zwischen zwei verteilten Funktionen genutzt werden kann.The following are for a found function assignment, of functions 11 to processing nodes 21 , Communication paths, consisting of one or more communication connections 22 , determined between two functions. To simplify a subsequent optimization, step S3 a search space reduction is carried out in order to determine possible communication paths depending on the assignments of the functions to the processing nodes 12th to find through which communication can be used between two distributed functions according to a communication request.

Dies verringert die Freiheitsgrade für die Zuordnung der benötigten Kommunikationspfade zu bestehenden Kommunikationsverbindungen 22 des technischen Modells 2 erheblich, so dass die Optimierungsgeschwindigkeit deutlich erhöht und die Konvergenz verbessert werden kann.This reduces the degrees of freedom for assigning the required communication paths to existing communication connections 22 of the technical model 2nd considerably, so that the optimization speed can be increased significantly and the convergence can be improved.

In einem nachfolgenden Schritt S4 werden die Anforderungen nach den einzelnen Kommunikationspfaden zwischen den Verarbeitungsknoten 21 jeweils einer Kommunikationsverbindung 22 zugeordnet. Die Kommunikationspfade zwischen den Verarbeitungsknoten 21 ergeben sich durch den Kommunikationsbedarf jeder der Funktionen mit einer weiteren in einem anderen Verarbeitungsknoten 21 implementierten Funktion. Die Zuordnung wird unter den gegebenen Randbedingungen plausibilisiert.In a subsequent step S4 the requirements for the individual communication paths between the processing nodes 21 one communication connection each 22 assigned. The communication paths between the processing nodes 21 result from the need for communication of each of the functions with another in a different processing node 21 implemented function. The assignment is checked for plausibility under the given boundary conditions.

Die Zuordnung erfolgt so, dass jeweils die gesamten Anforderungen an die Kommunikation über eine Kommunikationsverbindung 22, die durch die Kommunikationsanforderungsparameter KAP1, KAP2, KAP3... der durch die betreffende Kommunikationsverbindung 22 verlaufenden Kommunikationspfade gegeben sind, die gegebenen Randbedingungen erfüllen, zum Beispiel indem sie geringer sind als die durch die entsprechenden Kommunikationsleistungsparameter KLP1, KLP2, KLP3 ... angegebene Kommunikationsleistung der betrachteten Kommunikationsverbindung 22. Dementsprechend kann eine Kommunikation zwischen zwei verteilten Funktionen 11 nur über Kommunikationspfade, bestehend aus einer oder mehreren Kommunikationsverbindungen 22, ausgeführt werden, wenn deren Kommunikationsleistungsparameter KLP die folgende Bedingung erfüllen: K L P j , k k K A P j , k

Figure DE102019200169A1_0004
wobei k der Menge der Kommunikationsverbindungen 22 und j einem Index der Ressourcenkategorie der Kommunikationsleistungsparameter KLP entspricht.The assignment is made in such a way that the entire requirements for communication via a communication connection 22 which are determined by the communication request parameters KAP 1 , KAP 2 , KAP 3 ... by the relevant communication connection 22 current communication paths are given, which meet the given boundary conditions, for example by being less than the communication performance of the considered communication connection specified by the corresponding communication performance parameters KLP 1 , KLP 2 , KLP 3 ... 22 . Accordingly, communication between two distributed functions 11 only via communication paths, consisting of one or more communication connections 22 , are executed if their KLP communication performance parameters meet the following condition: K L P j , k k K A P j , k
Figure DE102019200169A1_0004
where k is the set of communication links 22 and j corresponds to an index of the resource category of the communication performance parameters KLP.

Die Zuordnung der Kommunikationsbeziehungen 12 zu den Kommunikationsverbindungen 22 kann basierend auf Kommunikationskostenfunktionen KK1, KK2, KK3,... für jeden der Kommunikationsleistungsparameter KLP1, KLP2, KLP3 ... der Kommunikationsverbindungen 22 bzw. Kommunikationsanforderungsparameter KAP1, KAP2, KAP3... bestimmt werden. Dabei werden Kommunikationskosten GKK bestimmt.The assignment of communication relationships 12th to the communication links 22 can be based on communication cost functions KK 1 , KK 2 , KK 3 , ... for each of the communication performance parameters KLP 1 , KLP 2 , KLP 3 ... of the communication connections 22 or communication request parameters KAP 1 , KAP 2 , KAP 3 ... can be determined. Communication costs GKK are determined.

Es gilt: G K K = k j K K j ( K L P j , k , K A P k , j )

Figure DE102019200169A1_0005
The following applies: G K K = k j K K j ( K L P j , k , K A P k , j )
Figure DE102019200169A1_0005

Eine Kommunikationskostenfunktion KK für eine oder mehrere Ressourcenkategorien kann gemäß einer badewannenförmigen Funktion bestimmt werden, die dem Ausnutzungsgrad N einer Kommunikationsverbindung 22 Kosten K zuweist. Dabei werden hohe Kosten für Ressourcennutzungen mit geringen und hohen Ausnutzungsgraden N und niedrige Kosten für Ressourcennutzungen bei mittleren Ausnutzungsgraden N angegeben. Für diese mittleren Ausnutzungsgrade können beispielsweise zwischen 30% und 80%, vorzugsweise zwischen 40% und 60%, besonders niedrige Kosten angenommen werden.A communication cost function KK for one or more resource categories can be determined according to a bathtub-shaped function that corresponds to the degree of utilization N of a communication connection 22 Allocates cost K. High costs for resource uses with low and high degrees of utilization N and low costs for resource uses with medium degrees of utilization N are specified. For these average utilization levels, 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 einer Kommunikationsverbindung 22 einer Ressourcenkategorie auf einen Bereich eingestellt werden, der zu einer effizienten Ressourcennutzung und zu einer Freihaltung von Kapazitäten der Kommunikationsverbindung 22 für zukünftige Erweiterungen führt.By using the bathtub-shaped cost functions, the degree of utilization of a communication link can 22 a resource category to be set to an area that leads to an efficient use of resources and to free up capacities of the communication link 22 for future extensions.

Das Zuordnungsverfahren für die Kommunikationsverbindungen 22 kann durch evolutionäre Algorithmen oder sonstige heuristische Verfahren durchgeführt werden.The assignment procedure for the communication connections 22 can be performed using evolutionary algorithms or other heuristic methods.

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 S5 werden die Gesamtkosten GK ermittelt. Die Gesamtkosten GK ergeben sich als gewichtete Summe der Verarbeitungskosten GVK und der Kommunikationskosten GKK: GK = GVK + k * GKK

Figure DE102019200169A1_0006
mit einem vorgegebenen Gewichtungsfaktor k.
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 S5 the total costs GK are determined. The total costs GK are the weighted sum of the processing costs GVK and the communication costs GKK: GK = GVK + k * GKK
Figure DE102019200169A1_0006
with a predetermined weighting factor k.
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 S2 bis S5 können wiederholt ausgeführt werden. Dabei wird die Systemkonfiguration, d. h. die Zuordnung von Funktionen 11 zu den Verarbeitungsknoten 21 geändert und entsprechend die Kommunikationspfade über die Kommunikationsverbindungen 22 definiert.The optimization steps S2 to S5 can be repeated. The system configuration, ie the assignment of functions 11 to the processing nodes 21 changed and accordingly the communication paths over the communication connections 22 Are defined.

Dazu wird in Schritt S6 eine Abbruchbedingung überprüft. Eine mögliche Abbruchbedingung der Systemoptimierung kann beispielsweise mindestens eine der folgenden umfassen:

  • - 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.
This will be done in step S6 checked a termination condition. A possible termination condition of the system optimization can include, for example, at least one of the following:
  • - 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 S7 fortgesetzt, anderenfalls wird zu Schritt S2 zurückgesprungen.If the termination condition is met (alternative: yes), the procedure is followed by step S7 otherwise, go to step S2 jumped back.

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 21 ungenutzt verbleiben, d. h. keine Funktion wird diesen zugeordnet. Zudem können Kommunikationsverbindungen ungenutzt verbleiben, d. h. kein Kommunikationspfad ist diesen Kommunikationsverbindungen zugeordnet. Daher wird die erhaltene Systemkonfiguration in Schritt S7 nun nach ungenutzten Verarbeitungsknoten 21 und ungenutzten Kommunikationsverbindungen 22 durchsucht und diese ggfs. aus der erhaltenen Systemkonfiguration entferntDue to the expansion of the technical model, it is likely that processing nodes 21 remain unused, ie no function is assigned to them. In addition, communication connections can remain unused, ie no communication path is assigned to these communication connections. Therefore, the system configuration obtained in step S7 now for unused processing nodes 21 and unused communication links 22 searched and if necessary removed from the system configuration received

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)

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 (11) 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). 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 connections (22) between processing nodes (21), the system configuration assigning functions (11) to 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 by the communication requirement of a Function (11) with a function assigned in another processing node (21) are specified, the following steps being carried out iteratively: - Determining several system configurations by ◯ assigning (S3), in a function assignment, of functions (11) of the function model (1 ) to the processing it node (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) in each case 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). Verfahren nach Anspruch 1, wobei den Funktionen des Funktionsmodells (1) jeweils Verarbeitungsanforderungsparameter (VAP) zugeordnet sind, wobei in der Funktionszuordnung die Funktionen (11) des Funktionsmodells (1) jeweils den Verarbeitungsknoten (21) des technischen Modells (2) so zugeordnet werden, dass jeweils die Verarbeitungsanforderungsparameter (VAP), der einem jeweiligen Verarbeitungsknoten (21) zugeordneten Funktionen (11), eine durch einen entsprechenden Verarbeitungsleistungsparameter (VLP) vorgegebene Randbedingung nicht verletzt.Procedure according to Claim 1 , wherein the functions of the function model (1) are each assigned processing request parameters (VAP), the functions (11) of the function model (1) being assigned to the processing nodes (21) of the technical model (2) in such a way that the Processing request parameters (VAP) of the functions (11) assigned to a respective processing node (21) do not violate a boundary condition specified by a corresponding processing performance parameter (VLP). Verfahren nach Anspruch 2, wobei die Verarbeitungsanforderungsparameter (VAP) jeder Funktion (11) für eine oder mehrere Ressourcenkategorien vorgegeben sind, wobei insbesondere die Ressourcenkategorien für Verarbeitungsknoten (21) eine oder mehrere der folgenden Kategorien umfassen: Rechenkapazität, Speicherkapazität, direkter Zugang zu Sensordaten, Einordnung nach funktionaler Sicherheitsklasse, Schnittstellen zu Aktuatoren und Energiebedarf.Procedure according to Claim 2 , wherein the processing request parameters (VAP) of each function (11) are predefined for one or more resource categories, in particular the resource categories for processing nodes (21) comprising one or more of the following categories: computing capacity, storage capacity, direct access to sensor data, classification according to functional security class , Interfaces to actuators and energy requirements. Verfahren nach einem der Ansprüche 1 bis 3, wobei den Kommunikationsverbindungen (22) des Funktionsmodells (1) jeweils Kommunikationsanforderungsparameter (KAP) zugeordnet sind, die bei der Kommunikationszuordnung Kommunikationspfaden (12), bestehend aus Kommunikationsverbindungen (22) des technischen Modells (2), zugeordnet werden, so dass jeweils die Kommunikationsanforderungsparameter (KAP) aller, einem Verarbeitungsknoten (21) zugeordneten Kommunikationsverbindungen (22), eine durch die entsprechenden Kommunikationsleistungsparameter (KAP) vorgegebene Randbedingung nicht verletzt.Procedure according to one of the Claims 1 to 3rd The communication connections (22) of the function model (1) are each assigned communication request parameters (KAP), which are assigned communication paths (12) consisting of communication connections (22) of the technical model (2) in the communication assignment, so that in each case the communication request parameters (KAP) of all communication connections (22) assigned to a processing node (21) does not violate a boundary condition specified by the corresponding communication performance parameters (KAP). Verfahren nach Anspruch 4, wobei die Kommunikationsanforderungsparameter jedem Kommunikationspfad (12) zwischen zwei Funktionen (11) in verschiedenen Verarbeitungsknoten (21) für eine oder mehrere Ressourcenkategorien vorgegeben sind, wobei insbesondere die Ressourcenkategorien für Kommunikationspfade (12) eine oder mehrere der folgenden Kategorien umfassen: Bandbreite, minimale Latenz, Art des Mediums (optisch/elektrisch/drahtlos), Topologie, Protokoll (synchron/asynchron) und Übertragungsrichtungen.Procedure according to Claim 4 The communication request parameters for each communication path (12) between two functions (11) in different processing nodes (21) are predefined for one or more resource categories, in particular the resource categories for communication paths (12) comprising one or more of the following categories: bandwidth, minimal latency , Type of medium (optical / electrical / wireless), topology, protocol (synchronous / asynchronous) and transmission directions. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Bestimmen der einen oder den mehreren Systemkonfiguration abhängig von den Verarbeitungskosten (GVK) und den Kommunikationskosten (GKK) durchgeführt wird, indem Gesamtkosten (GK) abhängig von den Verarbeitungskosten (GVK) und den Kommunikationskosten (GKK) bestimmt werden.Procedure according to one of the Claims 1 to 5 determining the one or more system configurations depending on the processing costs (GVK) and the communication costs (GKK) by determining total costs (GK) depending on the processing costs (GVK) and the communication costs (GKK). Verfahren nach einem der Ansprüche 1 bis 5, wobei das Bestimmen der einen oder den mehreren optimierten Systemkonfiguration abhängig von den Verarbeitungskosten (GVK) und den Kommunikationskosten (GKK) durchgeführt wird, indem aus den mehreren ermittelten Systemkonfigurationen eine Pareto-Menge von Systemkonfigurationen ausgewählt wird.Procedure according to one of the Claims 1 to 5 , the determination of the one or more optimized system configurations depending on the processing costs (GVK) and the communication costs (GKK) being carried out by selecting a Pareto set of system configurations from the plurality of determined system configurations. Verfahren nach einem der Ansprüche 1 bis 7, wobei die Verarbeitungskosten (GVK) in einem der Verarbeitungsknoten (21) abhängig von einer Verarbeitungskostenfunktion (VK) und abhängig von einem Ausnutzungsgrad für eine oder mehrere von Ressourcenkategorien der Verarbeitungsknoten (21) ermittelt werden und/oder wobei die Kommunikationskosten (GKK) für eine der Kommunikationsverbindungen abhängig von einer Kommunikationskostenfunktion (KK) und abhängig von einem Ausnutzungsgrad für eine oder mehrere von Ressourcenkategorien der Kommunikationsverbindung (22) ermittelt werden.Procedure according to one of the Claims 1 to 7 , wherein the processing costs (GVK) in one of the processing nodes (21) are determined depending on a processing cost function (VK) and depending on a degree of utilization for one or more of resource categories of the processing nodes (21) and / or wherein the communication costs (GKK) for one the communication connections are determined as a function of a communication cost function (KK) and as a function of a degree of utilization for one or more of resource categories of the communication connection (22). Verfahren nach Anspruch 8, wobei der Ausnutzungsgrad für eine oder mehrere der Ressourcenkategorien der Verarbeitungsknoten (21) jeweils durch einen Unterschied zwischen einer Summe der Verarbeitungsanforderungsparameter der dem betreffenden Verarbeitungsknoten (21) zugeordneten Funktionen (11) für die betreffende Ressourcenkategorie und einem vorgegebenen Verarbeitungsleistungsparameter (VLP) des betreffenden Verarbeitungsknoten (21) gegeben ist, und/oder wobei der Ausnutzungsgrad für eine oder mehrere der Ressourcenkategorien der Kommunikationsverbindungen (22) jeweils durch einen Unterschied zwischen einer Summe der Kommunikationsanforderungsparameter (KAP) der der betreffenden Kommunikationsverbindung (22) zugeordneten Kommunikationspfade (12) für die betreffende Ressourcenkategorie und einem vorgegebenen Kommunikationsleistungsparameter (KAP) der betreffenden Kommunikationsverbindung (22) gegeben ist.Procedure according to Claim 8 , the degree of utilization for one or more of the resource categories of the processing nodes (21) each being determined by a difference between a sum of the processing request parameters of the functions (11) assigned to the processing node (21) in question for the resource category in question and a predetermined processing performance parameter (VLP) of the processing node in question (21) is given, and / or wherein the degree of utilization for one or more of the resource categories of the communication connections (22) is in each case determined by a difference between a sum of the communication request parameters (KAP) of the communication paths (12) assigned to the respective communication connection (22) for the respective one Resource category and a predetermined communication performance parameter (KAP) of the relevant communication link (22) is given. Verfahren nach Anspruch 8 oder 9, wobei mindestens eine der Verarbeitungskostenfunktionen (VK) und/oder mindestens eine der Kommunikationskostenfunktionen (KK) einer badewannenförmige Kostenfunktion entspricht, die Kosten über den Ausnutzungsgrad abbilden, so dass hohe Kosten niedrigen und hohen Ausnutzungsgraden und niedrige Kosten mittleren Ausnutzungsgraden zugeordnet werden. Procedure according to Claim 8 or 9 , wherein at least one of the processing cost functions (VK) and / or at least one of the communication cost functions (KK) corresponds to a bathtub-shaped cost function, which map costs via the degree of utilization, so that high costs are associated with low and high degrees of utilization and low costs with medium degrees of utilization. Verfahren nach einem der Ansprüche 1 bis 10, wobei das technische Modell (2) zum Erstellen einer der Systemkonfigurationen um einen oder mehrere zusätzliche Verarbeitungsknoten (21) und eine oder mehrere Kommunikationsverbindungen zu den zusätzlichen Verarbeitungsknoten (21) erweitert wird und wobei nach Beenden der iterativen Verfahrensschritte ungenutzte Verarbeitungsknoten (21) und/oder Kommunikationsverbindungen (22) aus dem technischen Modell (2) entfernt werden.Procedure according to one of the Claims 1 to 10th , wherein the technical model (2) for creating one of the system configurations is expanded by one or more additional processing nodes (21) and one or more communication connections to the additional processing nodes (21), and after the iterative method steps have ended, unused processing nodes (21) and / or communication connections (22) are removed from the technical model (2). Verfahren nach einem der Ansprüche 1 bis 11, wobei das Zuordnen von Funktionen (11) des Funktionsmodells (1) in der Funktionszuordnung und/oder das Zuordnen der Kommunikationsverbindungen (22) in einer Kommunikationszuordnung optimiert, insbesondere durch Anwenden von genetischen Algorithmen, vorgenommen wird.Procedure according to one of the Claims 1 to 11 , The assignment of functions (11) of the function model (1) in the function assignment and / or the assignment of the communication connections (22) in a communication assignment is optimized, in particular by using genetic algorithms. Verfahren zum Erzeugen eines verteilten Systems, wobei das verteilte System gemäß einer Systemkonfiguration erstellt wird, die entsprechend einem Verfahren nach einem der Ansprüche 1 bis 12 als optimierte Systemkonfiguration bestimmt wird.A method of creating a distributed system, the distributed system being created according to a system configuration that is in accordance with a method according to one of the Claims 1 to 12th is determined as an optimized system configuration. Verfahren nach Anspruch 12, wobei das verteilte System verwendet wird.Procedure according to Claim 12 using the distributed system. Vorrichtung zur Ermittlung einer oder mehrerer optimierter Systemkonfigurationen eines durch ein technisches Modell (2) beschriebenen verteilten Systems, wobei das technische Modell (2) durch Verarbeitungsknoten (21) und Kommunikationsverbindungen 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 (11) mit einer in einem anderen Verarbeitungsknoten (21) zugeordneten Funktion (11) angegeben sind, wobei die Vorrichtung ausgebildet ist,: - mehrere Systemkonfigurationen zu ermitteln durch ◯ Zuordnen, 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, 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, Verarbeitungskosten (GVK) der Funktionszuordnungen aller Verarbeitungsknoten (21) und Kommunikationskosten (GKK) der Kommunikationszuordnung zwischen allen Verarbeitungsknoten (21) zu ermitteln; und - die eine oder die mehreren optimierten Systemkonfigurationen durch Auswahl aus den ermittelten Systemkonfigurationen abhängig von den Verarbeitungskosten (GVK) und den Kommunikationskosten (GKK) zu bestimmen.Device for determining one or more optimized system configurations of a distributed system described by a technical model (2), the technical model (2) being defined by processing nodes (21) and communication links between processing nodes (21), the system configuration assigning 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 requirements of a function (11) with a function (11) assigned in another processing node (21) are specified, the device being designed: - to determine several system configurations by ◯ assigning, in a function assignment, functions (11) of the function model (1) to the processing nodes (21) of the technical model (2); ◯ determining the communication paths (12) according to the function assignment, ◯ assigning, in a communication assignment, the communication paths (12) to communication connections (22) of the technical model (2) in order to obtain a respective system configuration; - for each of the determined system configurations, processing costs (GVK) of the function assignments of all processing nodes (21) and communication costs (GKK) of the communication assignments between all processing nodes (21); and - to determine 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). Computerprogramm, welches dazu eingerichtet ist, alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 12 auszuführen.Computer program which is set up to carry out all the steps of a method according to one of the Claims 1 to 12th to execute. Elektronisches Speichermedium, auf welchem ein Computerprogramm nach Anspruch 16 gespeichert ist.Electronic storage medium on which a computer program is based Claim 16 is saved.
DE102019200169.6A 2019-01-09 2019-01-09 Method and device for determining a system configuration of a distributed system Pending DE102019200169A1 (en)

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)

* Cited by examiner, † Cited by third party
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

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