DE102017012270A1 - erfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem - Google Patents

erfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem Download PDF

Info

Publication number
DE102017012270A1
DE102017012270A1 DE102017012270.9A DE102017012270A DE102017012270A1 DE 102017012270 A1 DE102017012270 A1 DE 102017012270A1 DE 102017012270 A DE102017012270 A DE 102017012270A DE 102017012270 A1 DE102017012270 A1 DE 102017012270A1
Authority
DE
Germany
Prior art keywords
computer system
multiprocessor computer
components
resource
operating parameters
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
DE102017012270.9A
Other languages
English (en)
Inventor
Rolf Ernst
Adam Kostrzewa
Sebastian Tobuschat
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.)
Ttz Embedded Systems Innovationsgesellschaft Technische Univ Braunschweig Mbh
Ttz Embedded Systems Innovationsgesellschaft Technische Universitat Braunschweig Mbh
Original Assignee
Ttz Embedded Systems Innovationsgesellschaft Technische Univ Braunschweig Mbh
Ttz Embedded Systems Innovationsgesellschaft Technische Universitat Braunschweig Mbh
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 Ttz Embedded Systems Innovationsgesellschaft Technische Univ Braunschweig Mbh, Ttz Embedded Systems Innovationsgesellschaft Technische Universitat Braunschweig Mbh filed Critical Ttz Embedded Systems Innovationsgesellschaft Technische Univ Braunschweig Mbh
Priority to DE102017012270.9A priority Critical patent/DE102017012270A1/de
Publication of DE102017012270A1 publication Critical patent/DE102017012270A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Es werden Verfahren und Vorrichtungen zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem mit einer Mehrzahl von Komponenten vorgeschlagen. Das Verfahren umfasst verschiedene Schritte wie ein Empfangen einer Anfrage für einen Zugriff auf eine geteilte Ressource, wobei nach einer Zuweisung der angefragten geteilten Ressource an die anfragende Einheit eine vorgegebene Echtzeitanforderung durch das Mehrprozessor-Computersystem zu gewährleisten ist. Basierend auf während einer Entwurfszeit des Mehrprozessor-Computersystems bestimmten Betriebsparametern und aktuellen Betriebsparametern werden nach einer Zuweisung der angefragten geteilten Ressource zu erwartende zukünftige Betriebsparameter bestimmt. Falls die vorgegebene Echtzeitanforderung Betriebsparameter zukünftig zu gewährleisten ist, erfolgt ein Zuweisen der angefragten Ressource an die anfragende Einheit.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem mit einer Mehrzahl von Komponenten sowie eine entsprechende Vorrichtung und ein entsprechendes Computerprogramm.
  • Beschreibung des Stands der Technik
  • Mehrprozessor-Computersysteme, wie sie beispielsweise in Form integrierter Schaltkreise verfügbar sind, weisen zwei oder mehr Prozessoren auf, die unabhängig voneinander verschiedene Prozesse ausführen können. Die mehreren Prozessoren teilen sich vorhandene Hardware- und Software-Ressourcen des Mehrprozessor-Computersystems. Zu den Hardware- und Software-Ressourcen zählen beispielsweise Speicher wie Hauptspeicher und Cachespeicher, Kommunikationsmittel wie Datenbus oder Netzwerk, Ein- und Ausgabemittel sowie gegebenenfalls weitere Komponenten des Mehrprozessor-Computersystems.
  • Während die gemeinsame Nutzung von Hardware- und Software-Ressourcen durch mehrere Prozessoren Vorteile hinsichtlich einer effizienten Nutzung dieser Ressourcen haben kann, kann diese gemeinsame Nutzung in einigen Anwendungsbereichen jedoch auch Nachteile mit sich bringen. Beispielsweise müssen so genannte Echtzeitsysteme sehr hohe Anforderungen hinsichtlich Antwort- und Ausführungszeiten erfüllen.
  • Antwort- und Ausführungszeiten in Systemen mit gemeinsam genutzten Hardware- und Software-Ressourcen werden im Wesentlichen durch Zugriffe auf diese gemeinsam genutzten Hardware- und Software-Ressourcen bestimmt. Werden Ressourcen benötigt, auf die häufig zugegriffen wird, kann dies zu längeren Antwort- und Ausführungszeiten führen. Einige Ressourcen wie beispielsweise Cachespeicher können auch ein stark dynamisches Verhalten aufweisen. Weiterhin kann es bei gemeinsam genutzten Hardware- und Software-Ressourcen, insbesondere durch unabhängig arbeitende Komponenten wie die Prozessoren, zu Zugriffskonflikten kommen. Insgesamt ist eine Zusicherung der erforderlichen Echtzeitanforderungen somit nur schwer möglich.
  • Eine besondere Form eines Kommunikationsmittels in einem Mehrprozessor-Computersystem stellt ein so genanntes Network on Chip, kurz NoC, dar. Ein NoC ist eine Kommunikationsarchitektur mit mindestens einem Router, bei der jede Hardware-Ressource des Mehrprozessor-Computersystems eine eindeutige Adresse besitzt. Die einzelnen Ressourcen weisen Netzwerkschnittstellen auf, die eine Verbindung mit einem oder mehreren Routern des NoC ermöglichen. Das NoC weist weiterhin direkte Datenleitungen zwischen Ressourcen und Routern auf. Eine Kommunikation zwischen den Ressourcen basiert auf der Übertragung von Datenpaketen, die von einer Startressource mittels der Datenleitungen über einen oder mehrere Router zu einer oder mehreren Zielressourcen geleitet werden. NoCs sind insbesondere geeignet für die Anwendung in den oben genannten Echtzeitsystemen.
  • Eine Möglichkeit, hohe Echtzeitanforderungen erfüllen zu können, besteht darin, Mehrprozessor-Computersysteme stark überzudimensionieren, um auf diese Weise sicherzustellen, dass selbst in einem Worst Case-Szenario immer genügend freie Hardware- und Softwareressourcen im System zur Verfügung stehen. Dies führt jedoch zu einem hohen Aufwand an Hardware- und Softwareressourcen, der auch in allen anderen Szenarien außer dem Worst Case-Szenario angewandt wird, da andernfalls nicht garantiert werden kann, dass die Software-Programme mit garantiertem Zeitverhalten ausführbar sind. Anders gesagt, wenn es möglich ist, alle benötigten Ressourcen so zu reservieren, dass keine Beeinflussung möglich ist, wäre eine Überschätzung der Laufzeit nicht erforderlich. In derzeitigen Mehrprozessor-Computersystemen ergibt sich somit eine schlechte Ausnutzung der verfügbaren Ressourcen, wenn das Zeitverhalten der Anwendungen genau vorhersagbar sein soll.
  • Insgesamt sind heutige Mehrprozessor-Computersysteme sehr komplex hinsichtlich der Verwaltung ihrer Ressourcen wie z.B. Speicher, Kommunikationsmedien oder Ein- und Ausgabekanäle und der Einhaltung von Echtzeitanforderungen, um beispielsweise sicherheitskritische Anwendungen ausführen zu können. In der deutschen Patentschrift DE 10 2009 016 742 B4 wurde bereits vorgeschlagen, einen zentralen Ressourcen-Manager (RM) einzusetzen, welcher die Zuteilung von Ressourcen koordiniert. Der RM, der sich vorzugsweise auf demselben Chip wie die Prozessoren befindet, nimmt Reservierungsanfragen entgegen und prüft an Hand eines System-Modells, ob eine Reservierungsanfrage überhaupt erfüllbar ist. Wird eine Reservierungsanfrage angenommen, wählt der RM die benötigten Ressourcen aus, teilt sie zu und garantiert so eine definierte Ausführungszeit.
  • Insbesondere im Zusammenhang mit einer Mehrprozessor-Electronic Control Unit (ECU), wie sie zum Beispiel innerhalb eines Fahrzeuges Anwendung findet, ist das Ressourcenmanagement besonders komplex. Für sicherheitskritische Prozesse ist ein vorhersagbares Verhalten erforderlich. Dies bedeutet, das Computersystem muss sicherstellen, dass durch das Computersystem ausgeführte Anwendungen unabhängig von der derzeitigen Auslastung oder äußeren Umständen, die Anforderung innerhalb der geforderten Zeit ausgeführt wird. Hierfür werden üblicherweise zur Entwurfszeit formale Garantien festgelegt, die von einem Worst-Case Szenario ausgehen. Zur Laufzeit wird das System, beispielsweise mit Hilfe des vorgeschlagenen RM dafür sorgen, dass die formalen Garantien eingehalten werden, indem er dafür sorgt, dass stets ausreichend Ressourcen für eine möglicherweise auftretende sicherheitskritische Funktion zur Verfügung stehen. Dies bedeutet, dass sich Mehrprozessor-Computersysteme, die sicherheitskritische Prozesse umsetzen müssen, stets am Worst-Case orientieren müssen.
  • Die Veröffentlichung von Feng, L. et al., „Self Configuration of Dependent Tasks for Dynamically Reconfigurable Automotive Embedded Systems", in: Proceedings of the 47th IEEE Conference on Decision and Control, Mexico, 2008, Seiten 3737 bis 3742, beschäftigt sich mit Konfigurationen von eingebetteten Systemen im Fahrzeugbereich und führt aus, dass zukünftig kontextbewusste und sich selbst verwaltende Funktionalitäten im Fahrzeugbereich Einzug halten werden.
  • Die Veröffentlichung „Handling mixed sets of tasks in combined offline and online scheduled real-time systems" von Isovic D. et al., in: Real-Time Syst., 2009, Seiten 296 bis 325, beschäftigt sich mich Echtzeitanforderungen von industriellen Anwendungen.
  • Verwiesen wird weiterhin auch auf die Veröffentlichung „Automated Meta-Control for Adaptable Real-Time Software" von Jehuda, J. et al., in: Real-Time Syst., 1998, Seiten 107 - 134.
  • Es besteht Bedarf, die bestehenden Ansätze zur Ressourcenzuweisung in einem Mehrprozessor-Computersystem wie beispielsweise einem integrierten Schaltkreis weiter zu verbessern, ohne dabei die formalen Garantien zu gefährden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung ist durch die unabhängigen Ansprüche definiert. Weitere vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen definiert.
  • Um das oben genannte Ziel zu erreichen, stellt die vorliegende Erfindung ein Verfahren zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem mit einer Mehrzahl von Komponenten bereit. Die Mehrzahl der Komponenten weist zwei oder mehr Prozessoren, eine Ressourcenmanagement-Komponente und ein Kommunikationsmittel für eine Kommunikation zwischen den Prozessoren und einer oder mehreren geteilten Ressourcen auf.
  • Das Verfahren umfasst ein Empfangen, durch die Ressourcenmanagement-Komponente und von einer anfragenden Einheit, einer Anfrage für einen Zugriff auf eine der geteilten Ressourcen auf. Nach einer Zuweisung der angefragten geteilten Ressource an die anfragende Einheit ist mindestens eine vorgegebene Echtzeitanforderung durch das Mehrprozessor-Computersystem zu gewährleisten. Weiterhin umfasst das Verfahren ein Bestimmen, durch die Ressourcenmanagement-Komponente, eines oder mehrerer aktueller Betriebsparameter des Mehrprozessor-Computersystems, sowie ein Bestimmen, durch die Ressourcenmanagement-Komponente, eines oder mehrerer nach einer Zuweisung der angefragten geteilten Ressource an die anfragende Einheit zu erwartender zukünftiger Betriebsparameter, basierend auf während einer Entwurfszeit des Mehrprozessor-Computersystems erstellten Modells des Mehrprozessor-Computersystems und dem einen oder den mehreren bestimmten aktuellen Betriebsparametern.
  • Gemäß dem Verfahren erfolgt, falls die vorgegebene Echtzeitanforderung basierend auf dem Bestimmen der zu erwartenden zukünftigen Betriebsparameter gewährleistet ist, ein Zuweisen, durch die Ressourcenmanagement-Komponente, der angefragten Ressource an die anfragende Einheit.
  • Um das oben genannte Ziel zu erreichen, stellt die vorliegende Erfindung ferner eine entsprechende Vorrichtung mit Mitteln zum Ausführen des Verfahrens sowie ein entsprechendes Computerprogramm bereit.
  • Ferner stellt die vorliegende Erfindung ein Verfahren zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem mit einer Mehrzahl von Komponenten bereit, wobei die Mehrzahl der Komponenten zwei oder mehr Prozessoren, eine Ressourcenmanagement-Komponente und ein Kommunikationsmittel für eine Kommunikation zwischen den Prozessoren und einer oder mehreren geteilten Ressourcen aufweist.
  • Das Verfahren umfasst ein Bestimmen, durch die Ressourcenmanagement-Komponente, einer Echtzeitanforderung, die von dem Mehrprozessor-Computersystem nach einem Rekonfigurieren des Mehrprozessor-Computersystems zu gewährleisten ist. Ferner umfasst das Verfahren ein Bestimmen, durch die Ressourcenmanagement-Komponente, eines oder mehrerer aktueller Betriebsparameter des Mehrprozessor-Computersystems, sowie ein Bestimmen, durch die Ressourcenmanagement-Komponente, eines oder mehrerer nach dem Rekonfigurieren zu erwartender zukünftiger Betriebsparameter, basierend auf während einer Entwurfszeit des Mehrprozessor-Computersystems erstellten Modells des Mehrprozessor-Computersystems und dem einen oder den mehreren bestimmten aktuellen Betriebsparametern.
  • Falls die Echtzeitanforderung basierend auf dem Bestimmen der zu erwartenden zukünftigen Betriebsparameter gewährleistet ist, erfolgt ein Rekonfigurieren, durch die Ressourcenmanagement-Komponente, des Mehrprozessor-Computersystems.
  • In Abkehr vom Stand der Technik orientiert sich die Ressourcenmanagement-Komponente erfindungsgemäß somit nicht mehr nur an einem zur Entwurfszeit bestimmten Worst Case-Szenario zur Auslastung des Mehrprozessorsystem-Computersystems. Stattdessen werden ein oder mehrere aktuelle Betriebsparameter des Mehrprozessor-Computersystems bestimmt und die zur Verfügung stehenden Ressourcen an diese Parameter angeglichen. Damit können erfindungsgemäß Ressourcenanfragen auch dann zugelassen werden, wenn bereits eine derart hohe Auslastung existiert, die im Stand der Technik zur Abweisung der Anfrage geführt hätte, beispielsweise wenn die bestimmten Parameter für die angeforderte Ressource(n) vorteilhafte Bedingungen anzeigen. Die Erfindung nutzt damit die Ressourcen effizienter als es nach dem Stand der Technik möglich war. Insbesondere erfolgt erfindungsgemäß eine Anpassung von zur Entwurfszeit in Bezug auf Echtzeitanforderungen großzügig dimensionierter fest reservierter Ressourcen, da eine solche großzügige Reservierung nur für den oben beschriebenen Worst-Case notwendig ist und somit in den meisten Anwendungsfällen eine ineffiziente Ressourcennutzung darstellt.
  • Sowohl die vorstehende allgemeine Beschreibung als auch die detaillierte Beschreibung sind als Beispiel aufzufassen und sollen zur Erläuterung der beanspruchten Erfindung dienen. Weitere Vorteile und Merkmale der Erfindung sind aus der nachstehenden Beschreibung, den Zeichnungen und den Patentansprüchen ersichtlich.
  • Figurenliste
  • Die Merkmale, die die Erfindung kennzeichnen, werden in den beiliegenden Ansprüchen näher erläutert. Die Erfindung selbst wird jedoch am besten anhand der nachstehenden detaillierten Beschreibung verständlich, die unter Bezugnahme auf die Zeichnungen eine exemplarische Ausführungsform der Erfindung beschreibt:
    • 1 ist eine schematische Darstellung einer Vorrichtung gemäß einigen Ausführungsformen der vorliegenden Erfindung.
    • 2 ist ein Flussdiagramm, das die Schritte eines Verfahrens gemäß einigen Ausführungsformen der vorliegenden Erfindung darstellt.
    • 3 ist ein Flussdiagramm, das die Schritte eines Verfahrens gemäß einigen Ausführungsformen der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die beigefügten Zeichnungen, der technische Inhalt und die detaillierte Beschreibung beziehen sich auf eine bevorzugte Ausführungsform der Erfindung, was jedoch nicht als Beschränkung des Erfindungsgegenstands aufzufassen ist. Alle gleichwertigen Variationen und Änderungen, die entsprechend den beigefügten Ansprüchen der vorliegenden Erfindung vorgenommen werden, sind durch diese Ansprüche abgedeckt.
  • Im Folgenden wird die Erfindung anhand der Zeichnungen detailliert beschrieben.
  • 1 ist eine schematische Darstellung einer Vorrichtung 100 gemäß einigen Ausführungsformen der vorliegenden Erfindung. Die in 1 dargestellte Vorrichtung ist beispielsweise als Mehrprozessor-Computersystem ausgebildet und weist zwei oder mehr Prozessoren 103 auf. Weiterhin weist die Vorrichtung 100 mehrere zwischen den Prozessoren geteilte Ressourcen auf wie beispielsweise gemeinsam genutzte Speicher (engl. Shared Memory) 102, insbesondere Hauptspeicher oder Cachespeicher, Sensoren beziehungsweise Aktoren 101, einen Hauptspeichercontroller 104, einen Hardwarebeschleuniger 105 sowie ein Gateway 108 auf. Das Gateway 108 dient als Schnittstelle zu einem externen Kommunikationsmedium, das die Datenkommunikation mit externen Komponenten erlaubt. Die zuvor genannten Komponenten des Mehrprozessor-Computersystems 100 können auch mehrfach vorhanden sein. Die geteilten Ressourcen 102 können als interne Ressourcen oder als zu dem Mehrprozessor-Computersystem 100 externe Ressourcen 102 ausgestaltet sind.
  • Ferner weist das in 1 dargestellte Mehrprozessor-Computersystem 100 eine Ressourcenmanagement-Komponente (kurz Ressourcenmanager) 106 auf. Die Komponenten des Mehrprozessor-Computersystems 100, das heißt insbesondere die Prozessoren und die geteilten Ressourcen sind über ein Kommunikationsmittel 107 miteinander gekoppelt, über das Daten untereinander ausgetauscht werden können. Das Kommunikationsmittel 107 ist ebenfalls eine geteilte Ressource.
  • Beispiele für Komponenten des Mehrprozessor-Computersystem 100 sind Clients, Monitore, Netzwerkinterface, DMC (Interface/Engine), Ethernet (Interface), Gateway oder SDN-Controller.
  • Eine besondere Rolle spielen hierbei Clients, Monitore oder Netzwerkinterface. Bei diesen Komponenten handelt es sich um Komponenten, die zwischen einem Prozessor 103 (oder einer anderen Komponente) und dem Kommunikationsmittel 107 angeordnet sind. Diese Komponenten sind in der Lage, einen Zugriff zu erkennen. Beispielsweise erkennt eine solche einem Prozessor zugeordnete Komponente, wenn eine Applikation des ihr zugeordneten Prozessors auf eine geteilte Ressource (oder das Kommunikationsmittel) zugreift und verschickt daraufhin eine entsprechende Anfrage an die Ressourcenmanagement-Komponente 106. Im Falle eines Clients oder des Netzwerkinterfaces kann der gewünschte Zugriff solange blockiert („getrappt“) werden, bis die Ressourcenmanagement-Komponente 106 den Zugriff erlaubt. Dies ermöglicht eine transparente Implementierung des erfindungsgemäßen Verfahrens, ohne dass die betreffende Komponente, die auf eine geteilte Ressource zugreifen will, selbst eine Anfrage stellen muss. Die Anfrage wird in einem solchen Fall also von der angefragten geteilten Ressource gestellt.
  • Die Sensoren und Aktoren 101 umfassen verschiedene Arten von Sensoren, beispielsweise:
    1. a) Sensoren zur Erfassung eines System-internen Zustand wie Temperatur oder Last;
    2. b) Sensoren zur Erfassung externer Ereignisse wie beispielsweise Abstandssensoren für Fahrerassistenzsysteme;
    3. c) Sensoren zur Erfassung externer Ereignisse, welche für eine Rückkoppelung genutzt werden können wie zum Beispiel Kameras für Fahrerassistenzsysteme. Abhängig von der Umgebung liefert eine entsprechende Kamera unterschiedliche Datenmengen, was beispielsweise als Eingabe für eine Rekonfiguration des Systems genutzt werden kann.
  • In einigen Ausführungsformen ist das Kommunikationsmittel (107) als ein Kommunikationsmittel für eine interne Kommunikation zwischen Komponenten des Mehrprozessor-Computersystems (100) und/oder zu dem Mehrprozessor-Computersystem externen Komponenten ausgestaltet.
  • Insbesondere ist in einigen Ausführungsformen das Kommunikationsmittel 107 als ein NoC ausgebildet. Dies ist insbesondere dann vorteilhaft, wenn es sich bei dem Mehrprozessor-Computersystem 100 um einen integrierten Schaltkreis und insbesondere eine Mehrprozessor-Electronic Control Unit (ECU) innerhalb eines Fahrzeuges handelt, an die sehr hohe Echtzeitanforderungen gestellt werden.
  • In einigen Ausführungsformen, in denen das Mehrprozessor-Computersystem 100 als integrierter Schaltkreis ausgestaltet ist, kann dieser integrierte Schaltkreis wiederum mehrere integrierte Schaltkreise umfassen. Weiterhin kann einer oder mehrere der integrierten Schaltkreise als System-on-Package (SoP) ausgestaltet sein.
  • Aufgrund seiner besonderen Architektur kann ein NoC als Schaltkreis-internes Kommunikationsmittel dazu beitragen, diese sehr hohen Echtzeitanforderungen unter allen Betriebsbedingungen und Systemzuständen zu gewährleisten.
  • In einigen Ausführungsformen ist das Kommunikationsmittel 107 als ein Kommunikationsmittel für eine Kommunikation zwischen integrierten Schaltkreisen des Mehrprozessor-Computersystems 100, das heißt als Kommunikationsmittel zwischen verschiedenen Schaltkreisen in einem Package ausgestaltet. In derartigen Ausführungsformen ist jeder Prozessor 103 als einzelner Die ausgestaltet, wobei die Prozessoren Package-intern über ein NoC verbunden sind.
  • Die in 1 dargestellte Vorrichtung kann beispielsweise als System-in-Package (SiP; mehrere Schaltkreise oder Dies in einem Package oder Chip einschließlich vertikaler Integration), als Multi-Chip-Modul (MCM, mehrere Schaltkreise oder Dies in einem Package/Chip/Gehäuse planar zueinander angeordnet) oder System-on-Chip (Soc, mehrere Komponenten einem einzelnen Die oder Schaltkreis) ausgestaltet sein. Ein SiP oder MCM kann auch mehrere SoCs sowie entsprechende geteilte Ressourcen und Kommunikationsmittel enthalten.
  • Ein weiterer Vorteil eines NoC als internes Kommunikationsmittel besteht darin, dass auch in dem Fall, dass das Mehrprozessor-Computersystem als integrierter Schaltkreis ausgebildet ist und insbesondere ein heterogenes Netzwerk darstellt, eine optimierte Kommunikation ermöglicht wird. Heterogene Netzwerke zeichnen sich dadurch aus, dass eine oder mehrere Taktfrequenzen für die Komponenten des integrierten Schaltkreises verwendet werden können, und/oder unterschiedliche Router-Architekturen und/oder entsprechend unterschiedliche Protokolle, die auf ein und demselben integrierten Schaltkreis implementiert sein können.
  • Zusätzlich, oder alternativ, sind in heterogenen Netzwerken verschiedene Bandbreiten auf den Verbindungen zwischen Routern des NoC und Komponenten des integrierten Schaltkreises 100 möglich, die mittels der NoC-Router kommunizieren.
  • Das erfindungsgemäße Mehrprozessor-Computersystem 100 ermöglicht es, auch für derartige heterogene Netzwerk-Architekturen spezifizierten Echtzeitanforderungen zu genügen.
  • In einigen Ausführungsformen umfasst das Mehrprozessor-Computersystem 100 mehrere Ressourcenmanagement-Komponenten 106, die hinsichtlich ihrer Komplexität und/oder Funktionalität unterschiedlich ausgebildet sein können. Jede Ressourcenmanagement-Komponente 106 kann in Form von Hardware und/oder Software implementiert sein.
  • 2 ist ein Flussdiagramm, das die Schritte eines Verfahrens gemäß einigen Ausführungsformen der vorliegenden Erfindung darstellt.
  • In einem ersten Schritt 210 des Verfahrens empfängt die Ressourcenmanagement-Komponente 106 von einer anfragenden Einheit eine Anfrage für einen Zugriff auf eine der geteilten Ressource 102-108. Bei der anfragenden Einheit handelt es sich beispielsweise um eine Anwendung, die auf einem oder mehreren der Prozessoren 103 ausgeführt wird, oder um eine andere Komponente des Mehrprozessor-Computersystems 100. Die anfragende Einheit kann jedoch auch eine System-externe Komponenten sein. Bei der geteilten Ressource, auf die die Anfrage gerichtet ist, kann es sich beispielsweise um einen Sensor 101, einen Aktor 101, einen Speicher 102, insbesondere Hauptspeicher oder Cachespeicher, einen Speichercontroller 104, einen Hardwarebeschleuniger 105 das Kommunikationsmittel 107 oder ein Eingabe-/Ausgabemittel handeln. Generell kann es sich bei der angefragten Ressource um eine beliebige Hardware- oder Software-Ressource des Mehrprozessor-Computersystems 100 handeln. Falls die angefragte Ressource das Kommunikationsmittel 107 ist, kann die Anfrage auch nur auf Teile des Kommunikationsmittels 107 gerichtet sein, beispielsweise eine Verbindung, Pfade, Router, (virtuelle) Kanäle (channel) oder Puffer.
  • Nach einer Zuweisung der angefragten geteilten Ressource 102 an die anfragende Einheit ist mindestens eine vorgegebene Echtzeitanforderung durch das Mehrprozessor-Computersystem 100 zu gewährleisten. In einigen Ausführungsformen umfasst die Anfrage mindestens einen Parameter. Der Parameter umfasst beispielsweise eine Art, einen Umfang und/oder ein Zeitverhalten der angefragten geteilten Ressource 102. Weitere Beispiele sind ein Mindestdatendurchsatz auf dem Kommunikationsmittel 107 (z.B. eine Anzahl angekommener Datenpaketen pro Zeiteinheit) oder eine maximale erlaubte Antwortzeit (z.B. eine maximale erlaubte Übertragungslatenz).
  • In einem weiteren Schritt 220 bestimmt die Ressourcenmanagement-Komponente 106 einen oder mehrerer aktuelle Betriebsparameter des Mehrprozessor-Computersystems 100. Dabei kann die Ressourcenmanagement-Komponente 106 insbesondere die Sensoren 101 verwenden. Die Sensoren 101 können eine Vielzahl von Betriebsparametern erfassen wie beispielsweise ein Verhalten der anfragenden Einheit, umfassend einen Zustand und/oder ein Muster früherer Ressourcenzugriffe der anfragenden Einheit, eine elektrische Spannung und/oder eine Taktfrequenz, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems betrieben werden, eine Temperatur einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems oder eine Anzahl von Datenpaketen, die innerhalb eines festgelegten Zeitraums über das Kommunikationsmittel 107 übertragen wurden. Bei der Anzahl von Datenpaketen kann es sich beispielsweise um eine durchschnittliche oder maximale Anzahl handeln, die innerhalb eines festgelegten Zeitraums über das Kommunikationsmittel 107 übertragen werden.
  • In Schritt 230 bestimmt die Ressourcenmanagement-Komponente 106 einen oder mehrere nach einer Zuweisung der angefragten geteilten Ressource 102 an die anfragende Einheit zu erwartende zukünftige Betriebsparameter. Dieses Bestimmen kann dabei auf einem oder mehreren Faktoren basieren. Insbesondere kann die Schätzung auf während einer Entwurfszeit des Mehrprozessor-Computersystems 100 erstellten Modells des Mehrprozessor-Computersystems basieren, sowie dem einen oder den mehreren bestimmten aktuellen Betriebsparametern. Es ist auch möglich, dass das Bestimmen nur auf einem dieser beiden Faktoren basiert.
  • Das Bestimmen des einen oder der mehreren zu erwartenden zukünftigen Betriebsparameter umfasst dabei beispielsweise ein Bestimmen einer nach einer Zuweisung der angefragten geteilten Ressource 102 an die anfragende Einheit zu erwartenden elektrischen Spannung und/oder Taktfrequenz, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems 100 betrieben werden. Weiterhin kann auch eine zu erwartende zukünftige Temperatur einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems 100 bestimmt werden. Eine weitere Variante ist das Bestimmen einer durchschnittlichen Anzahl von übertragenen Datenpaketen, die innerhalb eines festgelegten Zeitraums über das Kommunikationsmittel zu erwarten sind.
  • Die Ausführung der nächsten Schritte des Verfahrens hängen von einem Ausgang einer Fallunterscheidung ab.
  • Falls die vorgegebene Echtzeitanforderung basierend auf dem Bestimmen 230 der zu erwartenden zukünftigen Betriebsparameter gewährleistet ist, erfolgt durch die Ressourcenmanagement-Komponente ein Zuweisen 260 der angefragten Ressource an die anfragende Einheit.
  • Falls die vorgegebene Echtzeitanforderung basierend auf dem Bestimmen 230 der zu erwartenden zukünftigen Betriebsparameter jedoch nicht gewährleistet ist, erfolgt basierend auf dem einen oder den mehreren bestimmten aktuellen Betriebsparametern und dem einen oder den mehreren zu erwartenden zukünftigen Betriebsparametern ein Bestimmen 240 einer Konfiguration einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems 100 derart, dass die vorgegebene Echtzeitanforderung für die angefragte Ressource 102 durch die Konfiguration gewährleistet ist.
  • Mit anderen Worten prüft die Ressourcenmanagement-Komponente 106, ob die vorgegebene Echtzeitanforderung erfüllt werden kann, wenn die angefragte Ressource unter den aktuell gegebenen Betriebsbedingungen des Mehrprozessor-Computersystems 100 der anfragenden Einheit zugeteilt wird. Diese Bestimmung basiert nicht nur auf zuvor zur Entwurfszeit des Mehrprozessor-Computersystems 100 erstellten Modells des Mehrprozessor-Computersystems, also beispielsweise der Spezifikation eines als integrierter Schaltkreis ausgestalteten Mehrprozessor-Computersystems, die bei sicherheitskritischen Systemen für die Anwendungen und die Plattform existieren, um Grenzen für das erlaubte Verhalten des Systems und aller interferierenden Anwendungen zu bestimmen, sondern zusätzlich auf aktuell zur Laufzeit beobachteten Betriebsparametern.
  • Die Ressourcenmanagement-Komponente 106 nutzt somit während der Laufzeit diese zur Entwurfszeit bestimmten Informationen sowie gleichzeitig Informationen bezüglich des aktuellen Zustands des Mehrprozessor-Computersystems 100. Diese Art der Verknüpfung von Entwurfszeit-Informationen und Laufzeit-Informationen ermöglicht es, die Konfiguration des Mehrprozessor-Computersystems 100 dynamisch zur Laufzeit anzupassen. Mit anderen Worten: Die Entwurfszeit-Information wird mit Feedback zur Laufzeit zusammengeführt, bevor eine Entscheidung über die Ablehnung einer Anfrage getroffen wird. Durch die zur Entwurfszeit erstellten und bestimmten Modelle und Grenzen des Systems kann auf diese Weise garantiert werden, dass die Ressourcenmanager-Komponente 106 nur gültige Konfigurationen bestimmt und anwendet, das heißt solche Konfigurationen, bei denen die erforderlichen Echtzeitanforderungen, die an das Mehrprozessor-Computersystem 100 gestellt werden, eingehalten werden. Es ist auf diese Weise zusätzlich möglich, weitere Optimierungsziele zu verwirklichen wie beispielsweise ein garantierter minimaler Datendurchsatz bei gleichzeitig geringer thermischer Belastung des Mehrprozessor-Computersystems und seiner Komponenten.
  • Es kann vorkommen, wenngleich deutlich seltener als im Stand der Technik, dass keine entsprechende Konfiguration bestimmt werden kann. In einem solchen Fall sendet die Ressourcenmanagement-Komponente 106 in Schritt 245 eine Zurückweisungsnachricht an die anfragende Einheit und weist somit die Anfrage nach der geteilten Ressource zurück.
  • Andernfalls, wenn also eine entsprechende Konfiguration bestimmt werden konnte, für die die vorgegebene Echtzeitanforderung voraussichtlich gewährleistet ist, werden in Schritt 250 eine oder mehrere Komponenten des Mehrprozessor-Computersystems 100 gemäß der in Schritt 240 bestimmten Konfiguration konfiguriert.
  • Das Konfigurieren 250 einer oder mehrerer Komponenten des Mehrprozessor-Computersystems 100 kann auf vielfältige Weise vorgenommen werden. Beispielsweise können eine Taktrate und/oder eine Frequenz angepasst werden, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems 100 betrieben werden. Möglich ist auch ein Anpassen einer maximal zu sendenden und/oder zu empfangenden Datenmenge pro Zeitintervall für eine auf einem oder mehreren der Prozessoren 103 ausgeführte Anwendung oder für eine Komponente des Mehrprozessor-Computersystems 100. Es ist auch möglich, im Kommunikationsmittel 107 vorhandene oder zu übertragende Datenpakete umzuleiten. Weiterhin können Anwendungen deaktiviert oder aktiviert werden, die auf einem oder mehreren der Prozessoren 103 ausgeführt werden, oder es können einzelne Komponenten des Mehrprozessor-Computersystems 100 aktiviert oder deaktiviert werden. Zusätzlich oder alternativ ist es möglich, ein Zeitverhalten einer auf einem oder mehreren der Prozessoren 103 ausgeführten Anwendung anzupassen.
  • Anschließend an das Konfigurieren 250, wird in Schritt 260 schließlich die angefragte Ressource 102 an die anfragende Einheit zugewiesen. Das Zuweisen 260 der angefragten Ressource an die anfragende Einheit erfolgt beispielsweise durch einen Aufbau einer Kommunikationsverbindung zwischen der anfragenden Einheit und der angefragten Ressource 102 über das Kommunikationsmittel 107.
  • In einigen Ausführungsformen umfasst das Zuweisen 260 der angefragten Ressource 102 an die anfragende Einheit eine Bestätigung der Anfrage vor der Zuweisung.
  • In einigen Ausführungsformen kann in einem Fall, in dem die gewünschte Kommunikationsverbindung zu der geteilten Ressource 102 nicht hergestellt werden kann, die Ressourcenmanager-Komponente 106, die anfragende Einheit oder beide alternative Konfigurationen prüfen. Wenn eine solche alternative Konfiguration gefunden wird, die zur Erfüllung der Echtzeitanforderung geeignet ist, wird die betreffende alternative Konfiguration durch die Ressourcenmanager-Komponente 106 umgesetzt.
  • Einige Ausführungsformen sind dadurch gekennzeichnet, dass die die Anfrage empfangende Ressourcenmanager-Komponente 106 oder eine andere Ressourcenmanager-Komponente, die eine Anfrage von einer Ressourcenmanager-Komponente erhält, die Anfrage bezüglich ihrer Gültigkeit, Durchführbarkeit, Performance, Sicherheit und/oder Einfluss auf andere Komponenten des Mehrprozessor-Computersystems 100 bewertet und bei negativer Bewertung die Anfrage ablehnt oder die Parameter der Anfrage abändert und erneut bewertet.
  • 3 ist ein Flussdiagramm, das die Schritte eines Verfahrens gemäß einigen Ausführungsformen der vorliegenden Erfindung darstellt
  • Gemäß dieser weiteren Ausführungsformen ist vorgesehen, dass die Ressourcenmanagement-Komponente die Konfiguration oder Teile der Konfiguration nur basierend auf dem aktuellen Zustand des Systems oder genutzter Ressourcen (intern als auch Peripherie) oder der auf den Prozessoren laufenden Anwendungen anpasst. Dadurch wird ermöglicht, dass die Ressourcenmanagement-Komponente Informationen über den Systemzustand, welcher zum Beispiel aus Informationen von Monitoring-Einrichtungen oder dem Verhalten von Peripherie-Komponenten abgeleitet wird, nutzt, um auch ohne eine vorliegende Anfrage oder Verbindungsaufforderung einer anfragenden Einheit die Konfiguration zur Optimierung oder Einhaltung der Garantien und Echtzeitanforderungen anzupassen (proaktives Verhalten).
  • In diesen Ausführungsformen wird das Überprüfen des Systems und das eventuelle Rekonfigurieren nicht durch eine Anfrage für einen Zugriff auf eine geteilte Ressource ausgelöst. Stattdessen erfolgt das Überprüfen und Rekonfigurieren beispielsweise Ereignis-gesteuert, das heißt in Reaktion auf ein erkanntes Ereignis. Eine weitere Möglichkeit besteht darin, dass das Überprüfen und Rekonfigurieren periodisch beispielsweise in bestimmten Zeitabständen erfolgt.
  • Ein solches auslösendes Ereignis ist beispielsweise die Überschreitung eines Grenzwertes. Die periodische Überprüfung erfolgt beispielsweise durch Auslesen eines Sensors in bestimmten Zeitabständen.
  • Mögliche Auslöser für das Überprüfen und Rekonfigurieren sind beispielsweise:
    • - Überschreiten einer Temperatur des Mehrprozessor-Computersystems oder einer seiner Komponenten (als mögliche Reaktion erfolgt beispielsweise eine Drosselung einer Frequenz, mit der das System oder eine Komponente betrieben wird, oder eine Drosselung von Rate-Limitern am Netzwerkinterface)
    • - Unterschreiten einer Temperatur (als mögliche Reaktion erfolgt beispielsweise eine Erhöhung einer Frequenz)
    • - Reaktionszeit und/oder Datendurchsatz des NoC ungenügend / zu viel Datenverkehr (als mögliche Reaktion erfolgt zum Beispiel eine Erhöhung der Frequenz, ein Drosseln oder Abschalten von Funktionen oder Komponenten oder ein Umleiten von Datenpaketen)
  • In diesen Ausführungsformen, bei denen nicht eine Anfrage für eine Ressource das auslösende Ereignis ist, erfolgt somit generell eine Überwachung auf die Einhaltung bestimmter Garantien und Betriebsparameter sowie eine entsprechende automatische Anpassung der Betriebsparameter, um diese Garantien einzuhalten und gegebenenfalls weitere Optimierungsziele (beispielsweise minimaler Stromverbrauch beim Einhalten von Echtzeitanforderungen) zu erreichen.
  • Es ist anzumerken, dass diese Garantien und/oder Optimierungsziele vorab bekannt und festgelegt sind, da sie beispielsweise zur Entwurfszeit des Mehrprozessor-Computersystems erstellt und festgelegt wurden. Die Ressourcenmanagement-Komponente hat Zugriff auf diese vorab festgelegten Garantien und/oder Optimierungsziele.
  • In einigen Ausführungsformen können die Garantien und/oder Optimierungsziele nachträglich (zum Beispiel durch Updates) und/oder zur Laufzeit (zum Beispiel durch eine mittels „machine learning“ lernende Ressourcenmanagement-Komponente) verändert werden.
  • Insbesondere umfasst das Verfahren gemäß dieser weiteren Ausführungsform ein Bestimmen 310, durch die Ressourcenmanagement-Komponente, einer Echtzeitanforderung, die von dem Mehrprozessor-Computersystem nach einem Rekonfigurieren des Mehrprozessor-Computersystems zu gewährleisten ist, sowie ein Bestimmen 320, durch die Ressourcenmanagement-Komponente, eines oder mehrerer aktueller Betriebsparameter des Mehrprozessor-Computersystems. Weiterhin umfasst das Verfahren ein Bestimmen 330, durch die Ressourcenmanagement-Komponente, eines oder mehrerer nach dem Rekonfigurieren zu erwartender zukünftiger Betriebsparameter, basierend auf während einer Entwurfszeit des Mehrprozessor-Computersystems erstellten Modells des Mehrprozessor-Computersystems und dem einen oder den mehreren bestimmten aktuellen Betriebsparametern. Falls die Echtzeitanforderung basierend auf dem Bestimmen 330 der zu erwartenden zukünftigen Betriebsparameter gewährleistet ist, erfolgt ein Rekonfigurieren 340, durch die Ressourcenmanagement-Komponente, des Mehrprozessor-Computersystems.
  • Falls die Echtzeitanforderung basierend auf dem Bestimmen 330 der zu erwartenden zukünftigen Betriebsparameter nicht gewährleistet ist, endet das Verfahren in Schritt 350, ohne dass ein Rekonfigurieren des Mehrprozessor-Computersystems vorgenommen wurde.
  • Das Verfahren gemäß dieser weiteren Ausführungsformen ist durch eine Vorrichtung mit entsprechenden Mitteln ausführbar, wie beispielsweise ein Mehrprozessor-Computersystem wie das oben beschriebene Mehrprozessor-Computersystem 100, das insbesondere als integrierter Schaltkreis mit einem NoC als Kommunikationsmittel ausgebildet sein kann. Die Mittel zum Ausführen des Verfahrens können jeweils sowohl als Hardware-Mittel, als Software-Mittel oder als eine Kombination aus Hardware- und Software-Mitteln ausgeführt sein.
  • Die Verfahren gemäß der vorliegenden Erfindung sind als Computerprogramm auch auf einem Computer ausführbar. In diesem Fall ist das entsprechende Computerprogrammprodukt angepasst, die Schritte der oben dargestellten Verfahren auszuführen.
  • Die Verfahren und die Vorrichtungen gemäß der vorliegenden Erfindung ermöglichen es, dass beispielsweise ein Worst-Case-Verhalten des NoC, zum Beispiel eine maximale Latenz von Übertragungen oder ein minimaler Datensatz, oder ein Worst-Case-Verhalten der auf dem Mehrprozessor-Computersystem 100 ausgeführten Anwendungen, zum Beispiel eine maximale Antwortzeit, garantiert werden kann, sodass es möglich ist, sicherheitskritische Anwendungen mit Echtzeitanforderungen mittels des Verfahrens und der Vorrichtung ausführen zu können.
  • Gleichzeitig können für die vorgeschlagenen Verfahren und die vorgeschlagenen Vorrichtungen eine oder mehrere der folgenden Garantien gegeben werden, insbesondere wenn das Mehrprozessor-Computersystem 100 als integrierter Schaltkreis mit einem NoC als Kommunikationsmittel 107 ausgebildet ist:
    • i) maximaler Energieverbrauch des Systems, das heißt des integrierten Schaltkreises 100, oder einzelner Komponenten des integrierten Schaltkreises; dies wird durch verschiedene Maßnahmen erreicht wie beispielsweise eine Verteilung einer Last auf mehrere Komponenten oder eine Drosselung beziehungsweise Abschaltung von nicht sicherheitsrelevanten Anwendungen oder Komponenten. Ziel dabei ist es, sicherheitskritische Anwendungen so ausführen zu können, dass Ausfälle oder Fehler durch vorzeitige Erschöpfung der Energiereserven vermieden werden oder dass der Energieverbrauch des Systems optimiert wird.
    • ii) maximale Stromaufnahme, maximale Verlustleistung und maximale thermische Belastung des integrierten Schaltkreises 100, oder einzelner Komponenten des integrierten Schaltkreises; dies wird durch verschiedene Maßnahmen wie beispielsweise eine Verteilung der Last auf mehrere Komponenten oder Drosselung beziehungsweise Abschaltung von nicht sicherheitsrelevanten Anwendungen erreicht. Ziel dabei ist es, eine thermische Überlastung bei der Ausführung sicherheitskritischer Anwendungen zu verhindern, so dass Ausfälle oder Fehler durch thermische Überlastung oder Spannungsschwankungen vermieden werden.
    • iii) maximale Beeinflussung des Zeitverhaltens einer Anwendung durch eine andere Anwendung; dies wird beispielsweise von entsprechenden Sicherheitsstandards gefordert, und dienst zudem dazu, beispielsweise DOS-Angriffe zu verhindern oder zu blockieren.
    • iv) Beibehaltung des Zeitverhaltens einer Anwendung nach einer Änderung mindestens einer anderen Anwendung auf einem anderen Prozessor des Computersystems; dies ist beispielsweise für Systemaktualisierungen (Updates) relevant, wenn vorgegebene Sicherheitsstandards einzuhalten sind. Eine Änderung einer Anwendung, welche geteilte Ressourcen nutzt, kann über die geteilten Ressourcen andere Anwendungen beeinflussen. Ein Beispiel sei hier eine durch ein Update gesteigerte Nutzung einer geteilten Ressource, welche wiederum zu einer erhöhten Interferenz auf der geteilten Ressource und somit zu einer erhöhten Blockierungszeit (anderer Anwendungen auf dieser Ressource) führt.
    • v) Beibehaltung des Zeitverhaltens einer Anwendung nach einer Änderung mindestens einer anderen Anwendung auf dem gleichen Prozessor des Computersystems, wobei die Anwendung geteilte Ressourcen des Computersystems nutzt; dies ist beispielsweise für Systemaktualisierungen (Updates) relevant, wenn vorgegebene Sicherheitsstandards einzuhalten sind. Eine Änderung einer Anwendung, welche geteilte Ressourcen nutzt, kann durch eine erhöhte Anzahl von Zugriffen auf eine geteilte Ressource bzw. das Kommunikationsmittel zu einer erhöhten Blockierungszeit auf dem gleichen Prozessor (für andere Anwendungen) führen.
    • vi) Beibehaltung des Zeitverhaltens einer Anwendung nach Ausfällen einzelner Einheiten, die von der Anwendung nicht verwendet werden, um so eine höhere Zuverlässigkeit des Betriebes des integrierten Schaltkreises und seiner Komponenten zu gewährleisten.
    • vii) Beibehaltung des Zeitverhaltens einer Anwendung, beispielsweise im Fehlerfall und/oder nach Ausfällen einzelner Komponenten des integrierten Schaltkreises, die von der Anwendung verwendet werden, um so eine höhere Zuverlässigkeit des Betriebes des integrierten Schaltkreises und seiner Komponenten zu gewährleisten.
    • viii) Beibehaltung der Funktion einer Anwendung nach Ausfällen einzelner Komponenten des integrierten Schaltkreises, die von der Anwendung verwendet werden, um so eine höhere Zuverlässigkeit des Betriebes des integrierten Schaltkreises und seiner Komponenten zu gewährleisten.
  • Die vorliegende Erfindung erlaubt somit ein garantiertes Zeitverhalten des Mehrprozessor-Computersystems unter gleichzeitiger Einhaltung der obenstehenden Garantien. Erfindungsgemäß erfolgt eine Tradeoff-Analyse zwischen verschiedenen Parametern und eine sichere Umschaltung zwischen den Zuständen des integrierten Schaltkreises und seiner Komponenten. Die vorliegende Erfindung ermöglicht zudem eine Erweiterung der von der Ressourcenmanager-Komponente genutzten Modelle, die zur Entwurfszeit des integrierten Schaltkreises erstellt wurden. Während des erfindungsgemäßen Verfahrens vorgeschlagene Konfigurationen können auf ihre Gültigkeit geprüft werden. Entsprechende gültige Konfigurationen können beispielsweise in Form von Tabellen oder State-Machines gespeichert sein, die für die Ressourcenmanagement-Komponente zugreifbar sind.
  • Zusätzlich kann die Ressourcenmanagement-Komponente Zugriff auf Modelle haben, die ein Verhalten von Anwendungen, einen Zusammenhang von einer Anzahl gesendeter Paketen pro Intervall (Durchsatz) und Temperatur, Frequenz und Temperatur oder ähnliches modellieren.
  • Die der Ressourcenmanagement-Komponente zur Verfügung stehenden Modelle sowie die gültigen Konfigurationen können zur Entwurfszeit des Mehrprozessor-Computersystems festgelegt werden und bei Bedarf durch Updates oder dynamisch zur Laufzeit (zum Beispiel mittels „machine learning“ durch die Ressourcenmanagement-Komponente) adaptiert werden.
  • Die vorliegende Erfindung erlaubt zudem ein proaktives Verhalten basierend auf Monitoring-Informationen und ist somit nicht nur darauf beschränkt, vorgegebene Echtzeitanforderungen zu erfüllen („self-awareness“ des Systems).
  • Die vorliegende Erfindung ermöglicht eine vorhersagbare, dynamische („online“-) Anpassung beispielsweise von Spannung und Frequenzen sowie weiterer Kenngrößen der Systemkonfiguration. Die vorliegende Erfindung erlaubt zudem ein vorhersagbares Verhalten für Datenverkehr und dessen Einfluss auf das restliche System und/oder andere Datenströme, welcher beispielsweise durch mehrere (unterschiedlich schnelle) so genannte Voltage Islands geht. Voltage Islands sind Bereiche im Kommunikationsmittel (Netzwerk), die eine bestimmte Spannung und/oder Frequenz (und somit eine bestimmte Übertragungsgeschwindigkeit) aufweisen. Diese Bereiche umfassen einen oder mehrere Router des Kommunikationsmittels, das beispielsweise als NoC ausgebildet ist. Passiert ein Datenstrom mehrere derartiger (Geschwindigkeits-) Voltage Islands, kann es am Übergang zu Blockierungen und Rückstau kommen. Insbesondere beim Wechseln von einer schnellen zu einer langsamen Voltage Island gibt es am Übergang einen Rückstau. Durch die Propagierung dieser Blockierungen entstehen zusätzlich Interferenzen, die direkt oder indirekt zu Abhängigkeiten zwischen Sendern führen. Dadurch ist die Einhaltung vorgegebener Echtzeitanforderungen und entsprechender Garantien erschwert oder sogar unmöglich.
  • Dieses Problem wird durch die Ressourcenmanagement-Komponente gelöst. Insbesondere kann die Ressourcenmanagement-Komponente beispielsweise die Voltage Islands beziehungsweise die entsprechenden Kommunikationspfade im Kommunikationsmittel angleichen (beispielsweise durch Zuweisung derselben Frequenz für alle betroffenen Router), die Senderate des jeweiligen Senders anpassen (beispielsweise durch Rate-Limiter) und so bezüglich der „langsamsten Strecke“ im Kommunikationsmittel anpassen (so dass sich keine Datenpakete am Übergängen mehr aufstauen), oder Datenströme so umleiten, dass die entstehenden Interferenzen minimiert werden. Diese Maßnahmen führen insgesamt dazu, dass die Einhaltung vorgegebener Echtzeitanforderungen und entsprechender Garantien wieder ermöglicht wird.
  • Die Erfindung hat weiterhin den Vorteil, dass die gewünschte Steuerung einer oder mehrerer Komponenten eines Mehrprozessor-Computersystems, insbesondere eines integrierten Schaltkreises, oder des Mehrprozessor-Computersystems selbst in jedem Fall mit vorhersagbarer Performance bereitgestellt werden kann, insbesondere mit garantierter Latenz und/oder garantiertem Mindestdatendurchsatz. Dies wird dadurch erreicht, dass vorab, das heißt bevor eine Kommunikation zwischen zwei Komponenten des Mehrprozessor-Computersystems stattfindet, über eine Verbindungsanforderung ein Prozess eines Aushandelns mit der mindestens einen Ressourcenmanagement-Komponente oder der Optimierung durch die mindestens eine Ressourcenmanagement-Komponente angestoßen wird. Es ist auch möglich, dass die mindestens eine Ressourcenmanagement-Komponente den aktuellen Systemzustand nutzt, um eine Optimierung des Mehrprozessor-Computersystems durchzuführen. In beiden Fällen kann die mindestens eine Ressourcenmanagement-Komponente Informationen aus der Entwurfszeit oder der Laufzeit (z.B. durch Monitoring oder Anfragen) verwenden, um eine notwendige Konfiguration zu bestimmen, welche zur Einhaltung vorgegebener Garantien wie beispielsweise Echtzeitanforderungen benötigt werden.
  • Die vorliegende Erfindung eignet sich insbesondere für den Einsatz als Steuergerät für ein Fahrzeug.
  • Weitere Ausführungsformen
    1. 1. Verfahren zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem (100) mit einer Mehrzahl von Komponenten, wobei die Mehrzahl der Komponenten zwei oder mehr Prozessoren (103), eine Ressourcenmanagement-Komponente (106) und ein Kommunikationsmittel (107) für eine Kommunikation zwischen den Prozessoren und einer oder mehreren geteilten Ressourcen (102) aufweist, das Verfahren umfassend:
      • Empfangen (210), durch die Ressourcenmanagement-Komponente und von einer anfragenden Einheit, einer Anfrage für einen Zugriff auf eine der geteilten Ressourcen, wobei nach einer Zuweisung der angefragten geteilten Ressource an die anfragende Einheit mindestens eine vorgegebene Echtzeitanforderung durch das Mehrprozessor-Computersystem zu gewährleisten ist;
      • Bestimmen (220), durch die Ressourcenmanagement-Komponente, eines oder mehrerer aktueller Betriebsparameter des Mehrprozessor-Computersystems;
      • Bestimmen (230), durch die Ressourcenmanagement-Komponente, eines oder mehrerer nach einer Zuweisung der angefragten geteilten Ressource an die anfragende Einheit zu erwartender zukünftiger Betriebsparameter, basierend auf während einer Entwurfszeit des Mehrprozessor-Computersystems bestimmten Betriebsparametern und dem einen oder den mehreren bestimmten aktuellen Betriebsparametern;
      • falls die vorgegebene Echtzeitanforderung basierend auf dem Bestimmen (230) der zu erwartenden zukünftigen Betriebsparameter gewährleistet ist:
        • Zuweisen (260), durch die Ressourcenmanagement-Komponente, der angefragten Ressource an die anfragende Einheit.
    2. 2. Verfahren nach Ausführungsform 1, wobei, falls die vorgegebene Echtzeitanforderung basierend auf dem Bestimmen (230) der zu erwartenden zukünftigen Betriebsparameter nicht gewährleistet ist:
      • basierend auf dem einen oder den mehreren bestimmten aktuellen Betriebsparametern und dem einen oder den mehreren zu erwartenden zukünftigen Betriebsparametern, Bestimmen (240) einer Konfiguration einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems derart, dass die vorgegebene Echtzeitanforderung für die angefragte Ressource durch die Konfiguration gewährleistet ist; und
      • falls eine entsprechende Konfiguration bestimmt werden konnte, Konfigurieren (250), durch die Ressourcenmanagement-Komponente, der einen oder der mehreren Komponenten des Mehrprozessor-Computersystems gemäß der bestimmten Konfiguration, und
      • Zuweisen (260), durch die Ressourcenmanagement-Komponente, der angefragten Ressource an die anfragende Einheit.
    3. 3. Verfahren nach Ausführungsform 1 oder Ausführungsform 2, wobei das Zuweisen (260) der angefragten Ressource (102) an die anfragende Einheit durch einen Aufbau einer Kommunikationsverbindung zwischen der anfragenden Einheit und der angefragten Ressource über das Kommunikationsmittel (107) erfolgt.
    4. 4. Verfahren nach einer der vorstehenden Ausführungsformen, wobei das Bestimmen (220) des einen oder der mehreren aktuellen Betriebsparameter mindestens eines umfasst aus einem Bestimmen:
      • eines Verhaltens der anfragenden Einheit, umfassend einen Zustand und/oder ein Muster früherer Ressourcenzugriffe der anfragenden Einheit;
      • einer elektrischen Spannung und/oder einer Taktfrequenz, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems (100) betrieben werden;
      • einer Temperatur einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems (100);
      • einer Anzahl von Datenpaketen, die innerhalb eines festgelegten Zeitraums über das Kommunikationsmittel (107) übertragen wurden.
    5. 5. Verfahren nach einer der vorstehenden Ausführungsformen, wobei das Bestimmen (230) des einen oder der mehreren zu erwartenden zukünftigen Betriebsparameter mindestens eines umfasst aus einem Bestimmen einer nach einer Zuweisung der angefragten geteilten Ressource (102) an die anfragende Einheit zu erwartenden:
      • elektrischen Spannung und/oder Taktfrequenz, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems (100) betrieben werden;
      • Temperatur einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems (100);
      • durchschnittlichen Anzahl von übertragenen Datenpaketen, die innerhalb eines festgelegten Zeitraums über das Kommunikationsmittel (107) zu erwarten sind.
    6. 6. Verfahren nach einer der vorstehenden Ausführungsformen, wobei das Konfigurieren (150) der einen oder der mehreren Komponenten des Mehrprozessor-Computersystems (100) mindestens eines umfasst aus:
      • Anpassen einer Taktrate und/oder einer Frequenz, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems (100) betrieben werden;
      • Anpassen einer maximal zu sendenden und/oder zu empfangenden Datenmenge pro Zeitintervall für eine auf einem oder mehreren der Prozessoren (103) ausgeführte Anwendung und/oder für eine Komponente des Mehrprozessor-Computersystems (100);
      • Umleiten von im Kommunikationsmittel (107) vorhandenen und/oder zu übertragenden Datenpaketen;
      • Aktivieren oder Deaktivieren einer auf einem oder mehreren der Prozessoren (103) ausgeführten Anwendung und/oder einer der Komponenten des Mehrprozessor-Computersystems (100); und
      • Anpassen eines Zeitverhaltens einer auf einem oder mehreren der Prozessoren (103) ausgeführten Anwendung.
    7. 7. Verfahren nach einer der vorstehenden Ausführungsformen, wobei die Anfrage mindestens einen Parameter umfasst, und wobei der Parameter eines oder mehrere umfasst aus einer Art, eines Umfangs und/oder eines Zeitverhaltens der angefragten geteilten Ressource (102).
    8. 8. Verfahren nach einer der vorstehenden Ausführungsformen, wobei die anfragende Einheit eines ist aus:
      • einer auf einem oder mehreren der Prozessoren (103) ausgeführten Anwendung;
      • einer Komponente des Mehrprozessor-Computersystems (100);
      • einer zu dem Mehrprozessor-Computersystem externen Komponente.
    9. 9. Verfahren nach einer der vorstehenden Ausführungsformen, wobei das Zuweisen (260) der angefragten Ressource (102) an die anfragende Einheit eine Bestätigung der Anfrage vor der Zuweisung umfasst.
    10. 10. Verfahren nach einer der vorstehenden Ausführungsformen, wobei für den Fall, dass während des Bestimmens (240) keine entsprechende Konfiguration bestimmt werden konnte, die die vorgegebene Echtzeitanforderung gewährleistet, das Verfahren ferner umfasst:
      • Senden (245), durch die Ressourcenmanagement-Komponente, einer Zurückweisungsnachricht an die anfragende Einheit zum Zurückweisen der Anfrage.
    11. 11. Verfahren nach einer der vorstehenden Ausführungsformen, wobei die geteilte Ressource (102) eine Hardware-Ressource oder eine Software-Ressource ist, und wobei eine Hardware-Ressource eines ist aus:
      • einem Sensor (101);
      • einem Aktor (101);
      • einem Speicher (102), insbesondere Hauptspeicher oder Cachespeicher;
      • einem Speichercontroller (104);
      • einem Hardwarebeschleuniger (105);
      • dem Kommunikationsmittel (107);
      • einem Gateway (108); und
      • einem Eingabe-/Ausgabemittel.
    12. 12. Verfahren nach einer der vorstehenden Ausführungsformen, wobei das Kommunikationsmittel (107) als ein Kommunikationsmittel für eine interne Kommunikation zwischen Komponenten des Mehrprozessor-Computersystems (100) und/oder zu dem Mehrprozessor-Computersystem externen Komponenten ausgestaltet ist.
    13. 13. Verfahren nach Ausführungsform 12, wobei das Kommunikationsmittel als ein Network-On-Chip, NoC, ausgestaltet ist.
    14. 14. Verfahren nach einer der vorstehenden Ausführungsformen, wobei das Mehrprozessor-Computersystem (100) ein integrierter Schaltkreis ist.
    15. 15. Verfahren nach einer der vorstehenden Ausführungsformen, wobei die eine oder die mehreren geteilten Ressourcen (102) als interne Ressourcen oder als zu dem Mehrprozessor-Computersystem (100) externe Ressourcen (102) ausgestaltet sind.
    16. 16. Verfahren nach einer der vorstehenden Ausführungsformen, wobei das Kommunikationsmittel (107) als heterogenes Kommunikationsmittel ausgestaltet ist, wobei:
      • Komponenten des Kommunikationsmittels eine oder mehrere Taktfrequenzen aufweisen; und/oder
      • unterschiedliche Router-Architekturen in dem Kommunikationsmittel vorhanden sind; und/oder
      • unterschiedliche Protokolle in dem Kommunikationsmittel verwendet werden; und/oder
      • verschiedene Bandbreiten auf Verbindungen zwischen Routern in dem Kommunikationsmittel verwendet werden.
    17. 17. Vorrichtung (100) mit Mitteln zum Ausführen des Verfahrens nach einer der Ausführungsformen 1 bis 16.
    18. 18. Vorrichtung (100) nach Ausführungsform 17, wobei die Vorrichtung als Mehrprozessor-Steuergerät für ein Fahrzeug ausgebildet ist.
    19. 19. Computerprogramm, das angepasst ist, das Verfahren nach einer der Ausführungsformen 1 bis 18 auszuführen.
    20. 20. Verfahren zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem (100) mit einer Mehrzahl von Komponenten, wobei die Mehrzahl der Komponenten zwei oder mehr Prozessoren (103), eine Ressourcenmanagement-Komponente (106) und ein Kommunikationsmittel (107) für eine Kommunikation zwischen den Prozessoren und einer oder mehreren geteilten Ressourcen (102) aufweist, das Verfahren umfassend:
      • Bestimmen (310), durch die Ressourcenmanagement-Komponente, einer Echtzeitanforderung, die von dem Mehrprozessor-Computersystem nach einem Rekonfigurieren des Mehrprozessor-Computersystems zu gewährleisten ist;
      • Bestimmen (320), durch die Ressourcenmanagement-Komponente, eines oder mehrerer aktueller Betriebsparameter des Mehrprozessor-Computersystems;
      • Bestimmen (330), durch die Ressourcenmanagement-Komponente, eines oder mehrerer nach dem Rekonfigurieren zu erwartender zukünftiger Betriebsparameter, basierend auf während einer Entwurfszeit des Mehrprozessor-Computersystems bestimmten Betriebsparametern und dem einen oder den mehreren bestimmten aktuellen Betriebsparametern;
      • falls die Echtzeitanforderung basierend auf dem Bestimmen (330) der zu erwartenden zukünftigen Betriebsparameter gewährleistet ist:
        • Rekonfigurieren (340), durch die Ressourcenmanagement-Komponente, des Mehrprozessor-Computersystems.
    21. 21. Vorrichtung (100) mit Mitteln zum Ausführen des Verfahrens nach Ausführungsform 20.
    22. 22. Computerprogramm, das angepasst ist, das Verfahren nach Ausführungsform 20 auszuführen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102009016742 B4 [0007]
  • Zitierte Nicht-Patentliteratur
    • Feng, L. et al., „Self Configuration of Dependent Tasks for Dynamically Reconfigurable Automotive Embedded Systems“, in: Proceedings of the 47th IEEE Conference on Decision and Control, Mexico, 2008, Seiten 3737 bis 3742 [0009]
    • „Handling mixed sets of tasks in combined offline and online scheduled real-time systems“ von Isovic D. et al., in: Real-Time Syst., 2009, Seiten 296 bis 325 [0010]
    • „Automated Meta-Control for Adaptable Real-Time Software“ von Jehuda, J. et al., in: Real-Time Syst., 1998, Seiten 107 - 134 [0011]

