DE112012000946T5 - Versehsagbares Rechnen in virtualisierten verteilten Computersystemen basierend auf der Partitionierung von Rechenleistung und Kommunikationsleistung - Google Patents

Versehsagbares Rechnen in virtualisierten verteilten Computersystemen basierend auf der Partitionierung von Rechenleistung und Kommunikationsleistung Download PDF

Info

Publication number
DE112012000946T5
DE112012000946T5 DE201211000946 DE112012000946T DE112012000946T5 DE 112012000946 T5 DE112012000946 T5 DE 112012000946T5 DE 201211000946 DE201211000946 DE 201211000946 DE 112012000946 T DE112012000946 T DE 112012000946T DE 112012000946 T5 DE112012000946 T5 DE 112012000946T5
Authority
DE
Germany
Prior art keywords
computer
scheduled
partitions
communication
network
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
DE201211000946
Other languages
English (en)
Inventor
Mirko Jakoljevic
Astrit Ademaj
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.)
Tttech Auto AG
Original Assignee
FTS Computertechnik 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 FTS Computertechnik GmbH filed Critical FTS Computertechnik GmbH
Publication of DE112012000946T5 publication Critical patent/DE112012000946T5/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Verfahren zum Bereitstellen einer garantierten Servicequalität in verteilten Computerplattformen zur Ausführung von verteilten Anwendungen durch die Kombination von: i) einem partitionierten Betriebssystem (POS) oder einem Hypervisor (101) ausgeführt auf zumindest zwei Computer (300, 301); wobei das genannte POS/Hypervisor CPU-, Speicher- und I/O Hardwareressourcen den Computerpartitionen in den genannten Computern zuweist; wobei die genannten Computer in der Lage sind, unterschiedliche Computerpartitionen (104, 105, 106) mit unterschiedlichen Anwendungsaufgaben innerhalb einer genannten Computerpartition auszuführen oder unterschiedliche Betriebssysteme (im Falle eines Hypervisors) auszuführen; wobei das genannte POS/Hypervisor sicherstellt, dass die Anwendungsaufgaben, die in unterschiedlichen Partitionen in ein und demselben genannten Computer ausgeführt werden, ihre zugeordneten Hardwareressourcen bekommen; wobei das genannte POS/Hypervisor eine zeitgeplante Planung für eine Untergruppe von Computerpartitionen basierend auf einer gegebenen Konfiguration (136) ausführt, und ii) Mittel, z. B. Netzwerkkommunikationstechnologie, zur Partitionierung von Ethernet-Kommunikationsressourcen und Schaffung von virtualisierten Netzwerken aus einem physischen Netzwerk.

