DE112012006642T5 - Bandbreitengarantie und Arbeitskonservierung - Google Patents
Bandbreitengarantie und Arbeitskonservierung Download PDFInfo
- Publication number
- DE112012006642T5 DE112012006642T5 DE112012006642.1T DE112012006642T DE112012006642T5 DE 112012006642 T5 DE112012006642 T5 DE 112012006642T5 DE 112012006642 T DE112012006642 T DE 112012006642T DE 112012006642 T5 DE112012006642 T5 DE 112012006642T5
- Authority
- DE
- Germany
- Prior art keywords
- vms
- source
- bandwidth
- guarantee
- destination
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/528—Minimum bandwidth guarantee
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/4555—Para-virtualisation, i.e. guest operating system has to be modified
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- HINTERGRUND
- In einer Cloud-Computing-Umgebung kann ein Teilnehmer eine oder mehrere virtuelle Maschine(n) (VMs) reservieren, um beispielsweise Anwendungen auszuführen. Für solche auf VMs ausgeführten Anwendungen kann der Teilnehmer Informationen wie z. B. die Auslastung der zentralen Verarbeitungseinheit (CPU), Speicherzuordnung usw. verwenden, um eine Anwendungsleistung zu ermitteln. Teilnehmer können auch Informationen verwenden, die sich auf Bandbreitengarantien beziehen, um untere Grenzen der Anwendungsleistung zu ermitteln. Da Cloud-Netzwerke jedoch von mehreren Teilnehmern im besten Interesse gemeinsam genutzt werden, können Cloud-Anbieter keine genauen Garantien der Bandbreite anbieten, die jede VM erzielen kann. Das Fehlen solcher Bandbreitengarantieinformationen hindert Teilnehmer daran, untere Grenzen der Anwendungsleistung zu ermitteln. Das Fehlen solcher Bandbreitengarantieinformationen verhindert auch eine Übertragung von Unternehmensanwendungen auf öffentliche Clouds, da viele Unternehmensanwendungen prognostizierbare Leistungsgarantien benötigen.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Merkmale der vorliegenden Offenbarung werden in den folgenden Figuren beispielhaft und nicht einschränkend veranschaulicht, wobei gleiche Bezugszeichen gleiche Elemente bezeichnen, wobei:
-
1 eine Architektur einer Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; -
2 ein Leitungsmodell für eine garantierte Bandbreite virtueller Maschinen (VM) für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; -
3 ein Begriffsmodell für eine Garantiepartitionierung und Ratenzuweisung für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; -
4 eine Garantiepartitionierung für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; -
5 eine Umsetzung des Leitungsmodells von2 in einer physischen Topologie für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; -
6 eine weitere Umsetzung des Leitungsmodells von2 in einer physischen Topologie für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; -
7 ein Verfahren zur Bandbreitengarantie und Arbeitskonservierung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; und -
8 ein Computersystem gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht. - AUSFÜHRLICHE BESCHREIBUNG
- Der Einfachheit wegen und zur Veranschaulichung wird die vorliegende Offenbarung vorwiegend unter Bezugnahme auf Beispiele beschrieben. In der folgenden Beschreibung sind zahlreiche konkrete Details angeführt, um ein umfassendes Verständnis der vorliegenden Offenbarung bereitzustellen. Es ist jedoch ohne weiteres ersichtlich, dass die vorliegende Offenbarung ohne Einschränkung auf diese konkreten Details ausgeübt werden kann. In anderen Fällen sind einige Verfahren und Strukturen nicht ausführlich beschrieben, um die vorliegende Offenbarung nicht unnötig zu verschleiern.
- In der gesamten vorliegenden Offenbarung soll der Begriff „ein/e/r/s” zumindest eines eines bestimmten Elements bezeichnen. Wie hier verwendet, bedeutet der Begriff „beinhaltet” beinhaltet, ohne jedoch darauf beschränkt zu sein, der Begriff „beinhaltend” bedeutet beinhaltend, ohne jedoch darauf beschränkt zu sein. Der Ausdruck „basierend auf” bedeutet zumindest teilweise basierend auf.
- Ein Cloud-Netzwerk kann von mehreren Teilnehmern gemeinsam genutzt werden, die eine oder mehrere virtuelle Maschine(n) (VMs) reservieren, um z. B. Anwendungen auszuführen. Ein Teilnehmer kann eine statische Bandbreitenreservierung zum Ausführen seiner Anwendungen anfordern. Eine statische Bandbreitenreservierung führt jedoch zu einer ineffizienten Auslastung der Kapazität des Cloud-Netzwerks. Beispielsweise kann der Anteil eines Teilnehmers A nicht von einem weiteren Teilnehmer B verwendet werden, wenn Teilnehmer A seinen Anteil nicht vollständig nutzt.
- Gemäß einem Beispiel werden ein(e) Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren beschrieben. Da Datenverkehr in Rechenzentren von Natur aus stoßweise sein kann, stellen die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren ein Multiplexing von Netzwerkressourcen auf arbeitskonservierende Weise bereit, das eine signifikante Verbesserung der Leistung von Anwendungen der Teilnehmer bietet. Das Multiplexing von Netzwerkressourcen auf arbeitskonservierende Weise bedeutet, dass Links in solchen Netzwerkressourcen erst dann vollständig genutzt werden, wenn der Datenverkehrsbedarf für die Links nicht bedient ist. Beispielsweise kann eine Anwendung eine Verarbeitungsphase haben, wenn der Datenübertragungsverkehr gering ist, und eine Shuffle-Phase mit einer hohen Menge an Datenübertragungsverkehr. Für mehrere gleichzeitig laufende Instanzen einer solchen Anwendung stellen die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren eine verbesserte Effizienz für den Auftragsabschluss bereit, als wenn jede Instanz der Anwendung auf einer oder mehreren VMs ausgeführt werden würde, der/denen eine statische Bandbreitenreservierung zugewiesen ist.
- Im Allgemeinen stellen die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren für eine Umgebung wie z. B. ein Cloud-Rechenzentrumsnetzwerk Mindestbandbreitengarantien bereit, wobei jeder VM eine absolute Mindestbandbreite zum Senden und Empfangen von Datenverkehr garantiert ist. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren stellen auch dahingehend eine Arbeitskonservierung bereit, dass, wenn ein Link L die Quelle einer Überlastung für einen bestimmten Fluss ist, der Link L dann vollständig genutzt wird. Die Vorrichtung und das Verfahren können ohne weiteres umgesetzt und eingesetzt werden, ohne Modifikation von Switches, und können in großskaligen Cloud-Rechenzentren umgesetzt werden. Beispielsweise können die Vorrichtung und das Verfahren in End-Host-Serverprozessen wie z. B. Hypervisoren, die mehrere virtuelle Maschinen hosten, in Netzwerkschnittstellenkarten von Servern oder in Edge-Switches umgesetzt werden. Die Vorrichtung und das Verfahren können auch zwischen physischen Maschinen umgesetzt werden (z. B. für Clouds, bei denen Teilnehmer physische Maschinen erhalten).
- Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können z. B. innerhalb von Hypervisoren ohne Unterstützung von Switches umgesetzt werden. VM-Mindestbandbreitengarantien können unter Verwendung eines Leitungsmodells ausgedrückt werden. Für das Leitungsmodell wird jede VM X eines Teilnehmers als über einen zugehörigen Link, dessen Kapazität gleich der für die VM X garantierten Mindestbandbreite ist, mit einem virtuellen Switch verbunden angesehen. Die Bandbreitengarantien können auch unter Verwendung eines erweiterten hierarchischen Leitungsmodells ausgedrückt werden. Ein erweitertes hierarchisches Leitungsmodell kann Gruppen beinhalten, die durch VMs gebildet werden, und können Leitungsmodelle zwischen den VMs in den Gruppen und ferner Leitungsmodelle zwischen den Gruppen beinhalten.
- Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können ein Garantiepartitionierungsmodul beinhalten, um eine garantierte VM-Mindestbandbreite für eine VM in VM-zu-VM-Garantien zu teilen. Das Garantiepartitionierungsmodul kann z. B. Ratenbeschränker in Hypervisoren, die den Datenverkehr zwischen VM-Paaren beschränken, verwenden. Um die von diesen Ratenbeschränkern umgesetzten Raten zu berechnen, kann das Garantiepartitionierungsmodul jeden Hypervisor H so betreiben, dass er die Bandbreitengarantie jeder vom Hypervisor H gehosteten VM X zwischen den VMs aufteilt, mit denen die VM X in Datenübertragung steht. Durch Aufteilen einer Bandbreitengarantie einer VM gewährleistet das Garantiepartitionierungsmodul, dass für jede VM eine absolute Bandbreitengarantie gemäß dem Leitungsmodell bereitgestellt wird, unabhängig vom Datenverkehrsmuster der anderen VMs im Netzwerk. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können ferner ein Ratenzuordnungsmodul beinhalten, um eine Arbeitskonservierung bereitzustellen, indem freie Kapazität basierend auf den VM-zu-VM-Garantien auf Maximum-Minimum-Weise zugeordnet wird. Um eine arbeitskonservierende Zuordnung zu erreichen, können die Ratenbeschränker das Ratenzuordnungsmodul verwenden, um Raten dynamisch über die Garantien hinaus zu erhöhen, die vom Garantiepartitionierungsmodul zugeordnet werden, wenn keine Überlastung vorliegt.
- Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren stellen eine verteilte Lösung bereit, wobei Hypervisoren unabhängig arbeiten, ohne Verwendung einer komplexen Koordination neben dem normalen Datenverkehrsfluss. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren erleichtern einen unabhängigen Betrieb von Hypervisoren ohne die Notwendigkeit einer komplexen Koordination zwischen den Hypervisoren oder mit einer zentralen Steuereinheit. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können auch auf zentralisierte Weise angewandt werden, z. B. durch Anwenden der Entscheidungen, die an jeder Host-Maschine an einer zentralen Steuereinheit getroffen werden. Das Framework der/des Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahrens löst das Bereitstellen von Bandbreitengarantien von dem Bereitstellen einer Arbeitskonservierung. Diese Merkmale stellen eine Arbeitskonservierung bereit und gewährleisten gleichzeitig, dass die Garantie für jede VM respektiert wird, unabhängig von den anderen VMs im Netzwerk.
-
1 veranschaulicht eine Architektur einer Bandbreitengarantie- und Arbeitskonservierungsvorrichtung100 gemäß einem Beispiel. Unter Bezugnahme auf1 ist die Vorrichtung100 so gezeigt, dass sie ein Garantiepartitionierungsmodul101 beinhaltet, um virtuellen Maschinen (VMs)102 (d. h. VMsA-X) durch Teilen einer garantierten VM-Mindestbandbreite für eine VM in VM-zu-VM-Garantien Mindestbandbreitengarantien zuzuweisen. Ein Ratenzuordnungsmodul103 soll Arbeitskonservierung bereitstellen, indem es freie Kapazität basierend auf den VM-zu-VM-Garantien auf Maximum-Minimum-Weise zuordnet. - Die Module
101 und103 und andere Komponenten der Vorrichtung100 , die diverse andere Funktionen in der Vorrichtung100 durchführen, können maschinenlesbare Anweisungen umfassen, die auf einem computerlesbaren Medium gespeichert sind. Zudem oder alternativ dazu können die Module101 und103 und andere Komponenten der Vorrichtung100 Hardware oder eine Kombination von maschinenlesbaren Anweisungen und Hardware umfassen. - Unter Bezugnahme auf die
1 und2 kann die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung100 ein Leitungsmodell für jede VM110 (z. B. VMA, VMB ... VMX) bereitstellen. Das Leitungsmodell garantiert eine Mindestbandbreite Bwmin, zwischen einer VM und einem virtuellen zentralen Switch111 mit grenzenloser Kapazität. Beispielsweise kann der VMA von einem zugehörigen Link112 für die VMA mit der Kapazität BwminA eine Mindestbandbreite BwminA garantiert werden. Gleichermaßen kann der VMB eine Mindestbandbreite BwminB garantiert werden, bis zur VMX, der eine Mindestbandbreite BwminX garantiert wird. Die Bandbreite zum zentralen Switch111 kann höher als die garantierte Mindestbandbreite Bwmin sein, z. B. je nach Bedarf anderer VMs in einem Netzwerk113 . Die Bandbreite zum zentralen Switch111 kann jedoch nicht niedriger als die garantierte Mindestbandbreite Bwmin sein, angesichts eines ausreichend hohen Bedarfs im Netzwerk113 . Die garantierte Mindestbandbreite Bwmin kann auch unter Verwendung anderer Modelle dargestellt werden, wie z. B. eines erweiterten hierarchischen Leitungsmodells. - Unter Bezugnahme auf die
1 –3 kann die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung100 so modelliert sein, dass sie eine Garantiepartitionierungsebene120 und eine Ratenzuordnungsebene121 beinhaltet. Die Garantiepartitionierungsebene120 , die vom Garantiepartitionierungsmodul101 umgesetzt wird, stellt Bandbreitengarantien bereit. Die Ratenzuordnungsebene121 , die vom Ratenzuordnungsmodul103 umgesetzt wird, stellt Arbeitskonservierung bereit. Die Garantiepartitionierungsebene120 und die Ratenzuordnungsebene121 lösen die Aspekte von Bandbreitengarantien und Arbeitskonservierung voneinander. Für einen Datenverkehr122 , der von VMs123 fließt, stellt die Ratenzuordnungsebene121 basierend auf VM-zu-VM-Garantien und Bedarfsschätzwerten Arbeitskonservierung bereit, wie unten erörtert. Bei dem veranschaulichten Beispiel ist die Vorrichtung100 in einem Hypervisor124 einer Host-Maschine umgesetzt. Beispielsweise führen das Garantiepartitionierungsmodul101 und das Ratenzuordnungsmodul103 eine periodische Garantiepartitionierung und Ratenzuordnung innerhalb des Hypervisors124 für jede gehostete VM durch. Bei einem Beispiel kann die Garantiepartitionierung ggf. weniger häufig als die Ratenzuordnung durchgeführt werden, da die für die VM-zu-VM-Flüsse einer VM X zugeordneten Garantien aktualisiert werden, wenn sich der Bedarf an die VM X und von dieser ändert. Raten, die für die gleichen VM-zu-VM-Flüsse der VM X zugeordnet sind, können jedoch aktualisiert werden, wenn sich der Bedarf auf einem beliebigen überlasteten Link ändert, der von der VM X verwendet wird. - Unter Bezugnahme auf
3 berechnet das Garantiepartitionierungsmodul101 für die Garantiepartitionierungsebene120 eine absolute Mindestbandbreitengarantie für jedes Quelle- und Zielpaar der VMs123 . Die Garantie, die zwischen einer Quelle VM S und einem Ziel VM D (d. h. BS→D) berechnet wird, basiert auf den Garantien der beiden VMs S und D im Leitungsmodell von2 und auf dem aktuellen Datenübertragungsmuster der VMs S und D. Die Bandbreitengarantie jeder VM wird unter der aktuellen Menge von aktiven VM-zu-VM-Flüssen für die bestimmte VM aufgeteilt. Um die Garantie BS→Dzwischen den VMs S und D zu berechnen, verwendet das Garantiepartitionierungsmodul101 , das sich im Hypervisor der Quell-VM S befinden kann, die Garantie, die vom Hypervisor der Ziel-VM D dem Datenverkehr der VMs S → D (d. h.B S→D / D. B S→D / D. 101 Steuerpakete zwischen Hypervisoren verwenden. Zu Beginn wird jedem Fluss die Garantie von der Quelle zugeordnet. Alternativ dazu können Garantien in Kopfzeilen der Datenpakete enthalten sein, z. B. unter Verwendung von Kapselung an Hypervisoren. - Das Garantiepartitionierungsmodul
101 teilt die Bandbreitengarantie einer VM X zwischen anderen VMs auf, mit denen die VM X in Datenübertragung steht. Wenn die VM X beispielsweise mit einer VMs-Menge Q in Datenübertragung steht, weist der Hypervisor für die VM X für jede VM Y in der Menge Q eine BandbreitengarantieB X→Y / X B Y→X / X ΣY∊QB X→Y / X = ΣY∊QB Y→X / X = BX Gleichung (1). - Das Garantiepartitionierungsmodul
101 legt die Bandbreitengarantie der Datenübertragung zwischen einer Quell-VM S und einer Ziel-VM D wie folgt fest:BS→D = min(B S→D / S; B S→D / D) Gleichung (2). - Für die Gleichung (2) sind
B S→D / S B S→D / D 4 veranschaulicht den Prozess des Zuweisens von Garantien an die Datenübertragung VM X → VM Y durch die VM X und die VM Y. Beispielsweise zeigt4 die VMs X, Y, Z und T. Bei130 weist der Hypervisor der VM X eine BandbreitengarantieB X→Y / X 131 weist der Hypervisor der VM Y eine BandbreitengarantieB X→Y / X 132 weist der Hypervisor der VM X eine BandbreitengarantieB X→Z / X 133 weist der Hypervisor der VM Y eine BandbreitengarantieB T→Y / Y 134 ermittelt das Garantiepartitionierungsmodul101 basierend auf den Bandbreitengarantien die geeignete Bandbreitengarantie von VM X → VM Y durch Ermitteln vonBX→Y = min(B X→Y / X; B X→Y / Y) - Die Zuordnung stellt Bandbreitengarantien bereit, da die gesamten zugeordneten Bandbreitengarantien für VM-zu-VM-Flüsse auf einem beliebigen Link L den erwarteten Datenverkehr auf dem Link L nicht überschreiten, wenn VMs gemäß dem in
2 gezeigten Leitungsmodul Daten übertragen. Insbesondere ist die gesamte Eingangsbandbreitengarantie aller VM-zu-VM-Flüsse einer VM X kleiner als oder gleich BX, die Bandbreitengarantie der VM X im Leitungsmodell, unabhängig vom Datenübertragungsmuster der VM X. Dies ist darauf zurückzuführen, dass die Bandbreitengarantie für die VM X zwischen den Flüssen für die VM X aufgeteilt wird und jeder VM-zu-VM-Fluss die Mindestbandbreitengarantie zwischen den Bandbreitengarantien erhält, die von einer Quelle und einem Ziel zugeordnet werden. Dies kann wie folgt dargestellt werden:ΣVBV→X = ΣVmin(B V→X / V, B V→X / V) ≤ ΣVB V→X / Y = BX Gleichung (3). - Um beispielsweise das Leitungsmodell von
2 in der physischen Topologie von5 umzusetzen, sollte für jede VM eine Mindestgarantie für ihre Eingangs- und Ausgangsbandbreite auf ihrem Zugangslink (z. B. entweder L1 oder L2) bereitgestellt werden. In diesem Fall wäre der virtuelle Switch111 von2 durch den physischen Switch143 von5 umgesetzt. Geht man davon aus, dass jeder Server höchstens zwei VMs hostet (d. h. Server141 und142 ), konkurrieren die vom Hypervisor für die VM Y zugewiesenen VM-zu-VM-Garantien auf dem Link L1 höchstens mit der Bandbreitengarantie BX. Wenn BX + BY kleiner als die Kapazität von L1 ist und BZ + BT kleiner als die Kapazität von L2 ist, ist der Einsatz des Leitungsmodells von2 in der in5 gezeigten Topologie garantiert. Unter Bezugnahme auf6 ist die Bandbreitengarantie der VM-zu-VM-Flüsse eines Teilnehmers mit VMs X, Y, Z und T auf Links L3, L5 und L6 bei einem anderen Beispiel kleiner als oder gleich der Bandbreitengarantie BT (in diesem Beispiel geht man davon aus, dass BT < BX + BY + BZ). Somit kann ein Anbieter das von einem Teilnehmer bereitgestellte Leitungsmodell verwenden, um eine Zugangssteuerung durchzuführen, und das/die Bandbreitengarantie- und Arbeitskonservierungsverfahren und -vorrichtung gewährleisten, dass das Leitungsmodell befolgt wird. - Damit das Garantiepartitionierungsmodul
101 die Garantie für die VM X zwischen den VM-zu-VM-Flüssen für die VM X aufteilt, wenn die Bandbreitengarantie zwischen den VMs X und Y größer als der Datenverkehrsbedarf zwischen den VMs X und Y ist, wird gewährleistet, dass der gesamte Datenverkehr sicher von den VMs X zu Y fließt. Deshalb verteilt das Garantieportionierungsmodul101 , wenn der gesamte Eingangs- oder Ausgangsbedarf der VM X geringer als die Garantie für die VM X ist, die Garantie für die VM X, um den gesamten Bedarf zu befriedigen, wobei dies wie folgt dargestellt werden kann:∀Y, B X→Y / X ≥ DX→Y and B Y→X / X ≥ DY→X Gleichung (4). - In Bezug auf die Gleichung (4) DX→Y stellt den Datenverkehrsbedarf von der VM X an die VM Y dar. Wenn der gesamte Bedarf an oder von der VM X jedoch größer als die Bandbreitengarantie für die VM X ist, kann der Bedarf nicht befriedigt werden. In diesem Fall wird BX zwischen unterschiedlichen VMs basierend auf dem Bedarf auf Maximum-Minimum-Weise aufgeteilt. Nehme man beispielsweise an, dass die VM X eine Bandbreitengarantie von 100 Mbit/s hat. Nehme man ferner an, dass die VM X mit drei anderen VMs Y, Z und T in Datenübertragung steht und der Bedarf von der VM X an die VM Y 20 Mbit/s ist, während der Bedarf von der VM X an die VMs Z und T sehr groß ist. In diesem Fall weist das Garantiepartitionierungsmodul
101 der Datenübertragung VM X → VM Y eine Garantie von 20 Mbit/s zu (d. h.B X→Y / X = 20 Mbit/s 103 ausführlicher beschrieben, kann die Bandbreite für die VM X basierend auf der Anwendung einer Arbeitskonservierungsrichtlinie ferner größer als 100 Mbit/s sein, da die VMs X → Z und VM X → T mit anderen VMs, die ihre Garantien überschreiten können, um zusätzliche Bandbreite konkurrieren. - Deshalb überwacht das Ratenzuordnungsmodul
103 den Bedarf und weist das Garantiepartitionierungsmodul101 die gewünschte Bandbreitengarantien begrenzten VM-zu-VM-Flüssen zu, wobei die restliche Garantie vom Ratenzuordnungsmodul103 zwischen dem Rest der Flüsse für aufgeteilt wird. Um den Bedarf zu schätzen, kann das Ratenzuordnungsmodul103 Eingangs- und Ausgangs-Warteschlangeneintrittsraten überwachen. Die Garantie für einen begrenzten VM-zu-VM-Fluss kann auf einen geringfügig höheren Wert als dessen Bedarf festgelegt werden, um eine Steigerung des Bedarfs zu ermöglichen und eine Fehlklassifizierung zu vermeiden, die z. B. auf Ineffizienzen von Transportprotokollen zurückzuführen ist. Wenn alle Flüsse begrenzt sind, wird der nicht-zugeordnete Teil der Bandbreitengarantie einer VM vom Ratenzuordnungsmodul103 erneut verteilt, so dass die gesamte VM-Bandbreitengarantie zugeordnet wird. - Da das Garantiepartitionierungsmodul
101 eine Nutzung der Mindestbandbreitengarantien für die sendenden und empfangenden VMs bereitstellt, können Garantien für einen der Endpunkte verschwendet werden, insbesondere für sendende VMs. Die sendenden VMs können die zugewiesene Garantie für die empfangenden VMs berücksichtigen, wenn der Bedarf der sendenden VMs nicht befriedigt ist. Wenn eine Ziel-VM D beispielsweise eine Garantie zuordnet, die im Vergleich zur Garantie für die Sender-VM S geringer ist (d. h.B S→D / S > B S→D / D B S→D / S = B S→D / D - VMs, die mit einer bestimmten VM X am gleichen Server verbunden sind, werden bei Aufteilung der Bandbreitengarantie für die VM X ausgelassen. Durch Ratenbeschränkung des Datenverkehrs zwischen jedem Paar der VMs S und D auf BS→D wird die Mindestbandbreitengarantie jeder VM im Leitungsmodell erfüllt. Garantien werden basierend auf maximaler Serverbelegung und Worst-Case-Netzwerkauslastung berechnet. Viele der VMs sind ggf. jedoch nicht aktiv, wobei in diesem Fall Ratenbeschränkungen erhöht werden können, ohne Garantien negativ zu beeinflussen.
- Unter Bezugnahme auf die
1 und3 wird die Mindestbandbreite, die vom Garantiepartitionierungsmodul101 zwischen zwei VMs X und Y (d. h. BX→Y) berechnet wird, der Ratenzuordnungsebene121 (d. h. dem Ratenzuordnungsmodul103 ) zugeführt. In Bezug auf die Ratenzuordnungsebene121 steuert das Ratenzuordnungsmodul103 z. B. einen Ratenbeschränker innerhalb des Hypervisors für die VM X, die den Datenverkehr von der VM X zu der VM Y beschränkt. Die vom Ratenzuordnungsmodul103 zugewiesene Ratenbeschränkung fällt nicht unter die Mindestbandbreite BX→Y, kann jedoch höher als BX→Y sein. Das Ratenzuordnungsmodul103 ermittelt jede verfügbare Bandbreite neben der bereitgestellten Garantie, wenn das Netzwerk nicht überlastet ist. Das Ratenzuordnungsmodul103 teilt die weitere Bandbreite, die auf einem Link L verfügbar ist, proportional zu den Bandbreitengarantien der Quell- und Ziel-VM-Paare, die auf dem Link L in Datenübertragung stehen. Geht man z. B. von der Mindestbandbreite BX→Y = 200 Mbit/s und BZ→T = 100 Mbit/s für die VMs X, Y, Z und T aus, so erfolgt in diesem Fall das Teilen eines Links L, der größer als 300 Mbit/s ist, zwischen den VMs X → Y und den VMs Z → T in einem Verhältnis von 2:1. Wenn der Link L beispielsweise 1 Gbit/s ist, erhalten die VMs X → Y 666 Mbit/s und die VMs Z → T 333 Mbit/s. - Das Ratenzuordnungsmodul
103 steuert die Rate zwischen jeder VM X zu jeder anderen VM Y, so dass die gesamte verfügbare Netzwerkkapazität (oder ein vorab festgelegter Teil davon) genutzt wird und überlastete Links zwischen VM-zu-VM-Flüssen proportional zu den Bandbreitengarantien geteilt werden, die vom Garantiepartitionierungsmodul101 bereitgestellt werden. Das Ratenzuordnungsmodul103 kann daher eine gewichtete Ratenanpassung verwenden, die vom Ratenbeschränker innerhalb des Hypervisors für eine VM umgesetzt wird, wobei die Gewichtung (d. h. die Bandbreitengarantie) des Flusses zwischen der VM X und Y BX→Y ist (d. h. die vom Garantiepartitionierungsmodul101 bereitgestellte Mindestbandbreitengarantie). Das Ratenzuordnungsmodul103 legt die Ratenbeschränkung von einer Quell-VM S an eine Ziel-VM D wie folgt auf RS→D fest:RS→D = max(BS→D; RW_TCP(BS→D; FS→D)) Gleichung (5). - In Bezug auf die Gleichung (5) ist RW_TCP die Rate, die von einem Protokoll ähnlich einem gewichteten Transmission Control Protocol (TCP) bestimmt wird, das mit einer Gewichtung BS→D und einem bestimmten Überlastungsfeedback FS→D arbeitet. Das Ratenzuordnungsmodul
103 verwendet den Prozess der gewichteten Ratenanpassung RW_TCP, um eine Schattenratenbeschränkung zu berechnen. Wenn die berechnete Schattenrate höher als die Mindestbandbreitengarantie ist, wird die berechnete Schattenrate anstatt der Mindestbandbreitengarantie verwendet, da diese Situation anzeigt, dass freie Bandbreite im Netzwerk vorliegt. Das Ratenzuordnungsmodul103 kann die Ratenbeschränkung von Datenverkehr von der VM X zu der VM Y bei positivem Feedback (z. B. keine Überlastung) proportional zur Gewichtung erhöhen und eine kubische Funktion verwenden. Bei negativem Feedback (d. h. verlorene Pakete) kann das Ratenzuordnungsmodul103 die Ratenbeschränkung multiplikativ um ein konstantes Verhältnis verringern, unabhängig von der Gewichtung. Das Ratenzuordnungsmodul103 garantiert somit, dass jede VM ihre Mindestbandbreite des Leitungsmodells erzielt, wenn der Datenverkehrsfluss zwischen VMs lang genug ist, um eine Ratenzuordnung zu ermöglichen, so dass die Raten von opportunistischen Sendern verringert werden (d. h. ermöglichen, dass ein negatives Feedback gesendet wird). - In Bezug auf Überlastungsfeedback kann das Überlastungsfeedback diverse Formen annehmen. Bei einem Beispiel kann das Überlastungsfeedback von einer Anzahl von verlorenen Paketen dargestellt werden, die von einem Zielhypervisor gezählt und in speziellen Steuerpaketen an einen Host-Hypervisor zurückgegeben werden. Bei einem anderen Beispiel kann das Überlastungsfeedback durch Explicit Congestion Notification(ECN)-Markierungen dargestellt werden, die von Switches vorgenommen werden. Eine Switch-Unterstützung, wie z. B. ENC, die durch nicht-aggressive Ratenzuordnungsverfahrensweisen untermauert wird, kann die Latenz durch Niedrighalten der Puffernutzung verringern.
- In Bezug auf Datenverkehr an das Internet und von diesem kann die Vorrichtung
100 , wenn eine Cloud über den Stamm eines Baums mit dem Internet verbunden ist und wenn Gateways am Eingang eines Rechenzentrums die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung100 umsetzen, verwendet werden, um Garantien für den Datenverkehr an und aus dem Internet bereitzustellen. Beispielsweise ist eine Bandbreitengarantie zwischen einer VM X und dem Internet direkt mit einer Garantie assoziiert, die der VM X zugewiesen ist. In dieser Hinsicht können Hosts aus dem Internet als eine einzelne VM, aber mit ggf. einer höheren Gewichtung (z. B. gleich 100 internen VMs) behandelt werden. - Anstatt des Leitungsmodells werden Gruppen von VMs eines Teilnehmers, wenn ein Modell ähnlich eines Modells virtueller überbelegter Cluster (VOC) verwendet wird, hohe Bandbreitengarantien innerhalb der Gruppen und niedrige Garantien zwischen den Gruppen bereitgestellt. Bei einer zweistufigen Abstraktion, die mit der Bandbreiten- und Arbeitskonservierungsvorrichtung
100 geboten werden kann, können VMs beispielsweise für einen Teilnehmer gruppiert werden. Mit jeder VM X sind zwei Garantien assoziiert: BXinG für eine Leitung, die die VM X mit anderen VMs in der gleichen Gruppe G verbindet, und BXall für eine Leitung, die die VM X mit allen VMs in allen Gruppen verbindet (d. h. BX aus dem 1-Ebenen-Leitungsmodell von2 ). Wenn eine neue VM gestartet wird, kann ein Teilnehmer die Werte der Bandbreiten auswählen und auswählen, zu welcher Gruppe die neuen VMs gehören sollten. Um eine Abstraktion ähnlich dem VOC-Modell zu unterstützen, muss der Hypervisor, der die VM X hostet, wenn die VM X in einer Gruppe G mit einer anderen VM Y in Datenübertragung steht, wissen, ob die VM Y in der Gruppe G ist oder nicht, um die Bandbreitengarantie für die VM X entsprechend aufzuteilen. Die Informationen über die Gruppenzugehörigkeit der VM Y können über Steuerpakte gesendet werden, die verwendet werden, um die zugewiesenen paarweisen Bandbreitengarantien zwischen den VMs X und Y (d. h.B X→Y / X B X→Y / X - Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können auf einer beliebigen Routing-Topologie mit einem einzelnen Pfad verwendet werden, solange ein Zugangssteuerungskriterium, dass kein Link mit Garantien überbelegt wird, beibehalten wird. Insbesondere wenn ein Link L von einer Teilmenge Q der VMs des Leitungsmodells verwendet wird, um Daten an eine andere Teilmenge P zu senden, wird die reservierte Bandbreite am Link L auf min(GQ, GP) festgelegt, wobei GQ die Summe der Garantien der VMs in der Teilmenge Q ist und GP die Summe der Garantien der VMs in der Teilmenge P ist. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können auch auf Topologien mit mehreren Pfaden angewandt werden, wobei ein Lastenausgleich über die Pfade hinweg einheitlich ist, wie z. B. Fat-Tree-Topologien oder andere Baumtopologien mit mehreren Stämmen. In diesem Fall stellt L die Menge von Links dar, auf denen Datenverkehr lastenausgeglichen wird. Bei Fat Trees beispielsweise stellt L die Menge von parallelen Links auf einer bestimmten Ebene dar, die von einer VM in Richtung Stammknoten verwendet werden kann. Bei Topologien mit mehreren Pfande mit nicht-einheitlichem Lastenausgleich über die Pfade hinweg, wie z. B. einer Topologie mit zufälligem regulärem Graphen, können die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren anstatt zwei drei Steuerebenen verwenden (d. h. Garantiepartitionierung, Pfadpartitionierung und Ratenzuordnung). Die Pfadpartitionierung ist mit dem Lastenausgleich und dem Routing im Rechenzentrum verbunden und teilt die von der Garantiepartitionierungsebene zugewiesene Garantie zwischen zwei VMs unter mehreren Pfaden auf. Die Entscheidung der Pfadpartitionierung basiert auf der Kapazität, der Last und der Länge jedes Pfads. Die anderen Ebenen (d. h. Garantiepartitionierung und Ratenzuordnung) arbeiten unverändert, wie in
3 gezeigt. -
7 veranschaulicht einen Ablaufschema eines Verfahrens200 für Bandbreitengarantie und Arbeitskonservierung entsprechend dem Beispiel der Bandbreitengarantie- und Arbeitskonservierungsvorrichtung100 , deren Konstruktion oben ausführlich beschrieben ist. Das Verfahren200 kann auf der Bandbreitengarantie- und Arbeitskonservierungsvorrichtung100 unter Bezugnahme auf1 beispielhaft und ohne Einschränkung umgesetzt sein. Das Verfahren200 kann in anderen Vorrichtungen ausgeübt werden. - Unter Bezugnahme auf
7 werden beim Verfahren200 bei Block201 VM-Bandbreitengarantien ermittelt, die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht. Beispielsweise unter Bezugnahme auf1 ermittelt das Garantiepartitionierungsmodul101 zum Zuweisen von Mindestbandbreitengarantien an die VMs102 VM-Bandbreitengarantien, die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht. - Bei Block
202 werden Mindestbandbreitengarantien zu Datenübertragungen zwischen der Quell-VM und den Ziel-VMs zugewiesen, indem eine der Quell-VM zugewiesene VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs aufgeteilt wird. Beispielsweise unter Bezugnahme auf1 weist das Garantiepartitionierungsmodul101 Mindestbandbreitengarantien den VMs102 (d. h. VMsA-X) durch Aufteilen einer garantierten VM-Mindestbandbreite für eine VM in VM-zu-VM-Garantien zu. Wenn eine VM X mit einer VM-Menge Q beispielsweise in Datenübertragung steht, weist der Hypervisor für die VM X für jede VM Y in der Menge Q eine BandbreitengarantieB X→Y / X B Y→X / X ΣY∊QB X→Y / X = BXoutgoing ΣY∊QB Y→X / X = BXincoming - Bei Block
203 wird freie Bandbreitenkapazität im Netzwerk einer Datenübertragung zwischen der Quell-VM und einer Ziel-VM basierend auf den zugewiesenen Mindestbandbreitengarantien zugeordnet. Die freie Bandbreitenkapazität im Netzwerk wird auch der Datenübertragung zwischen der Quell-VM und der Ziel-VM ferner basierend auf Bedarfsschätzwerten der aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs zugeordnet. Beispielsweise unter Bezugnahme auf1 stellt das Ratenzuordnungsmodul103 Arbeitskonservierung durch Zuordnen von freier Kapazität basierend auf den VM-zu-VM-Garantien auf Maximum-Minimum-Weise bereit. Die freie Bandbreitenkapazität im Netzwerk wird den aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs derart zugeweisen, dass die gesamte (oder vorab festgelegte) verfügbare Netzwerkkapazität genutzt wird. Die freie Bandbreitenkapazität im Netzwerk wird ferner den aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs zugewiesen, so dass vollständig genutzte (d. h. überlastete) Links proportional zu den zugewiesenen Mindestbandbreitengarantien geteilt werden. - Bei Block
204 wird ein Hypervisor einer Host-Maschine, die die VMs hostet, verwendet, um die Mindestbandbreitengarantien zwischen Paaren von VMs zuzuweisen und die freie Bandbreitenkapazität zuzuordnen. Beispielsweise unter Bezugnahme auf die1 und3 kann die Vorrichtung100 im Hypervisor124 einer Hostmaschine umgesetzt sein. - Bei Block
205 kann die Zuweisung von Mindestbandbreitengarantien periodisch oder z. B. durch Erkennen, wenn sich der Bedarf zwischen aktiven VM-zu-VM-Datenübertragungen ändert, aktualisiert werden. Beispielsweise werden Garantien, die für VM-zu-VM-Flüsse einer VM X zugeordnet werden, aktualisiert, wenn sich der Bedarf an und von der VM X ändert oder wenn die VM X eine Datenübertragung mit einer VM beginnt, mit der die VM X zuvor über einen längeren Zeitraum hinweg nicht in Datenübertragung stand. - Bei Block
206 kann die Zuordnung von freier Bandbreitenkapazität periodisch oder z. B. durch Erkennen, wenn sich der Bedarf auf einem vollständig genutzten Link, der von der Quell-VM für eine Datenübertragung mit einer Ziel-VM verwendet wird, ändert, aktualisiert werden. Beispielsweise können Raten, die für die gleichen VM-zu-VM-Flüsse einer VM X zugeordnet sind, aktualisiert werden, wenn sich der Bedarf auf einem beliebigen überlasteten Link ändert, der von der VM X verwendet wird. -
8 zeigt ein Computersystem, das bei den hier beschriebenen Beispielen verwendet werden kann. Das Computersystem stellt eine generische Plattform dar, die Komponenten beinhaltet, die in einem Server oder einem anderen Computersystem vorliegen können. Das Computersystem kann als Plattform für die Vorrichtung100 verwendet werden. Das Computersystem kann die Verfahren, Funktionen und anderen Prozesse, die hier beschrieben sind, durch einen Prozessor oder einen anderen Hardware-Verarbeitungsschaltkreis ausführen. Diese Verfahren, Funktionen und andere Prozesse können als maschinenlesbare Anweisungen ausgeführt sein, die auf einem computerlesbaren Medium gespeichert sind, das nicht flüchtig sein kann, wie z. B. Hardware-Speichereinrichtungen (z. B. RAM (Direktzugriffsspeicher), ROM (Nur-Lese-Speicher), EPROM (löschbarer programmierbarer Nur-Lese-Speicher), EEPROM (elektrisch löschbarer programmierbarer Nur-Lese-Speicher), Festplattenlaufwerke und Flash-Speicher). - Das Computersystem beinhaltet einen Prozessor
302 , der maschinenlesbare Anweisungen umsetzen oder ausführen kann, die einige oder alle der hier beschriebenen Verfahren, Funktionen und anderen Prozesse durchführen. Befehle und Daten vom Prozessor302 werden über einen Datenübertragungsbus304 übertragen. Das Computersystem beinhaltet auch einen Hauptspeicher306 , wie z. B. einen Direktzugriffsspeicher (RAM), bei dem die maschinenlesbaren Anweisungen und Daten für den Prozessor302 während der Laufzeit vorliegen können, und einen sekundären Datenspeicher308 , der nicht flüchtig sein kann und maschinenlesbare Anweisungen und Daten speichert. Der Speicher und der Datenspeicher sind Beispiele für computerlesbare Medien. Der Speicher306 kann Module320 beinhalten, die maschinenlesbare Anweisungen beinhalten, die während der Laufzeit im Speicher306 vorliegen und vom Prozessor302 ausgeführt werden. Die Module320 können die Module101 und103 der in1 gezeigten Vorrichtung beinhalten. - Das Computersystem kann eine E/A-Einrichtung
310 beinhalten, wie z. B. eine Tastatur, eine Maus, eine Anzeige usw. Das Computersystem kann eine Netzwerkschnittstelle312 zum Verbinden mit einem Netzwerk beinhalten. Andere bekannte elektronische Komponenten können im Computersystem hinzugefügt oder ersetzt werden. - Das hier Beschriebene und Veranschaulichte ist ein Beispiel mit einiger seiner Abwandlungen. Die hier verwendeten Ausdrücke, Beschreibungen und Figuren sind lediglich veranschaulichend angeführt und sind nicht als Einschränkungen gemeint. Viele Abwandlungen sind im Rahmen des Geistes und des Umfangs des Gegenstands möglich, der von den folgenden Ansprüchen – und deren Äquivalenten – definiert sein soll, in denen alle Ausdrücke in ihrem breitestmöglichen vernünftigen Sinne zu interpretieren sind, außer wenn anderweitig angegeben.
Claims (15)
- Verfahren zur Bandbreitengarantie und Arbeitskonservierung, wobei das Verfahren Folgendes umfasst: Ermitteln von Bandbreitengarantien für virtuelle Maschinen (VMs), die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht; Zuweisen von Mindestbandbreitengarantien an Datenübertagungen zwischen der Quell-VM und den Ziel-VMs durch Aufteilen einer der Quell-VM zugewiesenen VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und Zuordnen freier Bandbreitenkapazität im Netzwerk durch einen Prozessor an eine Datenübertragung zwischen der Quell-VM und einer Ziel-VM basierend auf den zugewiesenen Mindestbandbreitengarantien.
- Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Zuordnen der freien Bandbreitenkapazität im Netzwerk an die Datenübertragung zwischen der Quell-VM und der Ziel-VM ferner basierend auf Bedarfsschätzwerten der aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs.
- Verfahren nach Anspruch 1, wobei eine Summe der Mindestbandbreitengarantien für Datenübertragungen von der Quell-VM an die Ziel-VMs gleich der VM-Bandbreitengarantie ist.
- Verfahren nach Anspruch 1, wobei eine Summe der Mindestbandbreitengarantien für Datenübertragungen von den Ziel-VMs an die Quell-VM gleich der VM-Bandbreitengarantie ist.
- Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Verwenden eines Hypervisors einer Host-Maschine, die die VMs hostet, um die Mindestbandbreitengarantien zuzuweisen und die frei Bandbreitenkapazität zuzuordnen.
- Verfahren nach Anspruch 1, wobei das Zuweisen von Mindestbandbreitengarantien zu Datenübertragungen zwischen der Quell-VM und den Ziel-VMs ferner Folgendes umfasst: Ermitteln eines ersten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Quell-VM an eine Endpunkt-VM, wobei die Endpunkt-VM eine der Ziel-VMs ist; Ermitteln eines zweiten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Endpunkt-VM an die Quell-VM; Auswählen eines Mindestwerts aus dem ersten und dem zweiten Mindestbandbreitengarantiewert; und Verwenden des Mindestwerts als die Mindestbandbreitengarantie für die Datenübertragung von der Quell-VM an die Endpunkt-VM.
- Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Aktualisieren der Zuweisung von Mindestbandbreitengarantien, wenn sich Bedarfsschätzwerte der aktiven VM-zu-VM-Datenübertragungen ändern.
- Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Aktualisieren der Zuordnung von freier Bandbreitenkapazität, wenn sich ein Bedarfsschätzwert eines vollständig genutzten Links, der von der Quell-VM für eine Datenübertragung mit einer Ziel-VM verwendet wird, ändert.
- Verfahren nach Anspruch 1, wobei das Zuordnen von freier Bandbreitenkapazität im Netzwerk ferner Folgendes umfasst: Zuweisen der freien Bandbreitenkapazität im Netzwerk zu den aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass eine gesamte verfügbare Netzwerkkapazität verwendet wird.
- Verfahren nach Anspruch 1, wobei das Zuordnen von freier Bandbreitenkapazität im Netzwerk ferner Folgendes umfasst: Zuweisen der freien Bandbreitenkapazität im Netzwerk an die aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass vollständig genutzte Links proportional zu den zugewiesenen Mindestbandbreitengarantien geteilt werden.
- Bandbreitengarantie- und Arbeitskonservierungsvorrichtung, die Folgendes umfasst: einen Speicher, der ein Modul speichert, das maschinenlesbare Anweisungen umfasst zum Ermitteln von Bandbreitengarantien für virtuelle Maschinen (VMs), die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht; Zuweisen von Mindestbandbreitengarantien an Datenübertagungen zwischen der Quell-VM und den Ziel-VMs durch Aufteilen einer der Quell-VM zugewiesenen VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und Zuordnen von freier Bandbreitenkapazität im Netzwerk an eine Datenübertragung zwischen der Quell-VM und einer Ziel-VM basierend auf den zugewiesenen Mindestbandbreitengarantien und ferner basierend auf Bedarfsschätzwerten der VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und einen Prozessor zum Umsetzen des Moduls.
- Vorrichtung nach Anspruch 11, die ferner maschinenlesbare Anweisungen umfasst zum: Ermitteln eines ersten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Quell-VM an eine Endpunkt-VM, wobei die Endpunkt-VM eine der Ziel-VMs ist; Ermitteln eines zweiten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Endpunkt-VM an die Quell-VM; Auswählen eines Mindestwerts aus dem ersten und dem zweiten Mindestbandbreitengarantiewert; und Verwenden des Mindestwerts als die Mindestbandbreitengarantie für die Datenübertragung von der Quell-VM an die Endpunkt-VM.
- Vorrichtung nach Anspruch 11, die ferner maschinenlesbare Anweisungen umfasst zum: Zuweisen der freien Bandbreitenkapazität im Netzwerk an die VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass eine gesamte verfügbare Netzwerkkapazität genutzt wird.
- Vorrichtung nach Anspruch 11, die ferner maschinenlesbare Anweisungen umfasst zum: Zuweisen der freien Bandbreitenkapazität im Netzwerk zu den VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass vollständig genutzte Links proportional zu den zugewiesenen Mindestbandbreitengarantien geteilt werden.
- Nicht flüchtiges computerlesbares Medium, auf dem maschinenlesbare Anweisungen für Bandbreitengarantie und Arbeitskonservierung gespeichert sind, wobei die maschinenlesbaren Anweisungen, wenn sie ausgeführt werden, ein Computersystem veranlassen zum: Ermitteln von Bandbreitengarantien für virtuelle Maschinen (VMs), die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM enthält, die mit Ziel-VMs in Datenübertragung steht; Zuweisen von Mindestbandbreitengarantien an Datenübertagungen zwischen der Quell-VM und den Ziel-VMs durch Aufteilen einer der Quell-VM zugewiesenen VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und Zuordnen freier Bandbreitenkapazität im Netzwerk durch einen Prozessor an eine Datenübertragung zwischen der Quell-VM und einer Ziel-VM, so dass eine vorab festgelegte verfügbare Netzwerkkapazität genutzt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/048962 WO2014021839A1 (en) | 2012-07-31 | 2012-07-31 | Bandwidth guarantee and work conservation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112012006642T5 true DE112012006642T5 (de) | 2015-03-19 |
DE112012006642B4 DE112012006642B4 (de) | 2022-09-08 |
Family
ID=50028357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012006642.1T Active DE112012006642B4 (de) | 2012-07-31 | 2012-07-31 | Bandbreitengarantie und Arbeitskonservierung |
Country Status (5)
Country | Link |
---|---|
US (1) | US9794185B2 (de) |
CN (1) | CN104396187B (de) |
DE (1) | DE112012006642B4 (de) |
GB (1) | GB2516206B8 (de) |
WO (1) | WO2014021839A1 (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288146B1 (en) * | 2013-05-28 | 2016-03-15 | Google Inc. | Reducing batch completion time in a computer network with per-destination max-min fairness |
US9307013B1 (en) | 2013-05-30 | 2016-04-05 | Google Inc. | Reducing batch completion time in a computer network with max-min fairness |
US10735327B2 (en) * | 2013-06-14 | 2020-08-04 | Microsoft Technology Licensing, Llc | Fault tolerant and load balanced routing |
WO2015012811A1 (en) * | 2013-07-23 | 2015-01-29 | Hewlett-Packard Development Company, L.P. | Work conserving bandwidth guarantees using priority |
WO2015163877A1 (en) * | 2014-04-24 | 2015-10-29 | Hewlett-Packard Development Company, L.P. | Placing virtual machines on physical hardware to guarantee bandwidth |
US9762502B1 (en) | 2014-05-12 | 2017-09-12 | Google Inc. | Method and system for validating rate-limiter determination made by untrusted software |
US10469404B1 (en) | 2014-05-12 | 2019-11-05 | Google Llc | Network multi-level rate limiter |
US9755978B1 (en) | 2014-05-12 | 2017-09-05 | Google Inc. | Method and system for enforcing multiple rate limits with limited on-chip buffering |
US9575794B2 (en) * | 2014-09-30 | 2017-02-21 | Nicira, Inc. | Methods and systems for controller-based datacenter network sharing |
US10230591B2 (en) * | 2014-09-30 | 2019-03-12 | Microsoft Technology Licensing, Llc | Network resource governance in multi-tenant datacenters |
US9529619B2 (en) * | 2014-09-30 | 2016-12-27 | Nicira, Inc. | Method of distributing network policies of virtual machines in a datacenter |
US10097478B2 (en) | 2015-01-20 | 2018-10-09 | Microsoft Technology Licensing, Llc | Controlling fair bandwidth allocation efficiently |
US9923965B2 (en) | 2015-06-05 | 2018-03-20 | International Business Machines Corporation | Storage mirroring over wide area network circuits with dynamic on-demand capacity |
US9923839B2 (en) * | 2015-11-25 | 2018-03-20 | International Business Machines Corporation | Configuring resources to exploit elastic network capability |
US10057327B2 (en) | 2015-11-25 | 2018-08-21 | International Business Machines Corporation | Controlled transfer of data over an elastic network |
US9923784B2 (en) | 2015-11-25 | 2018-03-20 | International Business Machines Corporation | Data transfer using flexible dynamic elastic network service provider relationships |
US10581680B2 (en) | 2015-11-25 | 2020-03-03 | International Business Machines Corporation | Dynamic configuration of network features |
US10216441B2 (en) | 2015-11-25 | 2019-02-26 | International Business Machines Corporation | Dynamic quality of service for storage I/O port allocation |
US10177993B2 (en) | 2015-11-25 | 2019-01-08 | International Business Machines Corporation | Event-based data transfer scheduling using elastic network optimization criteria |
CN105871751A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学院计算技术研究所 | 一种数据中心网络带宽保证方法及系统 |
US10623330B2 (en) | 2016-09-23 | 2020-04-14 | Google Llc | Distributed bandwidth allocation and throttling |
US11258718B2 (en) * | 2019-11-18 | 2022-02-22 | Vmware, Inc. | Context-aware rate limiting |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6046980A (en) * | 1996-12-09 | 2000-04-04 | Packeteer, Inc. | System for managing flow bandwidth utilization at network, transport and application layers in store and forward network |
US7843906B1 (en) | 2004-02-13 | 2010-11-30 | Habanero Holdings, Inc. | Storage gateway initiator for fabric-backplane enterprise servers |
US7675926B2 (en) | 2004-05-05 | 2010-03-09 | Cisco Technology, Inc. | Hierarchical QoS behavioral model |
US8385202B2 (en) | 2008-08-27 | 2013-02-26 | Cisco Technology, Inc. | Virtual switch quality of service for virtual machines |
CN101369976B (zh) | 2008-09-27 | 2011-05-04 | 上海华为技术有限公司 | 多种服务质量分级接入控制方法、装置和系统 |
US8433802B2 (en) | 2010-01-26 | 2013-04-30 | International Business Machines Corporation | System and method for fair and economical resource partitioning using virtual hypervisor |
US8667171B2 (en) * | 2010-05-28 | 2014-03-04 | Microsoft Corporation | Virtual data center allocation with bandwidth guarantees |
US8477610B2 (en) * | 2010-05-31 | 2013-07-02 | Microsoft Corporation | Applying policies to schedule network bandwidth among virtual machines |
US8630173B2 (en) * | 2010-11-19 | 2014-01-14 | Cisco Technology, Inc. | Dynamic queuing and pinning to improve quality of service on uplinks in a virtualized environment |
US8761187B2 (en) * | 2011-06-14 | 2014-06-24 | Futurewei Technologies, Inc. | System and method for an in-server virtual switch |
CN102231697A (zh) | 2011-06-17 | 2011-11-02 | 瑞斯康达科技发展股份有限公司 | 一种报文队列的带宽调度方法、报文上报方法及其装置 |
US8943499B2 (en) * | 2012-04-30 | 2015-01-27 | Hewlett-Packard Development Company, L.P. | Providing a virtual network topology in a data center |
-
2012
- 2012-07-31 WO PCT/US2012/048962 patent/WO2014021839A1/en active Application Filing
- 2012-07-31 US US14/400,370 patent/US9794185B2/en active Active
- 2012-07-31 CN CN201280074280.XA patent/CN104396187B/zh active Active
- 2012-07-31 GB GB1420560.3A patent/GB2516206B8/en active Active
- 2012-07-31 DE DE112012006642.1T patent/DE112012006642B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
US9794185B2 (en) | 2017-10-17 |
GB201420560D0 (en) | 2014-12-31 |
WO2014021839A1 (en) | 2014-02-06 |
CN104396187A (zh) | 2015-03-04 |
DE112012006642B4 (de) | 2022-09-08 |
CN104396187B (zh) | 2017-08-25 |
GB2516206B8 (en) | 2021-07-07 |
GB2516206A (en) | 2015-01-14 |
US20150134830A1 (en) | 2015-05-14 |
GB2516206B (en) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012006642B4 (de) | Bandbreitengarantie und Arbeitskonservierung | |
DE112018003482B4 (de) | Serveranfrageverwaltung | |
DE202017106795U1 (de) | Vorrichtung zur skalierbaren Verkehrsformung bei einem Empfänger mit einer zeitlich indexierten Datenstruktur | |
DE102015102871B4 (de) | Technologien für verteilten Leitweglenkungstabellennachschlag | |
DE69931841T2 (de) | Verfahren zur Ressourcenallokation und zur Leitweglenkung in mehrdienstlichen privaten virtuellen Netzen | |
DE602005002158T2 (de) | Lastausgleichtechnik für Verkehrstechnik zwischen Domänen | |
DE112020002512T5 (de) | Systeme und verfahren zur verkehrsklassenbezogenen leitweglenkung | |
DE112017001762T5 (de) | Technologien für den einsatz dynamischer underlay-netzwerke in cloud-computing-infrastrukturen | |
DE112013000395B4 (de) | Vorrichtung, verfahren und computerlesbarer speicher zur richtliniendurchsetzung in rechenumgebung | |
DE60313037T2 (de) | Flusssteuerung in Netzwerkeinheiten | |
DE60016283T2 (de) | Arbeitsbelastungsverwaltung in einer rechnerumgebung | |
DE102018204859A1 (de) | Dynamischer Lastenausgleich in Netzschnittstellenkarten für eine optimale Leistung auf Systemebene | |
DE102019105193A1 (de) | Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten | |
DE102015108145A1 (de) | Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung | |
DE102017126470A1 (de) | Vorrichtung und Verfahren zur skalierbaren Verkehrsformung mit einer zeitlich indexierten Datenstruktur | |
DE112008003966T5 (de) | Selektives Um-Abbilden einer Netzwerktopologie | |
DE102004012056A1 (de) | Systeme und Verfahren zum Überwachen von Ressourcenausnutzung und Anwendungsleistungsfähigkeit | |
DE112017003501T5 (de) | Scheduling von downstream-datenverkehr einer virtuellen ccap | |
DE112020004651B4 (de) | Multi-tenant-etl-ressourcenaufteilung | |
DE202014010920U1 (de) | Datenverkehrsgestaltung für groß angelegte Datencenter-Netze | |
DE112021005586T5 (de) | Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene | |
DE102020110897A1 (de) | Netzwerkfunktionsvirtualisierung | |
DE102017120361B4 (de) | Zuordnung und Drosselung verteilter Bandbreite | |
DE60303444T2 (de) | Ablaufsteuerung unter verwendung von quantumwerten und defizitwerten | |
DE102016204030A1 (de) | Controller und Verfahren zum Migrieren von RDMA-Arbeitsspeicherzuordnungen einer virtuellen Maschine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R081 | Change of applicant/patentee |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TEX., US |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE |
|
R081 | Change of applicant/patentee |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US |
|
R082 | Change of representative |
Representative=s name: HASELTINE LAKE KEMPNER LLP, DE Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE |
|
R082 | Change of representative |
Representative=s name: HASELTINE LAKE KEMPNER LLP, DE Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE |
|
R082 | Change of representative |
Representative=s name: HASELTINE LAKE KEMPNER LLP, DE Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE |
|
R082 | Change of representative |
Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE Representative=s name: HASELTINE LAKE KEMPNER LLP, DE Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE |
|
R082 | Change of representative |
Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE |
|
R016 | Response to examination communication | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012240000 Ipc: H04L0041000000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0041000000 Ipc: H04L0041089600 |
|
R018 | Grant decision by examination section/examining division | ||
R081 | Change of applicant/patentee |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TEX., US |
|
R082 | Change of representative |
Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE |
|
R020 | Patent grant now final |