Claims (11)

  1. Verfahren zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem (100) mit einer Mehrzahl von Komponenten, wobei die Mehrzahl der Komponenten zwei oder mehr Prozessoren (103), eine Ressourcenmanagement-Komponente (106) und ein Kommunikationsmittel (107) für eine Kommunikation zwischen den Prozessoren und einer oder mehreren geteilten Ressourcen (102) aufweist, das Verfahren umfassend: Bestimmen (310), durch die Ressourcenmanagement-Komponente, einer Echtzeitanforderung, die von dem Mehrprozessor-Computersystem nach einem Rekonfigurieren des Mehrprozessor-Computersystems zu gewährleisten ist; Bestimmen (320), durch die Ressourcenmanagement-Komponente, eines oder mehrerer aktueller Betriebsparameter des Mehrprozessor-Computersystems; Bestimmen (330), durch die Ressourcenmanagement-Komponente, eines oder mehrerer nach dem Rekonfigurieren zu erwartender zukünftiger Betriebsparameter, basierend auf einem während einer Entwurfszeit des Mehrprozessor-Computersystems erstellten Modells des Mehrprozessor-Computersystems und dem einen oder den mehreren bestimmten aktuellen Betriebsparametern; falls die Echtzeitanforderung basierend auf dem Bestimmen (330) der zu erwartenden zukünftigen Betriebsparameter gewährleistet ist: Rekonfigurieren (340), durch die Ressourcenmanagement-Komponente, des Mehrprozessor-Computersystems derart, dass die Echtzeitanforderung durch das Rekonfigurieren (340) gewährleistet ist, wobei das Rekonfigurieren (340) umfasst: a) Anpassen einer Frequenz oder Spannung der einen oder der mehreren Komponenten des Mehrprozessor-Computersystems oder b) Anpassen der Senderate einer Datenpakete sendenden Komponente in einem Kommunikationspfad des Kommunikationsmittels durch Rate-Limiter; und falls die Echtzeitanforderung basierend auf dem Bestimmen (330) der zu erwartenden zukünftigen Betriebsparameter nicht gewährleistet ist: Beibehalten der gegenwärtigen Konfiguration des Mehrprozessor-Computersystems.
  2. Verfahren nach Anspruch 1, wobei das Bestimmen (220) des einen oder der mehreren aktuellen Betriebsparameter mindestens eines umfasst aus einem Bestimmen: einer elektrischen Spannung und/oder einer Taktfrequenz, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems (100) betrieben werden; einer Temperatur einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems (100); einer Anzahl von Datenpaketen, die innerhalb eines festgelegten Zeitraums über das Kommunikationsmittel (107) übertragen wurden.
  3. Verfahren nach einem der vorstehenden Ansprüche, wobei das Bestimmen (230) des einen oder der mehreren zu erwartenden zukünftigen Betriebsparameter mindestens eines umfasst aus einem Bestimmen einer nach dem Rekonfigurieren (340) zu erwartenden: elektrischen Spannung und/oder Taktfrequenz, mit der eine oder mehrere der Komponenten des Mehrprozessor-Computersystems (100) betrieben werden; Temperatur einer oder mehrerer der Komponenten des Mehrprozessor-Computersystems (100); durchschnittlichen Anzahl von übertragenen Datenpaketen, die innerhalb eines festgelegten Zeitraums über das Kommunikationsmittel (107) zu erwarten sind.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei die geteilte Ressource (102) eine Hardware-Ressource oder eine Software-Ressource ist, und wobei eine Hardware-Ressource eines ist aus: einem Sensor (101); einem Aktor (101); einem Speicher (102), insbesondere Hauptspeicher oder Cachespeicher; einem Speichercontroller (104); einem Hardwarebeschleuniger (105); dem Kommunikationsmittel (107); einem Gateway (108); und einem Eingabe-/Ausgabemittel.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei das Kommunikationsmittel (107) als ein Kommunikationsmittel für eine interne Kommunikation zwischen Komponenten des Mehrprozessor-Computersystems (100) und/oder zu dem Mehrprozessor-Computersystem externen Komponenten ausgestaltet ist.
  6. Verfahren nach Anspruch 5, wobei das Kommunikationsmittel als ein Network-On-Chip, NoC, ausgestaltet ist.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei das Mehrprozessor-Computersystem (100) ein integrierter Schaltkreis ist.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei die eine oder die mehreren geteilten Ressourcen (102) als interne Ressourcen oder als zu dem Mehrprozessor-Computersystem (100) externe Ressourcen (102) ausgestaltet sind.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei das Kommunikationsmittel (107) als heterogenes Kommunikationsmittel ausgestaltet ist, wobei: Komponenten des Kommunikationsmittels eine oder mehrere Taktfrequenzen aufweisen; und/oder unterschiedliche Router-Architekturen in dem Kommunikationsmittel vorhanden sind; und/oder unterschiedliche Protokolle in dem Kommunikationsmittel verwendet werden; und/oder verschiedene Bandbreiten auf Verbindungen zwischen Routern in dem Kommunikationsmittel verwendet werden.
  10. Vorrichtung (100) mit Mitteln zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 9.
  11. Computerprogramm, das angepasst ist, das Verfahren nach einem der Ansprüche 1 bis 9 auszuführen.