Description

  • Eine große Herausforderung in virtualisierten Umgebungen ist die Auslegung von verteilten Computersystemen, die die Ausführung von Programmen in zwei oder mehreren Partitionen auf zwei oder mehreren virtualisierten Computern ermöglichen und die auch die vorhersagbare Nutzung von gemeinsamen Rechen- und Netzwerkressourcen und eine vorhersagbare Ausführung von Programmen unabhängig von der gesamten Systembeanspruchung erlauben.
  • Virtualisierung ist ein weit verbreiteter Ansatz zur gemeinsamen Nutzung von Rechenleistung zwischen verschiedenen Anwendungen in einer Recheneinheit. Sie erfordert die Ressourcenpartitionierung (Trennung) und die Softwareabstrahierung (Layering), d. h. die Ausführung von Software in einer von den zugrunde liegenden Hardwareressourcen getrennten Umgebung. Auf der anderen Seite werden neue Kommunikationstechnologien entwickelt, die die Partitionierung von Kommunikationsressourcen in virtuellen Netzwerken ermöglichen, sodass das Kommunikationsnetzwerk gewisse End-to-End Latenzzeiten unabhängig von der Verkehrlast garantiert. Durch zeitliche Planung der Ausführung von verschiedenen Partitionen abhängig von der Netzwerkkommunikation und in Referenz zu einer globalen Zeit, welche vom Kommunikationsnetzwerk zur Verfügung gestellt wird, kann der Betrieb von zeitkritischen, missionskritischen und sicherheitskritischen Anwendungen unabhängig von der Verwendung der verbleibenden Ressourcen ausgeführt werden. Die Reservierung von Rechenressourcen und Netzwerkressourcen für einen spezifischen Satz von Partitionen, die in einer spezifischen Reihenfolge zu einer spezifischen Zeit ausgeführt werden, kann Services mit Echtzeitgarantien für kritische Anwendungen zur Verfügung stellen. Rechenressourcen und Netzwerkressourcen für nicht kritische Partitionen stellen die nicht kritischen Services auf best-effort Basis zur Verfügung.
  • In dieser Arbeit schlagen wir eine neue Computerarchitektur vor, welche i) ein Kommunikationsnetzwerk, welches die Partitionierung der Kommunikationsressourcen mit ii) einem partitionierten Betriebssystem verbindet, welches die Virtualisierung von Computerressourcen gestattet, um Servicegarantien für kritische Services zu erzielen und gleichzeitig die Verwendung des Hardwarecomputerressourcen und der Kommunikationsressourcen durch die Ausführung nicht kritischer Anwendungen auf derselben Hardwareinfrastruktur zu maximieren.
  • Einleitung
  • Virtualisierung ist ein Verfahren zur Partitionierung von Rechenressourcen (CPU, Speicher, Festplatte und I/O), um die Ausführung unterschiedlicher Anwendungssoftware auf derselben physischen Computerhardware zu gestatten, unter Sicherstellung bestimmter Ressourcenzuteilungen für unterschiedliche Anwendungssoftware und durch Verhindern, dass Anwendungen in unterschiedlichen Partitionen einander in einer unspezifischen Weise beeinflussen. Ein Satz von Computerressourcen, die als ein virtueller Computer angesehen werden können, wird als Partition bezeichnet.
  • Virtualisierung erlaubt die Ausführung von Software in partitionierten Umgebungen unabhängig von den zugrunde liegenden Hardwareressourcen. Virtualisierung wird verbreitet in Datenzentren verwendet, wo Betriebssysteme (OS) in als virtuelle Server bezeichneten Partitionen ausgeführt werden. Die Virtualisierung auf einem physischen Computer gestattet die Ausführung von unterschiedlichen Betriebssystemen in unterschiedlichen Partitionierungen. Ein ähnliches Prinzip der Virtualisierung wird in IT-Firmen verwendet, die ein und dasselbe Softwareprodukt in unterschiedlichen OS-Umgebungen testen müssen. Virtualisierung, wie sie heute zur Verfügung steht, arbeitet nahtlos auf einer Recheneinheit, jedoch können Stauungen und Leistungseinbußen auftreten, wenn viele Anwendungen gemeinsame Netzwerkressourcen nutzen und eine relativ hohe Netzwerkbelastung verursachen.
  • Um das Konzept der Virtualisierung von einzelnen Computerknoten auf ein verteiltes System anzuwenden, das aus einer Mehrzahl von Rechnern besteht, die durch ein Kommunikationsnetzwerk wie beispielsweise Ethernet miteinander verbunden sind, ist es notwendig, eine Kommunikationstechnologie zu verwenden, die die Partitionierung von Kommunikationsressourcen (virtuelle Netzwerke) unterstützt, sodass ein Satz von Partitionierungen in unterschiedlichen Computerknoten einen oder mehreren virtuellen Netzwerken zugeordnet ist und diese virtuellen Netzwerke ihre zugeordneten Servicequalität nicht abhängig von der variierenden Netzwerkbelastung ändern. Solch ein verteiltes Computersystem stellt Services mit spezifischen Quality of Service(QoS)-Garantien für kritische Funktionen unabhängig von der Ressourcenauslastung zur Verfügung und kann gleichzeitig Services ausführen, die keine hohe QoS-Anforderung haben, wobei die Ressourcenausnützung des verteilten Computersystems maximiert wird. Dies bedeutet, dass LAN-Anwendungen mit geringer Latenzzeit, geringem Jitter und Standard-LAN-Anwendungen in einem verteilten System ausgeführt werden können, und dass gleichzeitig die Verwendung der Kommunikationsressourcen maximiert werden kann, ohne dass Verzögerungen (Performanceverschlechterung) für zeitkritische Funktionen herbeigeführt werden.
  • Verteilte Anwendungen, die in Partitionen ausgeführt werden, deren Ausführung mit der Netzwerkzeitbasis übereinstimmt, schafft Quality of Service-Garantien, selbst bei starker Arbeitsbelastung. Dies gestattet die effektive Ausbildung von synchronen Services in großen Servernetzwerken oder Cloud Computing. Dies ist auch für die Auslegung von High-Availability und missionskritischen Systemen mit deterministischer Performance und garantierter Quality of Service essentiell.
  • Cloud Computing und Ressourcen
  • Cloud Computing ist eine verteilte Recheninfrastruktur, die aus einer Mehrzahl von gemeinsam genutzten Rechenressourcen und Netzwerkressourcen und Befähigungen (Services) besteht, die QoS-Levels (hinsichtlich der Performance der Anwendungsausführung) für Anwenderapplikationen zur Verfügung stellt. Für Anwendungen unterschiedlicher Wichtigkeit werden unterschiedliche Levels von Servicegarantien verlangt. Dem Anwender wird eine Gebühr für die Verwendung von Cloud-Infrastrukturressourcen und Services verrechnet und er erwartet das vereinbarte Servicelevel. In gleicher Weise erwarten sicherheitskritische oder andere kritische, eingebettete Systemanwendungen garantierte Servicelevels, die von einer Rechen- und Netzwerkplattform zur Verfügung gestellt werden. Darüber hinaus ist die maximierte Ressourcenausnutzung ein essentieller Faktor, um hohe Levels an Servicequalität zu erträglichen Kosten zu garantieren.
  • Jede Komponente der Cloud-Infrastruktur (Rechner, Speicher und Netzwerk) kann dynamisch konfiguriert werden, um auf Änderungen in der Leistung oder Konfiguration von anderen Elementen anzusprechen, dies in vielen Fällen ohne eine wesentliche Überwachung und Kontrolle. Die Möglichkeit von Stauungen und Überbuchung von Ressourcen kann jedoch aufgrund der statistischen Natur von Ressource-Sharing entweder auf der Netzwerk- oder der Rechenebene nicht perfekt organisiert werden.
  • Maximierte Ressourcenverwendung und garantierte Servicequalität basierend auf antizipierten Nutzungsmustern und unter Berücksichtigung der erwarteten Verfügbarkeit von Ressourcen (Rechenleistung, Speicher und Netzwerk) zur gemeinsamen Verwendung mit anderen Anwendungen ist von signifikantem Interesse für die Besitzer von Cloud-Infrastrukturen. Dies kann durch die Integration von Rechenressourcen und Netzwerkressourcen in einer einheitlichen Infrastruktur erzielt werden, die verwendet werden kann, um unterschiedliche, verteilte Anwendungen zu betreiben, und eine vorhersagbare Garantie der Servicequalität für Cloud Computing-Anwendungen und geeignete Services für kritische Anwendungen über eine Cloud Computing-Infrastruktur zur Verfügung zu stellen.
  • Im Folgenden wird die Erfindung unter Bezugnahme auf die Zeichnung beschrieben, worin die Figuren zeigen:
  • 1: Partitionierung von Computerressourcen
  • 2: Zeitgeplante Partitionen
  • 3: Zuweisung von CPU-Zeit an zeitgeplante und dynamisch geplante Partitionen
  • 4: Eine zeitgeplante Partition beendet die Ausführung früher
  • 5: Konversion von zeitgeplanten und dynamisch geplanten Partitionen
  • 6: Partitionierung von Netzwerkbandbreite mit TTEthernet
  • 7: Konversion von TT-, RC- und PE-Verkehrsklassen
  • 8: Virtualisierte vs. nicht virtualisierte Systeme
  • 9: Partielle Systemvirtualisierung vs. vollständige Systemvirtualisierung
  • 10: Integration von POS und TTEthernet
  • Partitionierung von Computerressourcen
  • Unterschiedliche Technologien gestatten die Partitionierung von Rechnerressourcen, sodass unterschiedliche Softwareanwendungen und selbst unterschiedliche Betriebssysteme in einem HW (Hardware) Computer ausgeführt werden können, ohne miteinander zu interferieren. Ein wesentlicher Zweck dieser Partitionierungstechnologien ist es, die Anzahl der Computerknoten in einem verteilten System zu reduzieren und gleichzeitig die HW-Ressourcennutzung zu optimieren. Die Partitionierung von Rechnerressourcen kann in zwei Kategorien gruppiert werden:
    • • Hypervisor – gestattet die Schaffung von virtuellen Maschinen aus einem physischen Computer und gestattet somit die Ausführung von unterschiedlichen Betriebssystemen in unterschiedlichen virtuellen Maschinen in einem einzelnen Computer.
    • • Partitionierende Betriebssysteme (POS) – die es gestatten, Speicher, CPU und I/O unter statisch zugeordneten Partitionen aufzuteilen. Die CPU-Zeit ist jeder Partitionierung entsprechend statischen Konfigurationsdaten in periodischer Weise zugeordnet und die Reihenfolge der CPU-Zuordnung zu verschiedenen Partitionen ist in den Konfigurationsdaten angegeben. Eine Partition kann eine oder mehrere Anwendungen/Aufgaben beherbergen.
  • Partitionierung von Rechenressourcen (1) garantiert, dass Anwendungen, die in unterschiedlichen Partitionierungen ausgeführt werden, sich nicht gegenseitig in unspezifischer Weise beeinflussen. Drei wesentliche Ressourcen werden der Partitionierung unterzogen: CPU-Zeit (Zeitpartitionierung), Computerspeicher (Platzpartitionierung – festgelegte Speicherplätze werden verschiedenen Partitionierungen zugewiesen) und Computer I/O (Zeitpartitionierung und Platzpartitionierung). Technologien zur Partitionierung von Rechenressourcen werden im Wesentlichen in zwei Marktsegmenten eingesetzt:
    • • In Datenzentren unter Verwendung virtueller Maschinen – z. B. VmWare ist ein bekanntes Beispiel – unterstützt I/O und Speicherpartitionen, aber keine strenge Zeitpartitionierung und
    • • bei kritischen, eingebetteten Anwendungen, z. B. VxWorks 653 oder Pike OS – unterstützt I/O Speicherpartitionen und zeitgeplante Partitions-Planung.
  • Partitionierte Betriebssysteme, wie VxWork 653 und Pike OS führen zeitgeplantes Scheduling bzw. Planen von Partitionen aus, wobei die CPU-Zeit nach statistischen Konfigurationsdaten (siehe 2) unterschiedlichen Partitionen zugeordnet ist. RAM Speicher ist bezüglich des Ortes partitioniert, d. h. unterschiedliche Speicherbereiche sind unterschiedlichen Partitionen zugeordnet. I/O kann unterschiedlichen Partitionen entweder zeitlich zugeordnet sein oder einer spezifischen Partition permanent zugeordnet sein.
  • Zeitgesteuerte Partitionen werden mit einer strikten Periodizität und in derselben Reihenfolge innerhalb einer Periode ausgeführt. Ein POS oder Hypervisor, der keine zeitgesteuerte Partitionierung durchführt, garantiert, dass die CPU-Zeit über ein Zeitintervall statistisch über die Partitionen verteilt wird. Die Entscheidung, eine Partitionierung auszuführen, wird zur Laufzeit (dynamisch) durch Verwendung getroffen, z. B. prioritätsbasiert nach den Round-Robin-Modell oder budget-based. Jede Partition hat ihren ursprünglich zugeordneten, physischen Speicherort, der bis zur nächsten Systemrekonfiguration unverändert bleibt. Mehrere Anwendungen oder Aufgaben können in einer Partition ausgeführt werden. Die Planung der Aufgaben innerhalb einer Partition hängt von POS ab, das in der Partition läuft. POS mit strikter Zeitpartitionierung sind für missions- und sicherheitskritische Anwendungen mit strikten Echtzeitzwängen geeignet. Die dynamisch geplanten Partitionen (nicht zeitgeplant) eines POS gestatten die Ausführung von Anwendungen mit eher lockeren Zeitzwängen (keine Kontrollloops im Millisekundenbereich) auf derselben Hardwareplattform durch Zur-Verfügung-Stellen von statistischen QoS-Garantien.
  • In dieser Arbeit schlagen wir ein Verfahren zur Partitionierung von Rechnerressourcen vor, welches die Planung von dynamisch geplanten und zeitgesteuerten Partitionen in ein und demselben Computersystem gestatten. Zeitgeplante Partitionen werden periodisch geplant, mit einem konstanten Offset vom Start der Periode und einer maximalen Ausführungszeit. Während des Zeitintervalls, in dem keine zeitgeplanten Partitionen aktiv sind, werden dynamisch geplante Partitionen ausgeführt. Ein Beispiel der Ausführung von zeitgeplanten und dynamisch geplanten Partitionen ist in 3 angegeben. Zeitgeplante Partitionen umfassen die folgenden Konfigurationsdaten in Bezug auf die Zuordnung von CPU-Zeit: i) Periode, ii) Zeitoffset und iii) maximale Ausführungszeit.
  • Wenn eine zeitgeplante Partition (TDP) die periodische Ausführung von Anwendungen innerhalb der TDP vor der maximalen Ausführungszeit beendet hat oder die Anwendungen innerhalb der TDP leerlaufen, kann die TDP ein Signal an den Scheduler bzw. Planer senden, um ihn darüber zu informieren, dass die TDP leerläuft und der Scheduler kann dem CPU einer dynamisch geplanten Partition (DP) zuweisen.
  • Ein Überblick über den Mechanismus zur Planung von dynamisch geplanten und zeitgeplanten Partitionen in ein und demselben Computersystem ist in 5 gezeigt.
  • Computernetzwerke und Virtualisierung von Netzwerkservices
  • Für zeit-, missions- und sicherheitskritische Anwendungen wird ein vorhersagbares Kommunikationsnetzwerk benötigt, welches entweder statistische oder deterministische QoS-Garantien bietet. Vorhersagbare Echtzeitkommunikationssysteme garantieren eine Nachrichtenübermittlung innerhalb einer konstanten Übertragungsverzögerung und einen geringen und beschränkten Jitter.
  • Ethernet ist eine frame-basierte Computernetzwerktechnologie für Local Area Networks (LAN) und es ist die am weitesten verbreitete Kommunikationstechnologie. Aufgrund der offenen Natur von Ethernet ist es schwierig, beschränkte Übertragungsverzögerungen in Systemen zu garantieren, die Standard-Ethernetnetzwerke verwenden. Die Dauer der Nachrichtenübertragung über das Standard-Ethernetnetzwerk hängt von den Charakteristika des Netzwerks und der Netzwerkbelastung (Traffic bzw. Verkehr) ab, was von der Anzahl und der Art der verteilten Anwendungen im System abhängt. Eine solche Technologie ist geeignet, um flexible Kommunikationsservices für Anwendungen, die keine stringenten Zeitzwänge haben, zur Verfügung zu stellen.
  • Bei Computernetzwerken unterscheiden wir zwischen zwei unterschiedlichen Szenarios: kooperative Sender und konkurrierende Sender. Wenn Sender konkurrieren (so wie in Standard-Ethernet [2]), gibt es immer die Möglichkeit, dass zwei oder mehrere Nachrichten gleichzeitig an einen einzelnen Sender gesendet werden. Um diesen Konflikt zu lösen, wird eine Rückstaukontrolle des Flusses verwendet, entweder CSMA/CD (dies wird gewählt beim bus-basierten alten Ethernet. [3]) oder das Speichern der Nachricht innerhalb des Netzwerks und das Senden von Pause Frames an den Sender (dies wird bei switched Ethernet gewählt). Beide Alternativen bringen einen erhöhten Nachrichtenübertragungsjitter mit sich, was aus Sicht der Echtzeitleistung für vorhersagbare Anwendungen unzufriedenstellend sein kann, kann jedoch auch zu Situationen führen, in denen die verlustfreie Kommunikation gefährdet wird.
  • Bei vorhersagbaren Computeranwendungen müssen die Sender im Computernetzwerk kooperieren, um Konflikte zu vermeiden. Diese Kooperation kann durch Koordination unter Bezugnahme auf einen globalen Blick auf die Zeit und den Systemstatus erreicht werden.
  • Da Ethernet eine gut etablierte Netzwerktopologie darstellt, gibt es viele Ansätze, die versuchen, Ethernet in einer solchen Weise anzupassen, dass es für Anwendungen verwendet werden kann, bei denen zeitliche Garantien notwendig sind [1, 2, 3, 4, 5]. Diese Lösungen verwenden das Konzept der kooperativen Sender, um konstante Übertragungsverzögerungen zu garantieren. TTEthernet [6] ist eine Kommunikationstechnologie, die vorhersagbare Services bietet und es konkurrierenden Sendern gestattet, mit kooperativen Sender in demselben Netzwerk zu koexistieren und gleichzeitig die zeitliche Vorhersagbarkeit des Verkehrs zwischen den kooperativen Sendern zu erhalten. TTEthernet gestattet die nahtlose Integration von kompetitiven Verkehr in ein und demselben Netzwerk ohne Interferenz mit dem kooperativen Verkehr.
  • TTEthernet unterstützt die zeitgesteuerte (TT) Art von Traffic bzw. Verkehr, wobei Frames periodisch gesendet werden und das Sendeereignis einer Nachricht durch den Scheduler bezüglich der globalen Zeit spezifiziert wird. Der Plan kann entweder statisch oder dynamisch sein. Der statische Scheduler bzw. Planer wird off-line ausgeführt und die Konfigurationsdaten werden generiert und in die Kommunikationskomponenten geladen. Dynamische Konfiguration kann auf zwei Arten durchgeführt werden:
    • i) Ein zentraler, dynamischer Scheduler kann in einem oder mehreren Rechnern innerhalb des Netzwerks vorliegen und Steuerbefehle an die Kommunikationskomponenten senden, um den Plan dynamisch zu ändern. Der zentrale, dynamische Scheduler hat vollständigen Einblick in den Plan im Netzwerk sowie in die gegenwärtige Ressourcenausnützung für den kritischen Traffic.
    • ii) Kommunikationskomponenten, die Ressourcenanfragen entlang einer Route aussenden – ein Protokoll zur Reservierung von Ressourcen ist auf Netzwerkebene implementiert und der Plan wird periodisch erneuert. Jede Netzwerkkomponente entlang der Route kann die Anfrage annehmen/ablehnen. Die Erneuerung wird vorgenommen nachdem alle Komponenten entlang der Route die Anfrage zur Reservierung von Kommunikationsressourcen angenommen haben.
  • Für die TT Traffic Klasse gibt es eine garantierte End-to-End Nachrichtenübertragungszeit und der Jitter ist relativ klein (Jitter << Latenz) und beschränkt. Mittels der TT Traffic Klasse kann das Computernetzwerk partitioniert werden und mittels Partitionierung unterstützt die TT Traffic Klasse das Konzept der Virtualisierung von verteilten Rechner- und Netzwerkressourcen. In einem virtualisierten Netzwerk können die physischen Netzwerkressourcen logisch in unterschiedliche Teile geteilt werden, die als virtuelle Links (VL) bezeichnet werden und diese können als Modell zur Entwicklung von Anwendungen unabhängig voneinander verwendet werden.
  • Ein virtueller Link kann logisch als ein separates Netzwerk betrachtet werden, dass zwei oder mehrere Komponenten verbindet. Die Virtualisierung von Netzwerkservices kann mit jedem zeitgesteuerten Computernetzwerk implementiert werden, da durch zeitgesteuerten Betrieb kein virtueller Link den Betrieb und das Timing der anderen virtuellen Links beeinflussen kann und die End-to-End Latenzzeit unabhängig von der Verkehrbelastung ist.
  • TTEthernet unterscheidet zwei Arten von VLs:
    • • geplanter VL – im Zusammenhang mit der (TT) Traffic Klasse, wobei ein Time Slot für einen virtuellen Link reserviert ist,
    • • konfigurierter VL – im Zusammenhang mit einer Durchsatz-gebundenen Traffic Klasse, die eine reservierte Bandbreite für einen virtuellen Link entsprechend einer statischen Konfiguration hat.
  • Bei der RC Traffic Klasse wird der virtuelle Link durch Reservierung einer spezifischen Bandbreite und durch Beeinflussung des Traffic, um die Menge des von einem Knotenpunkt übermittelten Verkehrs zu limitieren, definiert, um die Zeit anzugeben, zu der die Nachricht innerhalb eines virtuellen Links (VL) zu senden ist.
  • Parallel zu den TT und RC Traffic Klassen unterstützt TTEthernet die Standard Ethernet Traffic Klasse, die als best-effort (BE) Traffic Klasse bezeichnet wird, und die die verfügbare Bandbreite nutzt, wenn das physische Kommunikationsmedium frei von den TT und RC Traffic Klassen ist. Die BE Traffic Klasse bietet keine Zeitgarantie (übrige Ressourcen von TT werden verwendet). Da Standard Ethernet Traffic in jenen Zeitintervallen übermittelt wird, in denen keine virtuellen Links aktiv sind, kann diese Traffic Klasse Anwendungen zugeordnet werden, die Flexibilität in der Bandbreite erfordern und keine strikten QoS-Anforderungen stellen.
  • Der geplante VL bietet deterministische Latenzzeitgarantien mit kleinem und beschränktem Jitter (μs oder weniger) unabhängig von der Bandbreitennutzung. TT-VLs können ihre Zeitplanungseigenschaften nicht gegenseitig beeinflussen, was die Ressourcenzuordnung vereinfacht und einen deterministischen Betrieb ermöglicht. Die Zugabe eines planbaren TT-VL zu einem existierenden System beeinflusst nicht die Zeitplanungseigenschaften von anderen TT-VLs.
  • Der konfigurierte VL bietet statistische Latenzzeitgarantien mit beschränkter End-to-End Latenz und beschränktem Jitter. Im Vergleich zu den TT-VL ist der Jitter relativ groß (Jitter > Mindestübertragungslatenz) und hängt von der Netzwerkbelastung ab.
  • Der geplante VL, der konfigurierte VL und best-effort Traffic haben separate Speicherpuffer an den Switches und Endsystemen. Dies gestattet die komplette Partitionierung des Kommunikationsnetzwerks, nicht nur hinsichtlich der Zeit, sondern auch hinsichtlich des Orts (Speicher).
  • Integration von Rechenpartitionierungstechnologien und Netzwerke mit Virtualisierungsservice
  • In verteilten Computerarchitekturen ist das System derart ausgelegt, dass eine Anwendung/Funktion in einem Computer gestartet wird, und eine Anwendung über mehrere Computer verteilt wird. Die linke Seite von 8 zeigt ein Beispiel eines verteilten Computersystems, worin mehrere verteilte Anwendungen ausgeführt werden und unterschiedliche Aufgaben verschiedener Anwendungen in einem Computerknoten ausgeführt werden. Jedoch kann ohne die Virtualisierung von Computern keine Garantie hinsichtlich der Zuordnung von Computerressourcen zu verschiedenen Anwendungen gegeben werden und deshalb können keine QoS-Garantien gegeben werden, da verschiedene Anwendungen um Computerressourcen konkurrieren und Computerressourcen auf best-effort Basis oder einer anderen stochastischen Zuordnungspolitik zugeordnet werden.
  • Auf der rechten Seite von 8 ist eine integrierte Architektur gezeigt, die die Computerknoten virtualisiert und mehrere Anwendungen werden in einem Computerknoten, jedoch in unterschiedlichen Partitionen ausgeführt. Durch die Virtualisierung weisen die partitionierten Betriebssysteme den angegebenen Partitionierungen Computerressourcen zu und deshalb können QoS-Garantien im lokalen Computer gegeben werden, da die Partitionen feste, zugeordnete Ressourcen haben. Darüber hinaus verhindert die Partitionierung, dass eine Anwendung in einer Partition die Anwendung in einer anderen Partition beeinflusst. Die Anwendungen, die in den Partitionierungen ausgeführt werden, konkurrieren in diesem Fall nicht um Rechnerressourcen (da sie getrennt sind), sie werden jedoch um Kommunikationsressourcen konkurrieren.
  • In dieser Arbeit schlagen wir die Entwicklung eines verteilten Computersystems vor, das aus einem Satz von physischen Computern besteht, die durch ein Netzwerk verbunden sind, welches die Virtualisierung von Kommunikationsservices wie TTEthernet unterstützt, wobei einige oder alle Computer ein POS/Hypervisor betreiben können, das die Anwendungen unterschiedlichen Partitionen zuweisen kann. Ein Computer kann eine oder mehrere Partitionen ausführen. Eine Anwendung kann einer oder mehreren Partitionen in einem oder mehreren Computer zugewiesen werden. Einer oder mehrere VLs können einer Anwendung zugewiesen sein. Wenn kein VL einer Anwendung zugewiesen ist, wird die Applikation als nicht kritisch eingestuft und wird Standard Ethernet Traffic verwenden. Kritische Anwendungen haben einen oder mehrere VLs. VLs werden zusammen mit der geplanten Traffic Klasse, die fixe Sende- und Empfangszeiten hat, oder mit der konfigurierten Traffic Klasse eingesetzt, die statistische Bandbreitenbeschränkungen für die Kommunikation zwischen einem Sender und einem oder mehr Empfängern hat. Das Netzwerk bietet eine Zeitbasis (Wanduhr) für Rechnerressourcen und gestattet die Synchronisierung der Ausführung der Partitionierung mit dem Kommunikationsplan.
  • Das verteilte Computersystem soll einen Scheduler bzw. Planer umfassen (der repliziert werden kann, um einen Fehler an einem einzelnen Punkt zu verhindern), der in der Lage ist, Anfragen zur Partitionierung und die VL-Zuweisung für bestimmte Anweisungen zu verarbeiten oder diese zurückzuweisen, wenn die nachgefragten Ressourcen für eine neue Partition innerhalb des physischen Computers und Netzwerksegments nicht mit den verfügbaren Ressourcen übereinstimmen. Der Scheduler ist in der Lage, Partitionen Computerressourcen zuzuweisen und VLs Applikationen zuzuteilen, die in der Partition laufen. Der Standard Ethernet Traffic kann auch von nicht kritischen Anwendungen, die in irgendeiner Partition laufen, verwendet werden. Die Netzwerkressourcen, die nicht vom VL verwendet werden, können für Anwendungen verwendet werden, die den Standard Ethernet Traffic verwenden.
  • Verteilte Anwendungen bestehen aus einer oder mehreren Partitionen, die Daten austauschen und auf einer oder mehreren Computerressourcen laufen. Eine Partition kann eine oder mehrere Anwendungsaufgaben ausführen. Um den Austausch von Daten mit kleinstmöglicher End-to-End Übertragungslatenz zu garantieren, sollen die Partitionen, die Anwendungsaufgaben zum Datenaustausch ausführen (bezeichnet als I/O-Aufgaben, die das Lesen/Schreiben von Anwendungsdaten ausführen), im Kommunikationsplan mit beschränkter Präzision angeordnet sein. Diese Anordnung ist nicht nötig für Computer, die keine Anforderungen hinsichtlich der minimalen End-to-End Übertragungslatenz haben. In diesem Fall ist aufgrund der TT-Kommunikation die schlechteste End-to-End Latenz gleich 2 Kommunikationszyklen. Um diese Verzögerung abzuschwächen, kann RC Traffic anstelle von TT Traffic verwendet werden.
  • Die Integration von virtualisierten Computern mit virtualisierten Kommunikationsnetzwerken kann folgendermaßen erreicht werden:
    • • Durch Kommunikationsnetzwerke, die die Partitionierung von Netzwerkressourcen durch Trennung von kritischem und nicht kritischem Traffic in einem Ethernet-Netzwerk gestatten. Das Netzwerk stellt den Rechnerressourcen, die verteilte Anwendungen ausführen, eine Zeitbasis (Wanduhr oder Beat) zur Verfügung. Ein Satz von Computern hat ein Mittel zum Erreichen und Aufrechterhalten der Uhrensynchronisation im Netzwerk.
    • • Anwendungsaufgaben laufen in Partitionen auf einem einzelnen oder verschiedenen verteilten Computern, die durch ein Kommunikationsnetzwerk verbunden sind, welches die Partitionierung von Kommunikationsressourcen unterstützt.
    • • Verteilte Anwendungen bestehen aus zwei oder mehr Partitionen, die Daten austauschen und die auf einer oder mehreren Rechnerressourcen laufen (Server, Computer).
    • • Partitionen, die Anwendungsaufgaben ausführen, die zum Austausch von real-time Daten ausführen, können mit begrenzter Präzision in einem Kommunikationsplan aufgereiht werden, sodass sie den Austausch von Daten mit kleinstmöglicher End-to-End Übertragungslatenz garantieren können. Diese Anordnung ist nicht nötig für jene Computer, die keine Anforderungszwänge für die minimale End-to-End Übertragungslatenz haben. In diesem Fall kann RC Kommunikation angewendet werden.
    • • Verteilte Anwendungen werden basierend auf der Dauer der Partitionierung und I/O-Aufgabenposition, die einander innerhalb der Partition entsprechen, geplant.
    • • Kommunikationsressourcen, die nicht virtualisiert sind, können von Anwendungen verwendet werden, die keine QoS-Garantien erfordern.
  • Somit betrifft die Erfindung ein Verfahren zum Bereitstellen einer garantierten Servicequalität in verteilten Computerplattformen zur Ausführung von verteilten Anwendungen durch die Kombination von:
    • i) einem partitionierten Betriebssystem (POS) oder einem Hypervisor (101) ausgeführt auf zumindest zwei Computer (300, 301); wobei das genannte POS/Hypervisor CPU-, Speicher- und I/O Hardwareressourcen den Computerpartitionen in den genannten Computern zuweist; wobei die genannten Computer in der Lage sind, unterschiedliche Computerpartitionen (104, 105, 106) mit unterschiedlichen Anwendungsaufgaben innerhalb einer genannten Computerpartition auszuführen oder unterschiedliche Betriebssysteme (im Falle eines Hypervisors) auszuführen; wobei das genannte POS/Hypervisor sicherstellt, dass die Anwendungsaufgaben, die in unterschiedlichen Partitionen in ein und demselben genannten Computer ausgeführt werden, ihre zugeordneten Hardwareressourcen bekommen; wobei das genannte POS/Hypervisor eine zeitgeplante Planung für eine Untergruppe von Computerpartitionen basierend auf einer gegebenen Konfiguration (136) ausführt, und
    • ii) Mittel, z. B. Netzwerkkommunikationstechnologie, zur Partitionierung von Ethernet-Kommunikationsressourcen und Schaffung von virtualisierten Netzwerken aus einem physischen Netzwerk, wobei Ethernet-Kommunikation von Endsystemen und Switches ausgeführt wird; wobei die Bandbreite der Ethernet-Kommunikation in virtuelle Links (VL) partitioniert ist und für die Kommunikation zwischen einer oder mehreren Computerpartitionierungen zugeordnet ist; wobei ein virtueller Link ein Kommunikationspfad zwischen einem Sender und einem oder mehreren Empfängern ist, und ein virtueller Link (VL) entweder:
    • a) ein konfigurierter VL (202) – definierend einen Sender, einen Satz von Empfängern, VL-Priorität und Bandbreitenreservierung; wobei die Netzwerkkomponenten sicherstellen, dass die Sender die genannte konfigurierte Bandbreite für Sendeframes nicht überschreiten und Switches diese Bandbreitenzwänge durchsetzen, durch Sicherstellen konfigurierter Bandbreitenzuordnung und weiters Bieten von wahrscheinlichkeitsbasierten Latenzgarantien, wobei die Kommunikationskomponenten (die genannten Switches und Endsysteme) getrennte Speicherpuffer für konfigurierte VL (211) enthalten, oder
    • b) ein geplanter VL (201) sein kann – definierend einen Sender, einen Satz von Empfängern, eine maximale Framegröße, eine Nachrichtenperiode, eine Nachrichtensendezeit verzögert in Bezug auf den Start der genannten Periode; wobei der genannte geplante VL den Mechanismus zum zeitlichen Planen von Frames (214) verwendet; wobei die genannten Netzwerkkomponenten konfiguriert werden können, um eine Übertragung eines nicht geplanten Frames entlang eines Übertragungspfads zu einem spezifizierten Zeitintervall vor der Übertragung eines genannten geplanten Frames zu verzögern, und die Übertragung eines geplanten Frames nicht zu verzögern, und die Kommunikationslinks frei von nicht geplantem Traffic zu halten und somit deterministische End-to-End Latenz und geringen und begrenzten Jitter zur Verfügung zu stellen; wobei die Kommunikationskomponenten (die genannten Switches und Endsysteme) getrennte Speicherpuffer für geplante VL (216) enthalten; wobei Bandbreite, die nicht einem konfigurierten VL oder einem geplanten VL zugeordnet ist für best-effort Ethernet-Kommunikation (203) für nicht geplante/konfigurierte Frames verwendet werden kann und nicht geplante/konfigurierte Frames von den Netzwerkkomponenten mit einer geringen Priorität verarbeitet werden; wobei die Kommunikationskomponenten (die genannten Switches und Endysteme) separate Speicherpuffer für den best-effort Traffic (212) enthalten; wobei die genannte Netzwerkkommunikationstechnologie einen fehlertoleranten Uhrensynchronisationsmechanismus verwendet, der eine präzise Systemzeit (213) für die genannten Netzwerkkomponenten und die genannten Computer ermöglicht, was eine Referenz zur Synchronisierung des Anfangs eines Planintervalls für die Ausführung eines Kommunikationsplans bietet, wobei die genannte Information zumindest einen geplanten VL definiert; wobei die genannte Netzwerkkommunikationstechnologie ein Service zum Anordnen von Ausführungszeit des mit dem Netzwerk verbundenen Computers den Partitionen zur Verfügung stellt, entweder entsprechend einem periodischen Kommunikationsplan oder entsprechend der genannten Systemzeit; wobei eine genannte Anwendungsaufgabe Daten entweder unter Verwendung des genannten konfigurierten VL oder unter Verwendung des genannten geplanten VL senden kann.
  • Es ist von Vorteil, wenn die genannten Anwendungsaufgaben, die in den genannten Computerpartitionen ausgeführt werden, auch die Erlaubnis haben, die Kommunikationsbandbreite (203) zu nutzen, die keinen konfigurierten oder geplanten VL zugeordnet ist.
  • Es ist von Vorteil, wenn ein Verifizierungsverfahren zur Verfügung gestellt wird, um zu garantieren, dass zugeordnete geplante und konfigurierte VLs und zugeordnete zeitgeplante Computerpartitionen die verfügbaren physischen Ressourcen des Kommunikationsnetzwerks und der Computerknoten nicht übersteigen.
  • Es ist von Vorteil, wenn unterschiedliche geplante VLs zur Verfügung gestellt werden, die die Kommunikation von zwei oder mehr Anwendungsaufgaben, die in unterschiedlichen Computerpartitionen innerhalb des genannten verteilten Computersystems ausgeführt werden, ermöglichen, wobei eine Frameübertragungszeitinformation mit einem geplanten VL assoziiert ist und in den Konfigurationsdaten innerhalb jeder Netzwerkkomponente enthalten ist, wobei die genannte Frameübertragungszeitinformation eine Frameübertragungszeit angibt, zu der ein Kommunikationscontroller oder ein Switch den genannten Frame, der den genannten VL zugeordnet ist, übermitteln darf; und wobei der genannte Switch den genannten Frame von einem Eingangsport an einen Ausgangsport basierend auf geplanter Frameweiterleitungszeit weiterleitet.
  • Es ist von Vorteil, wenn unterschiedliche VLs zur Verfügung gestellt werden, welche eine Kommunikation von zwei oder mehr Aufgaben, die in unterschiedlichen Computerpartitionen innerhalb des genannten verteilten Computersystems ermöglicht, wobei der genannte konfigurierte VL eine maximale Bandbreite angibt, die ein sendender Kommunikationscontroller mit Frames, die den genannten VL zugeordnet sind, verwenden kann.
  • Es ist von Vorteil, dass das partitionierende Betriebssystem zeitgeplante Computerpartitionen (120, 122) und nicht zeitgeplante Partitionen (121, 123) enthält; wobei die genannten zeitgeplanten Partitionen periodisch hinsichtlich der Zeit (132) geplant werden, entsprechend einer bestimmten Konfiguration (136); wobei die CPU-Ressourcen der genannten Zeitpartition, die nicht zu jeder Zeit der Ausführung innerhalb einer Periode verwendet werden, von anderen Partitionen verwendet werden können, die dynamisch von den genannten POS/Hypervisor geplant werden.
  • Es ist von Vorteil, wen Mittel zur Verfügung gestellt sind zur dynamischen Zuordnung neuer VLs in dem genannten Kommunikationsnetzwerk, bestehend aus einer zentralisierten Schedulingkomponente des genannten verteilten Computersystems, welches den gesamten Blick auf das System aller VL-Zuweisungen hat und in der Lage ist, die Anfragen für neue VL-Zuweisungen zu bearbeiten, wobei das genannte Bearbeiten den Mechanismus zum Ablehnen oder Annehmen einer Anfrage für eine neue VL-Zuweisung umfasst, und im Falle der Annahme umfasst es den Mechanismus zum Aktualisieren der Konfiguration der Netzwerkkomponenten, die von dieser Änderung betroffen sind; wobei der genannte neue VL konfiguriert werden kann, um nicht die Bandbreite bereits zugeordneter VLs zu benutzen und die Frame Übertragungszeiten der genannten geplanten VLs zu beeinflussen.
  • Es ist von Vorteil, wenn Mittel zur Verfügung gestellt werden zum dynamischen Zuweisen neuer zeitgeplanter und dynamisch geplanter Computerpartitionen in einem oder mehreren Computerknoten des genannten verteilten Computersystems und zum Zuordnen des bestehenden VL zu der neu zugeordneten zeitgeplanten oder dynamisch konfigurierten Computerpartition; wobei die neuen Computerpartition in irgendeinem der Computerknoten die bereits existierenden zeitgeplanten Partitionen nicht beeinflusst.
  • Es ist von Vorteil, wenn Mittel zur Verfügung gestellt werden zum dynamischen Freigeben von bestehenden VLs in dem genannten Kommunikationsnetzwerk, bestehend aus einer zentralisierten Schedulingkomponente des genannten verteilten Computersystems, welches den gesamten Blick auf das System aller VL-Zuweisungen hat und in der Lage ist, die Anfragen für neue VL-Zuweisungen zu bearbeiten, wobei das genannte Bearbeiten den Mechanismus zum Ablehnen oder Annehmen einer Anfrage für eine neue VL-Zuweisung umfasst, und im Falle der Annahme umfasst es den Mechanismus zum Aktualisieren der Konfiguration der Netzwerkkomponenten, die von dieser Änderung betroffen sind.
  • Es ist von Vorteil, wenn Mittel zur Verfügung gestellt sind zum dynamischen Freigeben bestehender Computerpartitionen in einem oder mehreren Computerknoten des genannten verteilten Computersystems.
  • Es ist von Vorteil, wenn Mittel zur Verfügung gestellt sind zur Überwachung des Gesundheitszustands jeder Computerpartition, wobei Computerknoten periodisch diagnostische Frames enthaltend den Gesundheitszustand der Partitionen und andere relevante Statusinformationen senden, weiters umfassend einen Mechanismus zum Überwachen des Status aller Switches, wobei die Switches periodisch diagnostische Frames enthaltend die Switch Port/Link Gesundheitszustandsinformation, den Pufferstatus und Port Frame statistische Information.
  • Die Erfindung betrifft weiters einen Computer zum Ausführen des oben genannten Verfahrens.
  • Die Erfindung betrifft weiters eine Recheninfrastruktur zum Ausführen des oben genannten Verfahrens.
  • Quellenangaben
    • [1] C. Venkatramani and T. Chiueh, .Supporting Real-Time Traffic on Ethernet., in Real-Time Systems Symposium (RTSS), Dec. 1994, pp. 282.286.
    • [2] S.-K. Kweon and K. G. Shin, .Achieving Real-Time Communication over Ethernet with Adaptive Traffic Smoothing., in Sixth IEEE Real-Time Technology and Applications Symposium, May 2000, pp. 90.100.
    • [3] J.-D. Decotignie, .Ethernet-Based Real-Time and Industrial Communications., Proceedings of the IEEE, vol. 93, no. 6, pp. 1102.1117, June 2005.
    • [4] M. Felser, .Real-Time Ethernet-Industry Prospective., Proceedings of the IEEE, vol. 93, no. 6, pp. 1118.1129, June 2005.
    • [5] P. G. P. Pedreiras, L. Almeida, .The FTT-Ethernet Protocol: Merging Flexibility, Timeliness and Efficiency., in 14th Euromicro Conference on Real-Time Systems, June 2002, pp. 134.142.
    • [6] TTTech, TTEthernet Specification. Available at www.tttech.com 2009

