DE112011101633B4 - Virtualisierung und dynamische Ressourcenzuweisung berücksichtigendes Neuordnen von Speicherebenen - Google Patents

Virtualisierung und dynamische Ressourcenzuweisung berücksichtigendes Neuordnen von Speicherebenen Download PDF

Info

Publication number
DE112011101633B4
DE112011101633B4 DE112011101633.6T DE112011101633T DE112011101633B4 DE 112011101633 B4 DE112011101633 B4 DE 112011101633B4 DE 112011101633 T DE112011101633 T DE 112011101633T DE 112011101633 B4 DE112011101633 B4 DE 112011101633B4
Authority
DE
Germany
Prior art keywords
storage medium
virtual machine
vrm
storage
imdg
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.)
Active
Application number
DE112011101633.6T
Other languages
English (en)
Other versions
DE112011101633T5 (de
Inventor
Claris Castillo
Canturk Isci
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011101633T5 publication Critical patent/DE112011101633T5/de
Application granted granted Critical
Publication of DE112011101633B4 publication Critical patent/DE112011101633B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/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/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Ein System und ein Verfahren zum Neuordnen von Speicherebenen in einer virtualisierten Umgebung beinhaltet ein Identifizieren (302) einer zu überführenden virtuellen Maschine (VM) und ein Ermitteln (304) einer neuen Speicherebenenordnung für die VM. Die neue Speicherebenenordnung verringert einen Live-Zustand einer VM während eines Übergangs und berücksichtigt hierarchisch gemeinsam genutzten Speicher und durch eine Anwendung auferlegte Kriterien, um Wiederherstellvorgänge nach dynamischen Ressourcenzuweisungsaktionen zu verringern. Die neue Speicherebenen-Ordnungsempfehlung wird den VMs übermittelt (310). Die neue Speicherebenenordnung wird in den VMs angewandt. Nach dem Übergang wird eine andere Speicherebenenordnung empfohlen (312).

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft die effiziente Zusammenarbeit von Computertechnologien und genauer Systeme und Verfahren zum Neuordnen von Speicherebenen für die virtuelle und dynamische Ressourcenzuweisung für speicherintensive Anwendungen.
  • Beschreibung des Standes der Technik
  • Aufkommende Dienstanwendungen im Internetumfeld arbeiten an großen Datenmengen, die im Speicher aufrecht erhalten werden, um einen hohen Durchsatz zu erreichen und Benutzern Garantien über kurze Reaktionszeiten bieten zu können. Hauptkatalysatoren dieser Entwicklung waren der erhebliche Verfall der Speicherkosten, der Anstieg der Speicherkapazität in Maschinen sowie die Entwicklung und Einführung von arbeitsspeicherinternen verteilten Speichertechnologien wie memcached, XAP und ObjectGrid™. In der Folge wurden arbeitsspeicherinterne Datengitter (in-Memory Data Grids, IMDGs) zu kosten- und leistungswirksamen Lösungen für eine derartige umfangreiche und verteilte Datenbereitstellung. Somit stützen sich viele Unternehmen im Internetbereich wie Facebook™ und Twitter™ auf irgendeine Form solcher arbeitsspeichergestützter Datengitter für einen Betrieb bei gleichzeitigem Skalieren an eine große Anzahl von Benutzern.
  • Facebook™ speichert zum Beispiel seine gesamten Indexierungsinformationen auf einem memcached, um den Zugriff auf große Objekte von nachgelagerten Speicherservern rechtzeitig zu beschleunigen. Andere nicht herkömmliche datenorientierte Anwendungen, z.B. die Betrugserkennung, stützen sich auf IMDG, um Betriebsdaten online zu sammeln und zu analysieren.
  • Virtualisierungstechnologien werden in umfangreichen Datenzentren und Cloud-Infrastrukturen immer wichtiger. Über die vereinfachte Verwaltung und Bereitstellungsvorteile hinaus ermöglichen diese virtualisierten Umgebungen dynamische Optimierungen am Cloud-Betrieb, indem verteilte Ressourcen dynamisch den laufenden virtualisierten Einheiten zugewiesen werden. Durch Neupositionieren und Neubereitstellen virtueller Maschinen (VMs) bieten virtualisierte Umgebungen flexible Laufzeitreaktionen auf sich dynamisch verändernde Anforderungen von Datenzentren. Dies verringert die Ineffizienzen des bestehenden Infrastrukturmodells statistisch zugewiesener Informationstechnologie (IT) aufgrund starker Überbereitstellung und ineffizienter Unternutzung von Computerressourcen.
  • Während sich diese beiden Entwicklungen ausschließlich in ihren Bereichen als wirksam erwiesen haben und weiterhin zunehmend an Dynamik gewinnen, zeigen sie einen offenkundigen Konflikt in ihren Eigenschaften, der ihre Wirksamkeit bei gemeinsamem Betrieb in einer Cloud-Umgebung beeinträchtigen kann. Genauer profitieren IMDG-Lösungen einerseits von der Nutzung großer Mengen an Speicher mit wahlfreiem Zugriff (RAM), um Daten zu verwalten, und neigen daher für einen wirksamen Betrieb zu starker Speichernutzung.
  • Andererseits funktioniert dynamische VM-Zuweisung bei der Virtualisierung am besten, indem während der VM-Neuzuweisung so wenig Live-Zustände wie möglich zwischen den physischen Einheiten übertragen werden. Es ist bekannt, dass eine starke positive Korrelation besteht zwischen der Menge von Live-Zuständen, die eine VM besitzt, und dem Migrationsaufwand, der auftreten kann. Die Hauptbeiträge zum Live-Zustand stellen die Menge „aktiven Speichers“ oder die Arbeitssatzgröße der VM, die Geschwindigkeit, mit der die Seiten im Speicher verschmutzt werden und der Gesamtressourcenbedarf der VM dar. Daher wird die dynamische Reaktionseffizienz negativ beeinträchtigt, während VMs mit starker Speichernutzung zugewiesen werden. Dies hat mindestens zwei negative Auswirkungen: (1) ein höherer durch die IMDG verwendenden Anwendungen wahrgenommener Leistungsaufwand, da die Reaktionszeiten unter dynamischen Zuweisungsbedingungen ansteigen; und (2) Energieaufwand aufgrund ausgedehnten Kopierens und Neukopierens des Live-Zustands sowie eine höhere Ressourcen- und Verbindungsauslastung.
  • Das Dokument von Voolslurys, W. et al.: Cost of Virtual Machine Life Migration: A Performance Evaluation, In: Proceedings of the First Internationals Conference, CloudCom 2009, Bejing, China, December 2009, LNCS5931, Springer-Verlag Berlin Heidelberg, S.254 - 265, das sich mit den oben genannten Gegebenheiten auseinandersetzt, beschreibt Effekte von Life-Migrationen von virtuellen Maschinen in Bezug auf die Performance von Anwendungen, die in XEN VMs laufen.
  • Folglich besteht eine Aufgabe der vorliegenden Erfindungen darin, die genannten Nachteile zu überwinden und ein effektiveres Live-Migrationsverfahren und ein entsprechendes System vorzuschlagen.
  • ZUSAMMENFASSUNG
  • Migrationslatenzzeiten hängen von einem aktiven Ressourcenbedarf einer virtuellen Maschine (VM) ab, zum Beispiel führt eine 16fache Steigerung des aktiven Speichers zu einer nahezu 32fachen Steigerung des gesamten Migrationsaufwandes. Die entsprechende CPU- und Speicherauslastung während dieser Migrationen zeigen einen durchschnittlichen Einzelkern-CPU-Aufwand von 40 % beim Migrieren einer VM von einem Quell-Host sowie einen CPU-Aufwand von ungefähr 20 % beim Migrieren einer VM zu einem Ziel-Host. In beiden Richtungen kann während der Migration durch den Migrationsdatenverkehr eine Sättigung von 1-Gbit/s-Verbindungen eintreten. Ziemlich deutliche Verschlechterungen können zudem in der Anwendungsleistung, wie beispielsweise den Bearbeitungszeiten, abhängig von den Eigenschaften der Anwendung und dem Ausmaß der Überfestschreibung auf dem Host beobachtet werden. Daher wird eine effiziente, die Migration berücksichtigende Zustandsverwaltung sowohl aus Sicht der Ressourcenverwaltungstechnologie als auch der Anwendungsleistungs-Verwaltungstechnologie benötigt. Die vorliegenden Grundgedanken stellen für die hochwirksame Zusammenarbeit dieser beiden wachsenden Technologien ein Verfahren zur die Virtualisierung und die dynamische Ressourcenzuweisung berücksichtigenden Speicherebenenneuordnung (virtualization- and dynamic-resource-allocation-aware storage level reordering VSLR) für speicherintensive Anwendungen wie ein arbeitsspeicherinternes Datengitter (IMDGs) bereit. Da beide Technologien in ähnlichen umfangreichen Computer- und Cloud-gestützten Infrastrukturen zunehmend verbreitet sind, stellt eine solche Zusammenarbeit eine Kooperation zwischen diesen Technologien und anderen bereit.
  • Die oben genannte Aufgabe wird durch die unabhängigen Ansprüche gelöst. Weitere Ausgestaltungen ergeben sich aus den jeweils abhängigen Ansprüchen.
  • Diese und andere Merkmale und Vorteile werden anhand der folgenden detaillierten Beschreibung veranschaulichender Ausführungsformen davon ersichtlich, die in Verbindung mit den angehängten Zeichnungen zu lesen ist.
  • Figurenliste
  • Die Offenbarung stellt Einzelheiten in der folgenden Beschreibung bevorzugter Ausführungsformen unter Bezugnahme auf die folgenden Figuren bereit, wobei:
    • 1 ein Blockdiagramm/einen Ablaufplan zeigt, das/der eine Computerumgebung mit einer veranschaulichenden Migration einer virtuellen Maschine (VM) gemäß den vorliegenden Grundgedanken darstellt;
    • 2 ein Blockdiagramm/einen Ablaufplan zeigt, das/der ein System/Verfahren zum Neupositionieren von VMs gemäß den vorliegenden Grundgedanken darstellt; und
    • 3 ein Blockdiagramm/einen Ablaufplan zeigt, der ein System/Verfahren zur Zusammenarbeit zwischen Technologien zum Ausführen einer Veränderung in einer virtualisierten Umgebung gemäß einer weiteren Ausführungsform zeigt.
  • DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Die vorliegenden Grundgedanken stellen ein System mit einer Datenspeicherung mit mehreren Ebenen bereit, das ein Speichermedium mit niedrigen Latenzzeiten/einer hohe Bandbreite, z.B. RAM, und ein Speichermedium mit höheren Latenzzeiten/einer niedrigeren Bandbreite, z.B. eine Festplatte, aufweist, die in hierarchischer Weise betrieben werden. Im Kontext von zum Beispiel Anwendungen arbeitsspeicherinterner Datengitter (IMDG) wird eine Speicherebene mit dem besten Verhältnis von Latenz zu Größe als primär angesehen und besitzt daher die höchste Priorität in der Hierarchie. Zum Beispiel arbeiten IMDG-Technologien wie ObjectGrid™ hauptsächlich auf dem RAM und stützen sich auf Festplattenspeicher, um auf Überlaufsituationen zu reagieren.
  • Ein Modul zur die Virtualisierung und die dynamische Ressourcenzuweisung berücksichtigenden Speicherebenenneuordnung (VSLR) erlaubt es Anwendungen wie IMDGs, mit einem virtuellen Ressourcenverwalter (VRM) des Systems zusammenzuarbeiten, um den von der Migration virtueller Maschinen (VMs) stammenden Aufwand zu verringern, indem die Live-Zustands-Daten einer beherbergenden, zu migrierenden VM wirksam verringert werden. Das Verringern des aktiven Zustands dieser Anwendungen kann zu mehreren Ordnungen beim Verringern des Aufwandes der dynamischen Ressourcenzuweisung führen.
  • Hierzu ordnen IMDG-Knoten die Speicherhierarchieebenen bei Migration der beherbergenden VM neu, indem RAM auf sekundären Speicher zurückgestuft wird und niedrigere Speicherebenen in der Hierarchie heraufgestuft werden. Mit anderen Worten, IMDG-Knoten sind in der Lage, während ihrer Lebensdauer entsprechend den Vorgaben durch ein VSLR-Verwaltungssystem mit unterschiedlichen Ebenen der Speicherhierarchie zu interagieren. Weiterhin wird im VSLR durch die Anwendung (IMDG) und den Ressourcenverwalter gemeinsam die Ordnung ermittelt, so dass die Anforderungen von Anwendung und System beide erfüllt sind.
  • Durch Einführen von VSLR kann ein Cloud-Anbieter zum Beispiel das Bereitstellen und Neupositionieren von Ressourcen wirksam verwalten und dabei die Anforderungen von Cloud-Diensten erfüllen, die sich stark auf IMDG-Lösungen stützen, um verteilte Daten unter Beschränkungen hoher Reaktionszeiten zu verwalten. Das Problem des Verwaltens von Diensten wie IMDG in einer virtuellen Umgebung wird von keiner bekannten Lösung behoben.
  • Wie für den Fachmann ersichtlich ist, können Aspekte der vorliegenden Erfindung als System, Verfahren, oder Computerprogrammprodukt ausgebildet werden. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder in einer Ausführungsform ausgebildet werden, die Software- und Hardware-Aspekte kombiniert, was hierin sämtlich allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet sein kann. Weiterhin können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts ausgebildet werden, das in einem oder mehreren computerlesbaren Medien mit darauf befindlichem computerlesbaren Programmcode enthalten sein kann.
  • Jede beliebige Kombination aus einem oder mehreren computerlesbaren Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein System, eine Vorrichtung oder eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer, Infrarot verwendender oder Halbleiter verwendender Art sowie eine beliebige geeignete Kombination des zuvor Genannten handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium kann Folgendes gehören (nicht erschöpfende Liste): eine elektrische Verbindung mit einer oder mehreren Leitungen, eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des zuvor Genannten. Im Kontext dieses Dokuments kann es sich bei einem computerlesbaren Speichermedium um jedes gegenständliche Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen beinhalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein ausgebreitetes Datensignal beinhalten, bei dem der computerlesbare Programmcode zum Beispiel in einem Basisbandsignal oder als Teil eines Trägerwellensignals ausgebildet ist. Solch ein ausgebreitetes Signal kann in jeder beliebigen einer Vielzahl von Formen ausgebildet werden, wie beispielsweise, jedoch nicht beschränkt auf elektromagnetische, optische oder jede geeignete Kombination davon. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen übertragen, verbreiten oder transportieren kann.
  • Der in einem computerlesbaren Medium ausgebildete Programmcode kann mittels jedes beliebigen geeigneten Mediums übertragen werden, darunter, jedoch nicht beschränkt auf, kabellose, kabelgebundene, Lichtwellenleiterkabel, HF usw., oder einer beliebigen geeigneten Kombination des zuvor Genannten. Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder Ähnliches und herkömmliche verfahrensorientierte Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk, darunter ein Nahbereichsnetzwerk (LAN) oder ein Weitbereichsnetzwerk (WAN) verbunden sein, oder es kann eine Verbindung zu einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden.
  • Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockdiagrammen von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Abbildungen von Ablaufplänen und/oder der Blockdiagramme sowie Kombinationen von Blöcken in den Abbildungen von Ablaufplänen und/oder den Blockdiagrammen durch Computerprogrammanweisungen realisiert werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockdiagramms angegebenen Funktionen/Handlungen erzeugen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich Anweisungen erzeugen, welche die im Block oder in den Blöcken des Ablaufplans und/oder des Blockdiagramms angegebenen Funktionen/Handlungen ausführen. Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer realisierten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockdiagramms angegebenen Funktionen/Handlungen bereitstellen.
  • Die Ablaufpläne und Blockdiagramme in den FIG. veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß vielfältigen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block im Ablaufplan oder den Blockdiagrammen für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion oder Funktionen aufweist. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die im Block angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinanderfolgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockdiagramme und/oder Abbildung von Ablaufplänen und Kombinationen von Blöcken in den Blockdiagrammen und/oder Abbildung von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.
  • Unter Bezugnahme auf die Zeichnungen, in denen gleiche Bezugszeichen für dieselben oder ähnliche Elemente stehen, und zunächst unter Bezugnahme auf 1, wird nun ein System 100 und ein Verfahren für eine Umgebung mit zusammenarbeitender Technologie veranschaulichend dargestellt. Das System 100 weist veranschaulichend eine virtuelle Umgebung mit fünf Hauptkomponenten auf: physische Maschinen 102, 104, virtuelle Maschinen 106, einen virtuellen Ressourcenverwalter (VRM) 110, ein Modul zur die Virtualisierung und die dynamische Ressourcenzuweisung berücksichtigenden Speicherebenenneuordnung (VSLR) 112 und einen Speicherressourcenverwalter (SRM) 114. Anwendungen 116 werden durch einzelne VMs 106 beherbergt und die physischen Maschinen 102, 104 können mehrere VMs 106 beherbergen. Jede VM 106 besitzt einen Anteil an Ressourcen (Netzwerk, Speicher und CPU), welcher der VM 106 zur Startzeit zugewiesen wurde, und teilt Ressourcen mit anderen VMs 106, die in derselben physischen Maschine 102, 104 mit beherbergt werden. Das VSLR-System 100 zeigt veranschaulichend zwei physische Maschinen: eine Ausgangsmaschine 102 und eine Zielmaschine 104, die mehrere VMs 106 beherbergen. Die Ausgangsmaschine 102 beherbergt eine VM 106 (VM1) mit einem IMDG-Knoten 118, der auf das Ziel 104 migriert werden soll.
  • Der SRM 114 ist für das Überwachen der Speichernutzung in der Speicherhierarchie im System 100 verantwortlich. Der SRM 114 baut Profiinformationen für die Speicherung und Speichereinheiten auf und stellt die Profilinformationen dem VRM 110 zur Verfügung. Der VRM 110 ist verantwortlich für das Treffen von Entscheidungen hinsichtlich des Neupositionierens (Migration) und Neubereitstellens virtueller Maschinen 106, das Koordinieren mit dem VSLR-Modul 112 und dem SRM 114, falls erforderlich, und das Ermitteln einer neuen Speicherebenenordnung für einen IMDG (118), der zu verwenden ist, wenn seine beherbergende VM (106) für ein mögliches Neupositionieren ausgewählt wurde. Der VRM 110 und Hypervisors 120 sind die einzigen Komponenten, die Entscheidungen zur dynamischen Ressourcenverwaltung berücksichtigen müssen. Die VSLR-Module 112 und die VMs 106 müssen lediglich die dynamischen Speicherebenen-Neuordnungsempfehlungen empfangen, ohne notwendigerweise Kenntnis der zugrundeliegenden Virtualisierungsschicht zu haben.
  • Das VSLR-Modul 112 spielt eine Vermittlerrolle zwischen den IMDG-Knoten 118 und dem VRM 110. Das VSLR-Modul 112 kann als Agent oder als Hilfs-VM 106 in jedem Host 102 oder 104 realisiert werden. Das VSLR-Modul 112 ist verantwortlich für das Informieren der IMDG-Knoten 118 über die Speicherebenen-Neuordnungsempfehlungen und das Berichten der durch jeden Knoten verwendeten Speicherebenenordnungen an den VRM 110.
  • Während einer Migration führt das System 100 die folgenden veranschaulichenden Funktionen durch, die in 1 durch eingekreiste Zahlen gekennzeichnet sind: (1) der VRM 110 informiert das VSLR-Modul 112 darüber, dass die VM1 für die Migration ausgewählt wurde, und schlägt eine neue Speicherebenenordnung für den in der VM1 (in diesem Fall nur Festplatte) beherbergten IMDG-Knoten 118 vor. (2) das VSLR-Modul 112 übermittelt die neue Speicherebenen-Ordnungsempfehlung an den IMDG-Behälter 122 in der VM1; (3) das IMDG 118 befolgt die neue Ordnung und geht in den die Zuweisung berücksichtigenden Modus über und schreibt für alle zukünftigen eingehenden Transaktionen auf eine Festplatte 126; (4) die Migration der VM1 beginnt und endet; (5) das IMDG 118 geht optional in einen Wiederherstellmodus über und synchronisiert die Ausgangsmaschine 102 und die Zielmaschine 104, falls erforderlich, indem sie während der Migration festgeschriebene Transaktionen ausführt; der VRM 110 empfiehlt ein Rückkehren der Speicherebenenordnung in den Normalmodus über das VSLR-Modul 112.
  • Die vorliegenden Ausführungsformen sind insbesondere für arbeitsspeicherinterne intensive Anwendungen, z.B. memcached, ObjectGrid™ usw. nützlich. Die vorliegende Realisierung variiert jedoch abhängig von der Anwendung. Die vorstehende Realisierung beruht auf dem Kontext von ObjectGrid™ (IBM IMDG). ObjectGrid™ besitzt integrierte Fähigkeiten, mit verschiedenen Speichereinheiten 130 über ein Ladermodul 124 zu interagieren, das in die physischen Einheiten 102, 104 (z.B. Server) eingebettet ist, weshalb es eine ideale veranschaulichende Wahl für diese Offenbarung darstellt. Andere Ausgestaltungen und Kontexte werden ebenfalls betrachtet.
  • Wann immer eine VM für eine Neupositionierung gekennzeichnet wurde, informiert der VRM 110 das VSLR-Modul 112 in der Ausgangsmaschine 102 und schlägt eine neue Speicherebenenordnung vor, die Profilinformationen folgt, die vom SRM 114 erhalten wurden (siehe eingekreiste 1). Das VSLR-Modul 112 informiert dann den in der ausgewählten VM beherbergten IMDG-Knoten 118 über die empfohlene Speicherordnung.
  • Sobald der VRM 110 eine gegebene VM 106, die eine IMDG-Anwendung 116 beherbergt, für eine Neupositionierung auswählt, erhält der VRM 110 Speicherprofilinformationen vom SRM 114. Zum Beispiel kann der VRM 110 die aktuelle Lese/Schreib-Anfragerate der lokalen Festplatte 126 oder die aktuelle Auslastung der mit der Ausgangsmaschine 102 verbundenen Flash-Speicherkarte erhalten. Der VRM 110 schlägt mithilfe dieser Informationen dem entsprechenden VSLR-Modul 112 eine neue durch den IMDG-Knoten 118 zu verwendende Speicherebenenordnung vor. Wird zum Beispiel angenommen, dass die Ausgangsmaschine 102 Zugriff auf einen entfernt angeordneten gemeinsam genutzten Speicher 130 und einen lokalen Speicher 126 besitzt, kann der VRM 110 den entfernt angeordneten Speicher als Primärspeicher vorschlagen, wenn seine effektive Bandbreite oberhalb eines bestimmten Schwellenwerts liegt, und die lokale Festplatte 126 oder den Hauptspeicher (nicht gezeigt) verwenden, um mit Überlaufsituationen umzugehen.
  • Eine Stärke der vorliegenden Grundgedanken rührt vom Durchführen dieses Speicherebenenneuordnens in einer die Virtualisierung berücksichtigenden Weise her. Bei vielen vorhandenen virtualisierten Infrastrukturen wird ein gemeinsam genutzter externer Speicher in Form eines Speicherbereichsnetzwerks (storage area network SAN) oder netzwerkverbundenen Speichers (network-attached storage NAS) verwendet, um die virtuellen Festplatten der VMs 106 zu unterstützen. Eine virtuelle Festplatte der zu migrierenden IMDG-VM 118 kann sich wahrscheinlich auf einem derartigen externen Speicher (130) befinden. In diesem Fall erleichtert das Heraufstufen der Festplatte der VM zum Primärspeicher die Anforderung, jeden Live-Zustand zu transferieren, da alle weiteren Aktualisierungen nach der Migration für die VM direkt sichtbar sind, da der Festplattenspeicherort der VM unverändert bleibt und von Hosts gemeinsam genutzt wird. Bei diesem Vorgang trägt das VSLR-Modul 112 dazu bei, die IMDGs 118 in virtualisierten Umgebungen effizient zu verwalten, indem der Aufwand von Maßnahmen der dynamischen Ressourcenzuweisung der zugrundeliegenden Virtualisierungsverwaltungsschicht erheblich verringert wird. Der gesamte IMDG-Betrieb wird im Gegensatz zum Neuordnen von Speicherebenen mit minimaler Unterbrechung fortgesetzt. Wie von den vorliegenden Erfindern gezeigt, stellt gemeinsam genutzter Speicher nichtsdestoweniger keine begrenzende Notwendigkeit für die dynamische Ressourcenzuweisung dar. Es ist wichtiger, dass Anwendungen mit hohen Datenortanforderungen - wie Mapreduce™ und Datenanalysen - stark von der Verwendung von VMs mit verbundenem Speicher profitieren. Unter solchen Bedingungen können VMs mit getrenntem Speicher zwischen Hosts migriert werden.
  • Um diese Fälle allgemein mit einzubeziehen, führen die vorliegenden Ausführungsformen einen separaten IMDG-Betriebsmodus für die Wiederherstellung nach einer Ressourcenzuweisung ein. Für ein dynamisches Neuordnen von Speicherebenen kann davon ausgegangen werden, dass der IMDG-Knoten 118 die vom VSLR-Modul 112 vorgeschlagene Ordnung übernimmt. Nichtsdestoweniger kann diese Voraussetzung leicht gelockert werden, um intelligentere anwendungsgestützte Ressourcenverwaltungstechniken aufzunehmen. Während seiner Lebensdauer kann ein IMDG-Knoten zwischen mehreren Moden umschalten, z.B.: Normalmodus, Übergangsmodus und Wiederherstellmodus. Bei Bedarf können weitere Modi entwickelt und realisiert werden.
  • Im Normalmodus arbeitet ein IMDG 118 mit der zum Startzeitpunkt festgelegten Speicherebenenordnung. Mit anderen Worten, Benutzertransaktionen werden nur im IMDG-Hauptspeicher ausgeführt und der Sekundärspeicher bei Überlaufsituationen verwendet. Dies entspricht dem normalen Betrieb eines IMDG-Knotens. Sobald er die neue Speicherebenenordnung vom VSLR-Modul 112 erhält, geht der IMDG-Knoten 118 in den Übergangsmodus über. Während dieses Modus ist der IMDG-Knoten 118 in der Lage, eine andere - durch den VRM 110 vorgeschlagene - Speicherebenenordnung zu befolgen, um wirksam auf eine Speichereinheit durchzuschreiben, die im Normalmodus eine niedrigere Ordnung einnimmt. Dies führt zu einer Verringerung der Anzahl von Live-Zustands-Daten in der den IMDG-Knoten 118 beherbergenden VM und verringert somit deutlich den Aufwand der dynamischen Ressourcenzuweisung.
  • Ein IMDG-Knoten 118 kann nach einem während der VM-Migration ausgelösten Übergangsmodus, d.h. nachdem die Live-Zustands-Daten der VM zur Zielmaschine 104 migriert wurden, in den Wiederherstellmodus wechseln. Dieser Modus beinhaltet ein Anwenden aller Transaktionen, die festgeschrieben wurden, während sich der IMDG 118 im Übergangsmodus befand, auf den dem IMDG-Knoten in der Zielmaschine 104 zugewiesenen Speicherplatz. Wenn die im Übergangsmodus festgeschriebenen Transaktionen wie im Falle des Modells eines gemeinsam genutzten Speichers bereits für die VM 106 persistent sind, ist dieser Modus nicht allgemein notwendig. Insgesamt beschreiben die vorliegenden Grundgedanken ein einzigartiges und wirksames Verfahren zur effizienten Zusammenarbeit der Virtualisierungsressourcenverwaltung mit speicherintensiven Anwendungen bei besonderem Augenmerk auf IMDGs, obwohl auch andere Systeme verwendet werden können. Durch Einbeziehen des beschriebenen VSLR-Moduls 112 in deren gemeinsamen Betrieb und das Ermöglichen der dynamischen Neuordnung der Speicherebenen stellen die vorliegenden Ausführungsformen einen wirksamen Ansatz zum Verwalten zweier wichtiger Cloud-Computing-Techniken bereit, die ansonsten miteinander im Wettstreit liegende Eigenschaften aufweisen. Die beschriebenen Systeme und Verfahren wandeln solche im Wettstreit liegenden Eigenschaften in einen klar definierten zusammenarbeitenden Betrieb um.
  • Insbesondere wird die effiziente, die Migration berücksichtigende Zustandsverwaltung sowohl aus Sicht der Ressourcenverwaltung als auch der Anwendungsleistungsverwaltung bereitgestellt, indem das VSLR-Modul 112 gemäß den vorliegenden Grundgedanken verwendet wird. Das VSLR-Modul 112 ist für die hochwirksame Zusammenarbeit zwischen unterschiedlichen Technologien bei speicherintensiven Anwendungen besonders nützlich.
  • Unter Bezugnahme auf 2 wird ein Verfahren zum Realisieren einer Veränderung mittels Speicherebenenordnungen gemäß einem veranschaulichenden Beispiel gezeigt. In Block 202 kennzeichnet ein VRM VMs für das Neupositionieren. In Block 204 erhält der VRM Speicherprofilinformationen vom SRM. Der SRM baut Profilinformationen bezüglich der Auslastung/Verfügbarkeit der mehreren Speicherebenen und Einheiten im System auf, um Profilinformationen von der Speicherschicht zu erhalten. Zum Beispiel kann er die effektive Bandbreite lokaler Festplatten und Netzwerkspeicher, die Speicherauslastung von Flash-Speicherkarten in physischen Maschinen usw. erhalten. Verfahren zum Erhalten dieser Art von Informationen können eine Vielzahl von Formen annehmen. Zum Beispiel können bestehende Produkte wie VMware eingebaute Module beinhalten, um diese Profilinformationen mit minimalem Aufwand zu erhalten.
  • In Block 206 stellt der VRM eine neue Speicherebenen-Ordnungsempfehlung für IMDG-VMs bereit. In Block 208 informiert der VRM die IMDGs in VMs über ein VSLR-Modul über die neue Speicherebenenordnung. In Block 210 wenden die IMDGs die neue Speicherebenenordnung an. In Block 212 führt der VRM Neupositionierungsmaßnahmen durch. Ein Neupositionieren von VMs kann aus vielen Gründen ausgelöst werden. Zum Beispiel Wartungsaufgaben, z.B. Herunterfahren einer physischen Maschine, um Abhilfemaßnahmen und Aktualisierungsaufgaben durchzuführen, Maßnahmen der dynamischen Ressourcenverwaltung, um dynamisch auftretende Probleme bei Ressourcenzugangskonflikten zu verringern usw. Für das Neupositionieren von VMs gibt es mehrere Techniken.
  • In Block 214 kann der VRM über das VSLR-Modul das Zurückkehren zu einer ursprünglichen Speicherebenenordnung empfehlen. In Block 216 wartet der VRM bis zu einer nächsten Ressourcenverwaltungsperiode. In Block 218 berechnet der VRM eine optimale Ressourcenzuweisung für einen aktuellen Cluster-Zustand oder eine aktuelle Speicherhierarchie. In Block 220 wird eine Feststellung getroffen, ob eine VM-Neupositionierung notwendig ist. Falls ja, wird mit Block 202 fortgefahren, und falls nein, mit Block 216.
  • Unter Bezugnahme auf 3 wird ein Verfahren zum Neuordnen von Speicherebenen in einer virtualisierten Umgebung gemäß einer beispielhaften Ausführungsform gezeigt, welches das Neupositionieren von VMs insbesondere für speicherintensive Anwendungen effizienter durchführt. Zu der speicherintensiven Anwendung können speicherintensive Anwendungen in der Form von arbeitsspeicherinternen (engl.: in-memory) Daten-Grids (IMDGs) gehören.
  • In Block 302 wird eine an einem neuen Speicherort neu zu positionierende oder neu bereitzustellende virtuelle Maschine (VM) identifiziert oder ausgewählt. In Block 304 wird eine neue Speicherebenenordnung für die VM ermittelt, die einen Live-Zustand einer VM während eines Migrationstransfers verringert und gemeinsam genutzten Speicher, virtuelle Festplattenorte der VM und durch eine Anwendung auferlegte Anforderungen von Dienstgütevereinbarungen (SLAs) usw. berücksichtigt, um die Wiederherstellvorgänge nach dynamischen Ressourcenzuweisungsaktionen zu verringern. Andere Erwägungen können ebenfalls verwendet werden, um die Empfehlung zu geben. In einer Ausführungsform werden in Block 307 Speicherebenenbedingungen durch einen Virtualisierungsressourcenverwalter (VRM) mithilfe eines Speicherressourcenverwalters (SRM) bewertet, wodurch Profilinformationen für verschiedene Speicherebenen bereitgestellt werden. In Block 308 entscheidet der VRM über Maßnahmen zur dynamischen Ressourcenzuweisung und erstellt Speicherebenen-Neuordnungsempfehlungen für unterschiedliche VMs.
  • In Block 310 wird die neue Speicherebenen-Ordnungsempfehlung den VMs übermittelt, und die neue Speicherebenenordnung wird in den VMs angewandt. In Block 312 vermittelt ein Modul zur die Virtualisierung und die dynamische Ressourcenzuweisung berücksichtigenden Speicherebenenneuordnung (VSLR) zwischen Anwendungsknoten (z.B. den IMDG-Knoten) und dem VRM, um jedem Knoten VRM-Empfehlungen zu übermitteln, Knotenaktionen zu überwachen und dem VRM das aktuelle Verhalten zu berichten.
  • In Block 314 beinhalten Anwendungsknoten (z.B. IMDGs) bestimmte Operationsmodi für einen Normalbetrieb, einen Übergangsmodus, wenn eine Speicherebene neugeordnet wird, und einen Wiederherstellmodus, um nach dem Übergangsmodus zum normalen Betrieb zurückzukehren. Die Modi werden bereitgestellt, um wirksame Übergangsmaßnahmen sicherzustellen (z.B. Neupositionieren oder Neubereitstellen). In Block 316 können die Knoten (z.B. IMDGs) mindestens einen zusätzlichen intelligenten Selbstregelungsmechanismus verwenden, um eine Speicherebenenordnung auf der Grundlage von VSLR-Empfehlungen und lokalen Optimalitätskriterien dynamisch auszuwählen. Der IMDG-Knoten oder der andere Knoten kann die Empfehlung des VRM übernehmen oder die Empfehlung gemäß festgelegter Kriterien übergehen. Zum Beispiel kann der VRM den Knoten empfehlen, den RAM-gestützte Speicher auf die höchste Ebene zu setzen (d.h. primär), gemäß der lokalen CPU- oder Speicherauslastungsüberwachung kann der Knoten jedoch festplattengestützten Speicher auswählen. Mittels einfacher Rückmeldungssteuerungsmechanismen kann der Knoten auch Informationen bezüglich der durch die Anwendung wahrgenommen Leistung (z.B. Reaktionszeit, Durchsatz) einsetzen. Zum Beispiel kann der VRM den Knoten eine Speicherhierarchie mit 2 Ebenen empfehlen, was Flash-gestützten und festplattengestützten Speicher als Primär- bzw. Sekundärebene einschließt. Wenn die Anwendung einen schwachen Durchsatz gemeldet hat, können die Knoten eine reaktivere Speicherordnung bevorzugen, wie beispielsweise diejenige, die RAMgestützten bzw. Flash-gestützten Speicher aufweist.
  • In Block 318 wird nach Neupositionierungsmaßnahmen eine andere Speicherebenenordnung empfohlen. Dazu kann nach den Neupositionierungsmaßnahmen ein Zurückkehren zur ursprünglichen Speicherebenenordnung oder ein Übernehmen einer neuen Speicherebenenordnung gehören. In Block 320 wird eine nächste zu überführende VM berücksichtigt, bis alle ausgewählten oder für Übergänge identifizierten VMs erreicht sind.
  • Nachdem bevorzugte Ausführungsformen für eine die Virtualisierung und die dynamische Ressourcenzuweisung berücksichtigende Speicherneuordnung beschrieben wurden (die veranschaulichend und nicht einschränkend anzusehen sind), wird festgehalten, dass durch den Fachmann Modifikationen und Variationen in Hinblick auf die vorstehende Lehre vorgenommen werden können. Es ist daher offensichtlich, dass Änderungen an den speziellen offenbarten Ausführungsformen vorgenommen werden können, die innerhalb des Umfangs der Erfindung liegen, wie sie in den angehängten Ansprüchen dargelegt ist. Nachdem somit Aspekte der Erfindung mit den gemäß der Patentgesetzgebung erforderlichen Einzelheiten und Besonderheiten beschrieben wurden, wird der beanspruchte Inhalt, für den Patentschutz gewünscht wird, in den angehängten Ansprüchen zum Ausdruck gebracht.

Claims (16)

  1. Verfahren zur Migration einer virtuellen Maschine in einer Cloud von einem ersten Host zu einem zweiten Host durch einen virtuellen Ressourcenmanager (VRM), wobei ein Live-Zustand der virtuellen Maschine in einer Speichermedienhierarchie abgelegt ist, wobei die Speichermedienhierarchie ein erstes Speichermedium mit niedrigen Latenzzeiten oder einer hohen Bandbreite und ein zweites Speichermedium mit höheren Latenzzeiten beziehungsweise einer niedrigeren Bandbreite aufweist, wobei das erste Speichermedium als Datencache für eine Life-Zustand der virtuellen Maschine verwendet wird, wobei das zweite Speichermedium von entsprechenden Hosts der virtuellen Maschine gemeinsam genutzt wird, wobei nach einer Identifikation einer zu migrierenden virtuellen Maschine der virtuelle Ressourcenmanager in einem ersten Modus veranlasst wird, dass zukünftige Transaktionen, die den Live-Zustand der entsprechenden virtuellen Maschine ändern würden, ausschließlich auf das zweite Speichermedium geschrieben werden, und wobei der virtuelle Ressourcenmanager nach der Migration eine Synchronisation der entsprechenden virtuellen Maschine auf dem ersten Host mit der virtuellen Maschine auf dem zweiten Host veranlasst, sodass während der Migration auf dem zweiten Speichermedium festgeschriebene Transaktionen auf der virtuellen Maschine auf dem zweiten Host ausgeführt werden.
  2. Verfahren nach Anspruch 1, wobei eine Anwendung der zu migrierenden virtuellen Maschine eine speicherintensive Anwendung in der Form von arbeitsspeicherinternen Daten-Grids (IMDGs) aufweist.
  3. Verfahren nach Anspruch 2, wobei die IMDGs bestimmte Operationsmodi für einen Normalmodus, den ersten Modus, wenn Speichermedien neugeordnet werden, und einen Wiederherstellmodus, um nach der Migration zum normalen Betrieb zurückzukehren, aufweisen.
  4. Verfahren nach Anspruch 1, wobei der erste Modus unter Steuerung durch den virtuellen Ressourcenmanager (VRM) mithilfe eines Speicherressourcenmanagers (SRM) geschieht, wodurch Profilinformationen für unterschiedliche Speichermedienhierarchien bereitgestellt werden.
  5. Verfahren nach Anspruch 4, wobei die Profilinformationen aus Informationen über Dienstgütevereinbarungen (SLA) aufweisen.
  6. Verfahren nach Anspruch 4, wobei der virtuellen Ressourcenmanager VRM über Maßnahmen zur dynamischen Ressourcenzuweisung entscheidet und Speichermedien-Neuordnungsempfehlungen für unterschiedliche VMs erstellt (308).
  7. Verfahren nach Anspruch 2, weiterhin aufweisend: Vermitteln (312) zwischen den IMDG-Knoten und dem virtuellen Ressourcenmanager VRM mittels eines Moduls zur die Virtualisierung und die dynamische Ressourcenzuweisung berücksichtigenden Speichermedienhierarchiezuordnung (VSLR), wobei das VSLR-Modul VRM-Empfehlungen an jeden IMDG-Knoten übermittelt und IMDG-Aktionen überwacht und dem VRM das aktuelle Verhalten berichtet.
  8. Verfahren nach Anspruch 7, wobei die IMDGs mindestens einen zusätzlichen intelligenten Selbstregelungsmechanismus verwenden, um eine Speichermedienzuordnung auf Grundlage von VSLR-Empfehlungen und lokalen Optimalitätskriterien dynamisch auszuwählen.
  9. Verfahren nach einem der vorangegangenen Ansprüche, auch aufweisend ein Prüfen, ob weitere virtuelle Maschinen zu migrieren sind.
  10. Computerlesbares Speichermedium, das ein computerlesbares Programm zum zur Migration einer virtuellen Maschine in einer Cloud von einem ersten Host zu einem zweiten Host durch einen virtuellen Ressourcenmanager (VRM)aufweist, wobei das computerlesbare Programm bei Ausführung auf einem Computer den Computer veranlasst, das Verfahren gemäß einem der Ansprüche 1 bis 7 auszuführen.
  11. System zur Migration einer virtuellen Maschine in einer Cloud von einem ersten Host zu einem zweiten Host durch einen virtuellen Ressourcenmanager (VRM), wobei ein Live-Zustand der virtuellen Maschine in einer Speichermedienhierarchie abgelegt ist, wobei die Speichermedienhierarchie ein erstes Speichermedium mit niedrigen Latenzzeiten oder einer hohen Bandbreite und ein zweites Speichermedium mit höheren Latenzzeiten beziehungsweise einer niedrigeren Bandbreite aufweist, wobei das erste Speichermedium als Datencache für eine Life-Zustand der virtuellen Maschine verwendet wird, wobei das zweite Speichermedium von entsprechenden Hosts der virtuellen Maschine gemeinsam genutzt wird, wobei nach einer Identifikation einer zu migrierenden virtuellen Maschine der virtuelle Ressourcenmanager in einem ersten Modus veranlasst wird, dass zukünftige Transaktionen, die den Live-Zustand der entsprechenden virtuellen Maschine ändern würden, ausschließlich auf das zweite Speichermedium geschrieben werden, und wobei der virtuelle Ressourcenmanager nach der Migration eine Synchronisation der entsprechenden virtuellen Maschine auf dem ersten Host mit der virtuellen Maschine auf dem zweiten Host veranlasst, sodass während der Migration auf dem zweiten Speichermedium festgeschriebene Transaktionen auf der virtuellen Maschine auf dem zweiten Host ausgeführt werden.
  12. System nach Anspruch 11, wobei die virtuellen Maschinen in der Form von arbeitsspeicherinternen Daten-Grids (IMDGs) vorliegen.
  13. System nach Anspruch 12, wobei das IMDG bestimmte Operationsmodi aufweist, zu denen ein Normalmodus, der erste Modus, wenn Speichermedien neu zugeordnet werden, und ein Wiederherstellmodus, um nach der Migration zum normalen Betrieb zurückzukehren, zählen.
  14. System nach Anspruch 12, wobei ein Moduls zur die Virtualisierung und die dynamische Ressourcenzuweisung berücksichtigenden Speichermedienhierarchiezuordnung (VSLR) als Vermittler zwischen einem IMDG-Knoten und dem VRM fungiert, so dass das VSLR-Modul VRM-Empfehlungen an jeden IMDG-Knoten übermittelt und das VSLR-Modul IMDG-Aktionen überwacht und dem VRM das aktuelle Verhalten berichtet.
  15. System nach Anspruch 12, wobei der IMDG-Knoten so eingerichtet ist, dass er einen intelligenten Selbstregelungsmechanismus verwendet, um seine Speicherebenenordnung auf Grundlage von VSLR-Empfehlungen und seinen lokalen Optimalitätskriterien dynamisch auszuwählen.
  16. System nach Anspruch 11, weiterhin aufweisend: der Speicherressourcenmanager SRM (114), der so eingerichtet ist, dass er die Profilinformationen für unterschiedliche Speicherebenen bereitstellt, um den VRM beim Geben seiner Empfehlungen zu unterstützen.
DE112011101633.6T 2010-05-11 2011-02-10 Virtualisierung und dynamische Ressourcenzuweisung berücksichtigendes Neuordnen von Speicherebenen Active DE112011101633B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/777,394 2010-05-11
US12/777,394 US20110283277A1 (en) 2010-05-11 2010-05-11 Virtualization and dynamic resource allocation aware storage level reordering
PCT/US2011/024343 WO2011142862A2 (en) 2010-05-11 2011-02-10 Virtualization and dynamic resource allocation aware storage level reordering

Publications (2)

Publication Number Publication Date
DE112011101633T5 DE112011101633T5 (de) 2013-03-07
DE112011101633B4 true DE112011101633B4 (de) 2020-04-02

Family

ID=44912866

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011101633.6T Active DE112011101633B4 (de) 2010-05-11 2011-02-10 Virtualisierung und dynamische Ressourcenzuweisung berücksichtigendes Neuordnen von Speicherebenen

Country Status (5)

Country Link
US (3) US20110283277A1 (de)
DE (1) DE112011101633B4 (de)
GB (1) GB2513288B (de)
TW (1) TW201214284A (de)
WO (1) WO2011142862A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012000693B4 (de) 2011-03-31 2024-04-25 International Business Machines Corporation Ausführen einer Vielzahl von Instanzen einer Anwendung

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231768B2 (en) * 2010-06-22 2016-01-05 International Business Machines Corporation Utilizing a deterministic all or nothing transformation in a dispersed storage network
US8612577B2 (en) * 2010-11-23 2013-12-17 Red Hat, Inc. Systems and methods for migrating software modules into one or more clouds
US9436515B2 (en) * 2010-12-29 2016-09-06 Sap Se Tenant virtualization controller for exporting tenant without shifting location of tenant data in a multi-tenancy environment
US9285992B2 (en) * 2011-12-16 2016-03-15 Netapp, Inc. System and method for optimally creating storage objects in a storage system
JP5949782B2 (ja) * 2011-12-28 2016-07-13 富士通株式会社 監視プログラム、監視方法および監視装置
US9086937B2 (en) 2012-05-16 2015-07-21 Apple Inc. Cloud-based application resource files
CN103634330A (zh) * 2012-08-20 2014-03-12 曙光信息产业(北京)有限公司 一种云计算环境下的资源自动分配方法
KR101435499B1 (ko) * 2012-10-31 2014-08-29 서강대학교산학협력단 가상 클라우드 환경 내 맵리듀스 클러스터 및 이를 위한 설계방법
WO2014141393A1 (ja) * 2013-03-12 2014-09-18 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
JP6382819B2 (ja) 2013-08-21 2018-08-29 株式会社東芝 データベースシステム、ノード、管理装置、プログラムおよびデータ処理方法
WO2015029139A1 (ja) 2013-08-27 2015-03-05 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
US9817683B2 (en) * 2014-01-10 2017-11-14 Dell Products, Lp Optimized remediation policy in a virtualized environment
US9886310B2 (en) 2014-02-10 2018-02-06 International Business Machines Corporation Dynamic resource allocation in MapReduce
EP3140734B1 (de) 2014-05-09 2020-04-08 Nutanix, Inc. Mechanismus zur bereitstellung von externem zugriff auf eine gesicherte vernetzte virtualisierungsumgebung
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
EP3021251A1 (de) 2014-11-14 2016-05-18 Hewlett-Packard Development Company, L.P. Dynamische Anpassung eines Modells für ein Sicherheitsbetriebszentrum
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10277736B2 (en) 2015-07-30 2019-04-30 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for determining whether to handle a request for communication services by a physical telephone number mapping service or a virtual telephone number mapping service
US9866521B2 (en) 2015-07-30 2018-01-09 At&T Intellectual Property L.L.P. Methods, systems, and computer readable storage devices for determining whether to forward requests from a physical telephone number mapping service server to a virtual telephone number mapping service server
US9851999B2 (en) 2015-07-30 2017-12-26 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for handling virtualization of a physical telephone number mapping service
US9888127B2 (en) 2015-07-30 2018-02-06 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for adjusting the use of virtual resources providing communication services based on load
US10540165B2 (en) 2016-02-12 2020-01-21 Nutanix, Inc. Virtualized file server rolling upgrade
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
US9910768B1 (en) * 2016-05-23 2018-03-06 Parallels IP Holdings GmbH Method for memory management for virtual machines
US10289438B2 (en) * 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US10416892B2 (en) 2016-06-24 2019-09-17 International Business Machines Corporation Fileset-based data locality enablement in distributed file systems
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
CN107045476A (zh) * 2016-12-20 2017-08-15 中电科华云信息技术有限公司 基于虚拟化的软件测试服务实现方法和系统
US10509667B1 (en) * 2017-01-19 2019-12-17 Tintri By Ddn, Inc. Modeling space consumption of a migrated VM
US10956196B1 (en) 2017-01-19 2021-03-23 Tintri By Ddn, Inc. Load balancing VM selection and movement
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10798015B2 (en) 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
CN114780272B (zh) * 2022-04-18 2023-03-17 北京亚康万玮信息技术股份有限公司 基于共享存储和虚拟化的智能故障自愈调度方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978583A (en) 1995-08-07 1999-11-02 International Business Machines Corp. Method for resource control in parallel environments using program organization and run-time support
EP0948769A1 (de) 1996-12-30 1999-10-13 Cirrus Logic, Inc Echtzeitsdiensten in rüchwärts-kompatibel betriebssystemen
US6732220B2 (en) 1999-02-17 2004-05-04 Elbrus International Method for emulating hardware features of a foreign architecture in a host operating system environment
US7523286B2 (en) 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US7529903B2 (en) 2005-07-05 2009-05-05 International Business Machines Corporation Systems and methods for memory migration
US20070038679A1 (en) * 2005-08-15 2007-02-15 Mcdata Corporation Dynamic configuration updating in a storage area network
US7447806B2 (en) 2005-09-22 2008-11-04 International Business Machines Corporation Method and apparatus for centralization configuration of data processing systems
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
US8171485B2 (en) * 2007-03-26 2012-05-01 Credit Suisse Securities (Europe) Limited Method and system for managing virtual and real machines
US8195866B2 (en) 2007-04-26 2012-06-05 Vmware, Inc. Adjusting available persistent storage during execution in a virtual computer system
US7653799B2 (en) 2007-05-19 2010-01-26 International Business Machines Corporation Method and apparatus for managing memory for dynamic promotion of virtual memory page sizes
US8069190B2 (en) * 2007-12-27 2011-11-29 Cloudscale, Inc. System and methodology for parallel stream processing
US8386610B2 (en) * 2007-12-31 2013-02-26 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
US20090204718A1 (en) 2008-02-08 2009-08-13 Lawton Kevin P Using memory equivalency across compute clouds for accelerated virtual memory migration and memory de-duplication
US20090222506A1 (en) * 2008-02-29 2009-09-03 Evident Software, Inc. System and method for metering and analyzing usage and performance data of a virtualized compute and network infrastructure
US8972978B2 (en) * 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Voorsluys, W. et al.: Cost of Virtual Machine Live Migration in Clouds: A Performance Evaluation. In: Proceedings of the First International Conference, CloudCom 2009, Beijing, China, December 2009, LNCS5931, Springer-Verlag Berlin Heidelberg. S. 254 - 265 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012000693B4 (de) 2011-03-31 2024-04-25 International Business Machines Corporation Ausführen einer Vielzahl von Instanzen einer Anwendung

Also Published As

Publication number Publication date
US20150220359A1 (en) 2015-08-06
GB2513288B (en) 2017-02-01
US9043790B2 (en) 2015-05-26
WO2011142862A3 (en) 2014-01-03
US20130326517A1 (en) 2013-12-05
TW201214284A (en) 2012-04-01
WO2011142862A2 (en) 2011-11-17
US20110283277A1 (en) 2011-11-17
DE112011101633T5 (de) 2013-03-07
US9262199B2 (en) 2016-02-16
GB2513288A (en) 2014-10-29

Similar Documents

Publication Publication Date Title
DE112011101633B4 (de) Virtualisierung und dynamische Ressourcenzuweisung berücksichtigendes Neuordnen von Speicherebenen
DE102015105884B4 (de) Rechenknoten und Verfahren zur Migration einer virtuellen Maschine, Rechenzentrummanager zur Migration virtueller Maschinen, Maschinenlesbares Speichermedium und Rechenvorrichtungen
DE102016221811B4 (de) Zuordnung von Ressourcen mit mehrschichtigem Speicher
DE112011101705B4 (de) Migrieren virtueller Maschinen zwischen vernetzten Servern nach Erkennung der Verschlechterung der Funktion der Netzwerkverbindung
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE112017003688T5 (de) Technologien zur Durchführung einer Orchestrierung mit Online-Analyse von Telemetriedaten
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE102008013081A1 (de) Verfahren und Anordnung zur Ressourcen-Zuweisung an Sicherungs-Tasks in einem Datensicherungssystem
DE102014117462A1 (de) Poolen von Speicherressourcen über mehrere Knoten hinweg
DE112013000369T5 (de) Verwaltung von Threads innerhalb einer Datenverarbeitungsumgebung
DE112020004661T5 (de) Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex
DE102008015185A1 (de) Hierarchisches Speichersystem mit vorausschauender Datenübertragung
DE112014002754T5 (de) Effiziente Aufgabenplanung unter Verwendung eines Sperrmechanismus
DE112015004564B4 (de) Ereignisgesteuerte Reoptimierung einer logisch partitionierten Umgebung zur Energieverwaltung
DE112012000693T5 (de) Ausführen einer Vielzahl von Instanzen einer Anwendung
DE112018005268T5 (de) Priorisieren von anwendungen für eine diagonale skalierung in einer verteilten datenverarbeitungsumgebung
DE112021003276T5 (de) Ressourcenverwaltung einer softwareanwendung mit mehreren softwarekomponenten
DE112021003294T5 (de) Systemverwaltung auf grundlage von leistung und leistungsfähigkeit
DE112020004116T5 (de) Dynamisches abändern der parallelität einer aufgabe in einer pipeline
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE102021127254A1 (de) Inhaltssensitives Auswählen von Knoten zum Erstellen von Containern
DE112017001376T5 (de) Erkennen und Vorhersagen von Engpässen in komplexen Systemen
DE112019000421T5 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112018000900T5 (de) Verarbeiten eines Befehls zum Freigeben von Speicherplatz in einem Computersystem
DE112012003307T5 (de) System zum Energieeinsparen bei Unternehmensdatenzentren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final