DE102017012270.9A 2017-08-11 2017-08-11 erfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem Pending DE102017012270A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017012270.9A DE102017012270A1 (de) 2017-08-11 2017-08-11 erfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017012270.9A DE102017012270A1 (de) 2017-08-11 2017-08-11 erfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem

Publications (1)

Publication Number Publication Date
DE102017012270A1 true DE102017012270A1 (de) 2019-06-19

Family

ID=66674646

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017012270.9A Pending DE102017012270A1 (de) 2017-08-11 2017-08-11 erfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem

Country Status (1)

Country Link
DE (1) DE102017012270A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009016742B4 (de) 2009-04-09 2011-03-10 Technische Universität Braunschweig Carolo-Wilhelmina Mehrprozessor-Computersystem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009016742B4 (de) 2009-04-09 2011-03-10 Technische Universität Braunschweig Carolo-Wilhelmina Mehrprozessor-Computersystem

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
„Automated Meta-Control for Adaptable Real-Time Software" von Jehuda, J. et al., in: Real-Time Syst., 1998, Seiten 107 - 134
„Handling mixed sets of tasks in combined offline and online scheduled real-time systems" von Isovic D. et al., in: Real-Time Syst., 2009, Seiten 296 bis 325
Feng, L. et al., „Self Configuration of Dependent Tasks for Dynamically Reconfigurable Automotive Embedded Systems", in: Proceedings of the 47th IEEE Conference on Decision and Control, Mexico, 2008, Seiten 3737 bis 3742