Claims (13)

  1. Verfahren zum Bereitstellen einer garantierten Servicequalität in verteilten Computerplattformen zur Ausführung von verteilten Anwendungen durch die Kombination von: i) einem partitionierten Betriebssystem (POS) oder einem Hypervisor (101) ausgeführt auf zumindest zwei Computer (300, 301); wobei das genannte POS/Hypervisor CPU-, Speicher- und I/O Hardwareressourcen den Computerpartitionen in den genannten Computern zuweist; wobei die genannten Computer in der Lage sind, unterschiedliche Computerpartitionen (104, 105, 106) mit unterschiedlichen Anwendungsaufgaben innerhalb einer genannten Computerpartition auszuführen oder unterschiedliche Betriebssysteme (im Falle eines Hypervisors) auszuführen; wobei das genannte POS/Hypervisor sicherstellt, dass die Anwendungsaufgaben, die in unterschiedlichen Partitionen in ein und demselben genannten Computer ausgeführt werden, ihre zugeordneten Hardwareressourcen bekommen; wobei das genannte POS/Hypervisor eine zeitgeplante Planung für eine Untergruppe von Computerpartitionen basierend auf einer gegebenen Konfiguration (136) ausführt, und ii) Mittel, z. B. Netzwerkkommunikationstechnologie, zur Partitionierung von Ethernet-Kommunikationsressourcen und Schaffung von virtualisierten Netzwerken aus einem physischen Netzwerk, wobei Ethernet-Kommunikation von Endsystemen und Switches ausgeführt wird; wobei die Bandbreite der Ethernet-Kommunikation in virtuelle Links (VL) partitioniert ist und für die Kommunikation zwischen einer oder mehreren Computerpartitionierungen zugeordnet ist; wobei ein virtueller Link ein Kommunikationspfad zwischen einem Sender und einem oder mehreren Empfängern ist, und ein virtueller Link (VL) entweder: a) ein konfigurierter VL (202) – definierend einen Sender, einen Satz von Empfängern, VL-Priorität und Bandbreitenreservierung; wobei die Netzwerkkomponenten sicherstellen, dass die Sender die genannte konfigurierte Bandbreite für Sendeframes nicht überschreiten und Switches diese Bandbreitenzwänge durchsetzen, durch Sicherstellen konfigurierter Bandbreitenzuordnung und weiters Bieten von wahrscheinlichkeitsbasierten Latenzgarantien, wobei die Kommunikationskomponenten (die genannten Switches und Endsysteme) getrennte Speicherpuffer für konfigurierte VL (211) enthalten, oder b) ein geplanter VL (201) sein kann – definierend einen Sender, einen Satz von Empfängern, eine maximale Framegröße, eine Nachrichtenperiode, eine Nachrichtensendezeit verzögert in Bezug auf den Start der genannten Periode; wobei der genannte geplante VL den Mechanismus zum zeitlichen Planen von Frames (214) verwendet; wobei die genannten Netzwerkkomponenten konfiguriert werden können, um eine Übertragung eines nicht geplanten Frames entlang eines Übertragungspfads zu einem spezifizierten Zeitintervall vor der Übertragung eines genannten geplanten Frames zu verzögern, und die Übertragung eines geplanten Frames nicht zu verzögern, und die Kommunikationslinks frei von nicht geplantem Traffic zu halten und somit deterministische End-to-End Latenz und geringen und begrenzten Jitter zur Verfügung zu stellen; wobei die Kommunikationskomponenten (die genannten Switches und Endsysteme) getrennte Speicherpuffer für geplante VL (216) enthalten; wobei Bandbreite, die nicht einem konfigurierten VL oder einem geplanten VL zugeordnet ist für best-effort Ethernet-Kommunikation (203) für nicht geplante/konfigurierte Frames verwendet werden kann und nicht geplante/konfigurierte Frames von den Netzwerkkomponenten mit einer geringen Priorität verarbeitet werden; wobei die Kommunikationskomponenten (die genannten Switches und Endysteme) separate Speicherpuffer für den best-effort Traffic (212) enthalten; wobei die genannte Netzwerkkommunikationstechnologie einen fehlertoleranten Uhrensynchronisationsmechanismus verwendet, der eine präzise Systemzeit (213) für die genannten Netzwerkkomponenten und die genannten Computer ermöglicht, was eine Referenz zur Synchronisierung des Anfangs eines Planintervalls für die Ausführung eines Kommunikationsplans bietet, wobei die genannte Information zumindest einen geplanten VL definiert; wobei die genannte Netzwerkkommunikationstechnologie ein Service zum Anordnen von Ausführungszeit des mit dem Netzwerk verbundenen Computers den Partitionen zur Verfügung stellt, entweder entsprechend einem periodischen Kommunikationsplan oder entsprechend der genannten Systemzeit; wobei eine genannte Anwendungsaufgabe Daten entweder unter Verwendung des genannten konfigurierten VL oder unter Verwendung des genannten geplanten VL senden kann.
  2. Verfahren nach Anspruch 1, wobei die genannten Anwendungsaufgaben, die in den genannten Computerpartitionen ausgeführt werden, auch die Erlaubnis haben, die Kommunikationsbandbreite (203) zu nutzen, die keinen konfigurierten oder geplanten VL zugeordnet ist.
  3. Verfahren nach Anspruch 1, umfassend ein Verifizierungsverfahren, um zu garantieren, dass zugeordnete geplante und konfigurierte VLs und zugeordnete zeitgeplante Computerpartitionen die verfügbaren physischen Ressourcen des Kommunikationsnetzwerks und der Computerknoten nicht übersteigen.
  4. Verfahren nach Anspruch 3, umfassend unterschiedliche geplante VLs, die die Kommunikation von zwei oder mehr Anwendungsaufgaben, die in unterschiedlichen Computerpartitionen innerhalb des genannten verteilten Computersystems ausgeführt werden, ermöglichen, wobei eine Frameübertragungszeitinformation mit einem geplanten VL assoziiert ist und in den Konfigurationsdaten innerhalb jeder Netzwerkkomponente enthalten ist, wobei die genannte Frameübertragungszeitinformation eine Frameübertragungszeit angibt, zu der ein Kommunikationscontroller oder ein Switch den genannten Frame, der den genannten VL zugeordnet ist, übermitteln darf; und wobei der genannte Switch den genannten Frame von einem Eingangsport an einen Ausgangsport basierend auf geplanter Frameweiterleitungszeit weiterleitet.
  5. Verfahren nach Anspruch 3, umfassend unterschiedliche VLs, welche eine Kommunikation von zwei oder mehr Aufgaben, die in unterschiedlichen Computerpartitionen innerhalb des genannten verteilten Computersystems ermöglicht, wobei der genannte konfigurierte VL eine maximale Bandbreite angibt, die ein sendender Kommunikationscontroller mit Frames, die den genannten VL zugeordnet sind, verwenden kann.
  6. Verfahren nach Anspruch 4 und 5, wobei das partitionierende Betriebssystem zeitgeplante Computerpartitionen (120, 122) und nicht zeitgeplante Partitionen (121, 123) enthält; wobei die genannten zeitgeplanten Partitionen periodisch hinsichtlich der Zeit (132) geplant werden, entsprechend einer bestimmten Konfiguration (136); wobei die CPU-Ressourcen der genannten Zeitpartition, die nicht zu jeder Zeit der Ausführung innerhalb einer Periode verwendet werden, von anderen Partitionen verwendet werden können, die dynamisch von den genannten POS/Hypervisor geplant werden.
  7. Verfahren nach Anspruch 4 und 5, wobei Mittel zur Verfügung gestellt sind zur dynamischen Zuordnung neuer VLs in dem genannten Kommunikationsnetzwerk, bestehend aus einer zentralisierten Schedulingkomponente des genannten verteilten Computersystems, welches den gesamten Blick auf das System aller VL-Zuweisungen hat und in der Lage ist, die Anfragen für neue VL-Zuweisungen zu bearbeiten, wobei das genannte Bearbeiten den Mechanismus zum Ablehnen oder Annehmen einer Anfrage für eine neue VL-Zuweisung umfasst, und im Falle der Annahme umfasst es den Mechanismus zum Aktualisieren der Konfiguration der Netzwerkkomponenten, die von dieser Änderung betroffen sind; wobei der genannte neue VL konfiguriert werden kann, um nicht die Bandbreite bereits zugeordneter VLs zu benutzen und die Frame Übertragungszeiten der genannten geplanten VLs zu beeinflussen.
  8. Verfahren nach Anspruch 6, wobei Mittel zur Verfügung gestellt werden zum dynamischen Zuweisen neuer zeitgeplanter und dynamisch geplanter Computerpartitionen in einem oder mehreren Computerknoten des genannten verteilten Computersystems und zum Zuordnen des bestehenden VL zu de neu zugeordneten zeitgeplanten oder dynamisch konfigurierten Computerpartition; wobei die neuen Computerpartition in irgendeinem der Computerknoten die bereits existierenden zeitgeplanten Partitionen nicht beeinflusst.
  9. Verfahren nach Anspruch 7, wobei Mittel zur Verfügung gestellt werden zum dynamischen Freigeben von bestehenden VLs in dem genannten Kommunikationsnetzwerk, bestehend aus einer zentralisierten Schedulingkomponente des genannten verteilten Computersystems, welches den gesamten Blick auf das System aller VL-Zuweisungen hat und in der Lage ist, die Anfragen für neue VL-Zuweisungen zu bearbeiten, wobei das genannte Bearbeiten den Mechanismus zum Ablehnen oder Annehmen einer Anfrage für eine neue VL-Zuweisung umfasst, und im Falle der Annahme umfasst es den Mechanismus zum Aktualisieren der Konfiguration der Netzwerkkomponenten, die von dieser Änderung betroffen sind.
  10. Verfahren nach Anspruch 8, wobei Mittel zur Verfügung gestellt sind zum dynamischen Freigeben bestehender Computerpartitionen in einem oder mehreren Computerknoten des genannten verteilten Computersystems.
  11. Verfahren nach Anspruch 5 und 6, wobei Mittel zur Verfügung gestellt sind zur Überwachung des Gesundheitszustands jeder Computerpartition, wobei Computerknoten periodisch diagnostische Frames enthaltend den Gesundheitszustand der Partitionen und andere relevante Statusinformationen senden, weiters umfassend einen Mechanismus zum Überwachen des Status aller Switches, wobei die Switches periodisch diagnostische Frames enthaltend die Switch Port/Link Gesundheitszustandsinformation, den Pufferstatus und Port Frame statistische Information.
  12. Computer zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 11.
  13. Recheninfrastruktur zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 11.
DE201211000946 2011-02-22 2012-02-22 Versehsagbares Rechnen in virtualisierten verteilten Computersystemen basierend auf der Partitionierung von Rechenleistung und Kommunikationsleistung Pending DE112012000946T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
ATA242/2011 2011-02-22
AT2422011 2011-02-22
ATA1823/2011 2011-12-12
AT18232011 2011-12-12
PCT/AT2012/050023 WO2012113007A1 (en) 2011-02-22 2012-02-22 Predictable computing in virtualizated distributed computer systems based on partitioning of computation and communication resources

Publications (1)

Publication Number Publication Date
DE112012000946T5 true DE112012000946T5 (de) 2013-11-21

Family

ID=45814318

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201211000946 Pending DE112012000946T5 (de) 2011-02-22 2012-02-22 Versehsagbares Rechnen in virtualisierten verteilten Computersystemen basierend auf der Partitionierung von Rechenleistung und Kommunikationsleistung

Country Status (3)

Country Link
US (1) US9158565B2 (de)
DE (1) DE112012000946T5 (de)
WO (1) WO2012113007A1 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098431B2 (en) * 2011-11-23 2015-08-04 Red Hat, Inc. USB redirection for interrupt transactions
US9077665B1 (en) * 2012-05-24 2015-07-07 Scale Computing, Inc. Transferring virtual machines and resource localization in a distributed fault-tolerant system
US9996481B2 (en) * 2012-06-21 2018-06-12 Saab Ab Dynamic memory access management
JP2014078214A (ja) * 2012-09-20 2014-05-01 Nec Corp スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム
US9992168B2 (en) 2013-01-31 2018-06-05 Bae Systems Plc Data transfer
US9430259B2 (en) 2013-03-15 2016-08-30 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
US9141416B2 (en) 2013-03-15 2015-09-22 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
US10389577B2 (en) 2013-08-14 2019-08-20 Centurylink Intellectual Property Llc Ethernet carrier group alarm (CGA)
DE102013218814A1 (de) * 2013-09-19 2015-03-19 Siemens Aktiengesellschaft Verfahren zum Betreiben eines sicherheitskritischen Systems
US9864623B2 (en) * 2013-11-21 2018-01-09 Centurylink Intellectual Property Llc Physical to virtual network transport function abstraction
WO2015100290A1 (en) * 2013-12-23 2015-07-02 Yost David Arthur System for intelligible audio conversation over unreliable digital transmission media
CN104793998B (zh) * 2014-01-20 2019-04-16 中兴通讯股份有限公司 终端系统资源管理方法及装置
US10110710B2 (en) 2014-04-03 2018-10-23 Centurylink Intellectual Property Llc System and method for implementing extension of customer LAN at provider network service point
US9948493B2 (en) 2014-04-03 2018-04-17 Centurylink Intellectual Property Llc Network functions virtualization interconnection gateway
US10225327B2 (en) 2014-08-13 2019-03-05 Centurylink Intellectual Property Llc Remoting application servers
US9898318B2 (en) 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
EP3097671B1 (de) * 2015-02-18 2021-05-19 Intel Corporation Verkehrsklassenarbitrierung auf grundlage von priorität und bandbreitenzuweisung
US10673978B2 (en) 2015-05-06 2020-06-02 Centurylink Intellectual Property Llc Method and system for implementing network experience shifting using shared objects
US10481938B2 (en) 2015-05-06 2019-11-19 Centurylink Intellectual Property Llc System and method for implementing network experience shifting
ES2552739B1 (es) * 2015-08-03 2016-07-04 Keysight Technologies Singapore (Holdings) Pte. Ltd. Sistema de Ejecución Determinista en Tiempo, Distribuida y Sincronizada para Aplicaciones de Control, Test y Medida
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
US10078528B2 (en) 2015-10-06 2018-09-18 Centurylink Intellectual Property Llc Virtual machine-to-port peripheral device driver for implementing communications between virtual machines and client devices
US10162684B2 (en) 2015-10-15 2018-12-25 International Business Machines Corporation CPU resource management in computer cluster
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10846117B1 (en) * 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10324797B2 (en) 2016-02-26 2019-06-18 Tttech Auto Ag Fault-tolerant system architecture for the control of a physical system, in particular a machine or a motor vehicle
CN105700961B (zh) * 2016-02-29 2019-03-08 华为技术有限公司 业务容器创建方法及装置
US11182187B2 (en) * 2018-04-17 2021-11-23 Red Hat Israel, Ltd. Dynamic network connectivity verification in distributed virtual environments
US11128531B2 (en) 2018-04-30 2021-09-21 Hewlett Packard Enterprise Development Lp Systems and methods for aggregate bandwidth and latency optimization
US10963314B2 (en) * 2019-07-31 2021-03-30 Servicenow, Inc. Discovery and mapping of a platform-as-a-service environment
US11451492B2 (en) * 2020-12-22 2022-09-20 Honeywell International Inc. Methods, systems, and apparatuses for enhanced parallelism of time-triggered ethernet traffic using interference-cognizant network scheduling

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428555A (en) * 1993-04-20 1995-06-27 Praxair, Inc. Facility and gas management system

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
C. Venkatramani and T. Chiueh, .Supporting Real-Time Traffic on Ethernet., in Real-Time Systems Symposium (RTSS), Dec. 1994, pp. 282.286
J.-D. Decotignie, .Ethernet-Based Real-Time and Industrial Communications., Proceedings of the IEEE, vol. 93, no. 6, pp. 1102.1117, June 2005
M. Felser, .Real-Time Ethernet-Industry Prospective., Proceedings of the IEEE, vol. 93, no. 6, pp. 1118.1129, June 2005
P. G. P. Pedreiras, L. Almeida, .The FTT-Ethernet Protocol: Merging Flexibility, Timeliness and Efficiency., in 14th Euromicro Conference on Real-Time Systems, June 2002, pp. 134.142
S.-K. Kweon and K. G. Shin, .Achieving Real-Time Communication over Ethernet with Adaptive Traffic Smoothing., in Sixth IEEE Real-Time Technology and Applications Symposium, May 2000, pp. 90.100
TTTech, TTEthernet Specification. Available at www.tttech.com 2009