Similar Documents

Publication Publication Date Title
DE102017214068B4 (de) Verfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem
EP2235628B1 (de) Kraftfahrzeug-steuervorrichtung
EP2087647B1 (de) Vorrichtung und verfahren zur manipulation von kommunikations-botschaften
DE102018204577A1 (de) Techniken zum Erfüllen von Dienstgüteanforderungen für eine Fabric-Punkt-zu-Punkt-Verbindung
DE60219246T2 (de) Mit einem TCP/IP Netzwerk verbundene Automatisierungsvorrichtung
AT512665B1 (de) Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem
EP3061213B1 (de) Verfahren zur übertragung von nachrichten in einem computernetzwerk sowie computernetzwerk
DE102017012270A1 (de) erfahren, Vorrichtung und Computerprogramm zur dynamischen Ressourcenzuweisung in einem Mehrprozessor-Computersystem
EP3167593B1 (de) Vorrichtung, verfahren und computerprogrammprodukt zur sicheren datenkommunikation
WO2022128025A1 (de) Verfahren zur dynamischen konfiguration von sensoren und steuergeräten in einem ethernetnetzwerk
DE202015004439U1 (de) Überwachungsvorrichtung und Netzwerkteilnehmer
DE102019208519A1 (de) Verfahren und Vorrichtung zum Anpassen einer Softwareanwendung
WO2012025323A1 (de) Verfahren zur durchführung einer kommunikation
DE602004013458T2 (de) Rekonfigurierbares Mehrprozessorsystem besonders zur digitalen Verarbeitung von Radarbildern
EP3454222A1 (de) Verfahren und automatisierungskomponente zur übertragung von steuerungsdaten in einer industriellen automatisierungsanordnung
DE102009036234B4 (de) Kommunikationsgerät zur Datenkommunikation in einem Industrienetzwerk, Industrienetzwerk und Verfahren zur Steuerung der Datenkommunikation in einem Industrienetzwerk
EP3560153B1 (de) Verfahren zum betreiben einer datenverarbeitungsanlage, datenverarbeitungsanlage
EP1843527B1 (de) Kommunikationsverfahren
DE102022200262A1 (de) Verfahren zum Austausch von Daten zwischen zwei Datenverarbeitungseinheiten
WO2023138870A1 (de) Verfahren und datenverarbeitungsnetzwerk zur verarbeitung von sensordaten
WO2022117167A1 (de) Verfahren zum schnellen flashen von sensorknoten über ein ethernetnetzwerk
WO2022122093A1 (de) Verfahren zur optimierung der übertragungsdatenrate in einem sensornetzwerk im teilnetzbetrieb in einem ethernetnetzwerk
DE102022206816A1 (de) Verfahren zum Betreiben eines Steuergeräts
DE102022115191A1 (de) Verfahren und Kraftfahrzeug-Steuergerät zum zyklischen Erzeugen von aktuellen Beobachtungsdaten zumindest einer ermittelten Beobachtungsgröße, die in einem Datennetzwerk eines Kraftfahrzeugs verteilt werden
WO2020188082A1 (de) Verfahren und vorrichtungen für eine lastzuweisung und überwachung für eine zuzuweisende versorgungssicherheitskritische ressource in einem netzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 102017214068

Country of ref document: DE

R012 Request for examination validly filed