Also Published As

Publication number Publication date
US20130332926A1 (en) 2013-12-12
WO2012113007A1 (en) 2012-08-30
US9158565B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
DE112012000946T5 (de) Versehsagbares Rechnen in virtualisierten verteilten Computersystemen basierend auf der Partitionierung von Rechenleistung und Kommunikationsleistung
US6345287B1 (en) Gang scheduling for resource allocation in a cluster computing environment
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
DE102015105884B4 (de) Rechenknoten und Verfahren zur Migration einer virtuellen Maschine, Rechenzentrummanager zur Migration virtueller Maschinen, Maschinenlesbares Speichermedium und Rechenvorrichtungen
EP2926505B1 (de) Schnittstellenvorrichtung und verfahren zum austauschen von nutzdaten
US6366945B1 (en) Flexible dynamic partitioning of resources in a cluster computing environment
CN107222531B (zh) 一种容器云资源调度方法
TWI763156B (zh) 異質叢集中之機器學習工作負載編排技術
CN109936604A (zh) 一种资源调度方法、装置和系统
US10560542B2 (en) Mechanism and method for communicating between a client and a server by accessing message data in a shared memory
US10425293B2 (en) Network resource allocation proposals
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
Jokanovic et al. Effective quality-of-service policy for capacity high-performance computing systems
DE112013000475B4 (de) Reservierungssystem für ein Ethernet-Netzwerk
Wided et al. A novel agent based load balancing model for maximizing resource utilization in grid computing
WO2020166423A1 (ja) リソース管理装置およびリソース管理方法
CN105095112A (zh) 控制缓存刷盘方法、装置及非易失性计算机可读存储介质
Tan et al. Multi-resource fair sharing for multiclass workflows
CN107529696B (zh) 一种存储资源访问控制方法及装置
KR101752699B1 (ko) 폭증 데이터 스트림 처리 방법 및 장치
KR20170094899A (ko) 컴퓨팅 리소스 관리 시스템 및 방법
Watashiba et al. An architectural design of a job management system leveraging software defined network
Arvind Protocols for distributed real-time systems
Nolte et al. Distributed real-time system design using CBS-based end-to-end scheduling
CN118055079A (zh) 一种实现虚拟化网络的确定性网络配置的方法及设备

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: TTTECH AUTO AG, AT

Free format text: FORMER OWNER: FTS COMPUTERTECHNIK GMBH, WIEN, AT

Owner name: TTTECH COMPUTERTECHNIK AG, AT

Free format text: FORMER OWNER: FTS COMPUTERTECHNIK GMBH, WIEN, AT

R082 Change of representative

Representative=s name: K & H BONAPAT PATENTANWAELTE KOCH VON BEHREN &, DE

Representative=s name: K & H BONAPAT PATENTANWAELTE KOCH - VON BEHREN, DE

R081 Change of applicant/patentee

Owner name: TTTECH AUTO AG, AT

Free format text: FORMER OWNER: TTTECH COMPUTERTECHNIK AG, WIEN, AT

R082 Change of representative

Representative=s name: K & H BONAPAT PATENTANWAELTE KOCH VON BEHREN &, DE