DE112011102115B4 - Transparente Steigerung von Energieeinsparungen in einer Energieverbrauchs-Steuerungsumgebung - Google Patents

Transparente Steigerung von Energieeinsparungen in einer Energieverbrauchs-Steuerungsumgebung Download PDF

Info

Publication number
DE112011102115B4
DE112011102115B4 DE112011102115.1T DE112011102115T DE112011102115B4 DE 112011102115 B4 DE112011102115 B4 DE 112011102115B4 DE 112011102115 T DE112011102115 T DE 112011102115T DE 112011102115 B4 DE112011102115 B4 DE 112011102115B4
Authority
DE
Germany
Prior art keywords
resource
chip
unfolded
logical partition
source
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
DE112011102115.1T
Other languages
English (en)
Other versions
DE112011102115T5 (de
Inventor
Naresh Nayar
Freeman Leigh Rawson III
Karthick Rajamani
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 DE112011102115T5 publication Critical patent/DE112011102115T5/de
Application granted granted Critical
Publication of DE112011102115B4 publication Critical patent/DE112011102115B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Es wird ein Mechanismus zur transparenten Konsolidierung von Betriebsmitteln logischer Partitionen bereitgestellt. Als Reaktion auf das Vorhandensein des nicht gefalteten Betriebsmittels auf einem Ursprungs-Betriebsmittelchip stellt der Virtualisierungsmechanismus fest, ob ein Ziel-Betriebsmittelchip vorhanden ist, um entweder die Operationen des nicht gefalteten Betriebsmittels mit einem gefalteten Betriebsmittel auf dem Ziel-Chip zu tauschen oder die Operationen des nicht gefalteten Betriebsmittels zu einem nicht gefalteten Betriebsmittel auf dem Ziel-Chip zu migrieren. Als Reaktion auf das Vorhandensein des gefalteten Betriebsmittels auf dem Ziel-Betriebsmittelchip tauscht der Virtualisierungsmechanismus auf transparente Weise die Operationen des nicht gefalteten Betriebsmittels von dem Ursprungs-Betriebsmittelchip zu dem gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip, wobei das gefaltete Betriebsmittel auf dem Ursprungs-Betriebsmittelchip nach dem Tausch gefaltet bleibt. Als Reaktion auf das Nichtvorhandensein eines weiteren nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip versetzt der Virtualisierungsmechanismus den Ursprungs-Betriebsmittelchip in einen höheren Energiesparmodus.

Description

  • Technisches Fachgebiet
  • Die vorliegende Anmeldung betrifft allgemein eine verbesserte Datenverarbeitungsvorrichtung und ein derartiges Verfahren und insbesondere Mechanismen zur transparenten Steigerung der Energieeinsparungen in einer Energieverbrauchs-Steuerungsumgebung.
  • Hintergrundinformationen
  • Bei den Energiekunden zeichnet sich der Wunsch nach einer besseren Energieverbrauchs- und Wärmesteuerung bei Serversystemen ab. Kunden erwarten in zunehmendem Maße von Systemen, dass diese auf energieeffiziente Weise funktionieren. Kunden erwarten auch, dass sie Richtlinien festlegen können, mit deren Hilfe Energieverbrauch und Leistung gegeneinander abgewogen werden können, um die speziellen Ziele der Kunden zu erreichen. Kunden möchten beispielsweise dazu in der Lage sein, ihre Installationen im Verhältnis zu den maximalen Nennwerten für Energieverbrauch und Temperatur der von ihnen installierten Systeme „überzuversorgen”. Sie möchten jedoch auch dazu in der Lage sein, die Vorteile der Veränderlichkeit von Arbeitsbelastung und Ausnutzung zu nutzen, um sicherzustellen, dass die Systeme ordnungsgemäß und innerhalb der Grenzen der verfügbaren Energieversorgung und Kühlung funktionieren.
  • IBM® EnergyScaleTM steuert den Energieverbrauch und die Temperatur laufender Systeme auf leistungsbewusste Weise, geleitet durch eine Gruppe von Richtlinien und Zielen, die mithilfe der IBM EnergyScale-Benutzerschnittstellen festgelegt werden. Zu diesem Zweck realisiert IBM EnergyScale detaillierte periodische Messungen von Energieverbrauch und Wärme des Prozessorkerns, Messungen des Energieverbrauchs der gesamten Hauptplatine, wie auch aller gesteckten Prozessorkarten und Messungen von Speicherenergieverbrauch und -temperatur in dem System. IBM EnergyScale verwendet die Ergebnisse dieser Messungen, um den Betrieb und die Konfiguration des Systems anzupassen und durch Anwendung einer geschlossenen Echtzeit-Rückkopplungssteuerung festgelegte Ziele für Energieverbrauch, Temperatur und Leistung zu erreichen.
  • Eines der Werkzeuge, die bei IBM EnergyScale zum Steuern des Energieverbrauchs verwendet werden, ist das Anpassen von Frequenz und Spannung der Prozessorchips und -kerne in dem System, um die Verlustleistung als eine Funktion der vom Benutzer festgelegten Energieskalierungsrichtlinie zu steuern. Bei frühen IBM EnergyScale-Entwürfen war es erforderlich, die Spannung und Frequenz aller zentralen Verarbeitungseinheiten (central processing units, CPUs) in dem System auf demselben Wert zu halten. Mit der Weiterentwicklung von Entwurf und Realisierung von IBM EnergyScale wurde es möglich, Kerne in einem System mit unterschiedlichen Frequenzen und Spannungen laufen zu lassen und modernere Energiesparalgorithmen zu realisieren.
  • In den US-Patenten 7334142-B2 / 7194641-B2 (Hack, M. E., „Reducing Power Consumption in a Logically Partitioned Data Processing System with Operating System Call that indicates a Selected Processor is Unneeded for a Period of Time”, 19. Februar 2008) wird ein Verfahren zum Verwalten einer Gruppe von Prozessoren offenbart. Ein von einem Betriebssystem empfangener Aufruf zeigt an, dass ein gewählter Prozessor aus der Gruppe eine Zeit lang nicht benötigt wird. Als Reaktion darauf wird der Betrieb des gewählten Prozessors verändert, um den Energieverbrauch während dieses Zeitraums zu verringern.
  • In der US-Patentanmeldung mit der Veröffentlichungsnummer 20090282300-A1 (Heyrman, P. J., „Partition Transparent Memory Error Handling in a Logically Partitioned Computer System with Mirrored Memory”), 12. November 2009) wird ein Verfahren zur transparenten Fehlerbehandlung bei wiederholten korrigierbaren und nicht korrigierbaren Fehlern in einem gespiegelten Speichersystem offenbart, das teure Systemabschaltungen bei korrigierbaren Speicherfehlern oder Systemversagen aufgrund nicht korrigierbarer Speicherfehler verhindert.
  • Aus diesem Grund besteht in dem Fachgebiet das Bedürfnis, sich mit den vorstehend erwähnten Problemen zu befassen.
  • Die US 2010/0146513 A1 offenbart einen Multikernprozessor, der ein gleichzeitiges Multithreading unterstützt, wobei ein Leistungsverbrauchzustand für jeden logischen Prozessor registriert wird.
  • KURZDARSTELLUNG
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen in einem logisch partitionierten Datenverarbeitungssystem, eine Vorrichtung, die funktionsfähig zum Ausführen des Verfahrens ist, ein Computerprogrammprodukt, das Anweisungen zum Ausführen des Verfahrens aufweist, und ein Computerprogrammprodukt, dessen Ausführen auf einem Computersystem Ausführen des Verfahrens veranlasst, zu schaffen, wobei das Verfahren eine Energieeinsparung mit hoher Granularität des Energieskalierungsalgorithmus ermöglicht.
  • Die der Erfindung zugrunde liegende Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
  • Bei einer veranschaulichenden Ausführungsform wird in einem Datenverarbeitungssystem ein Verfahren zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen vorgesehen. Bei der veranschaulichenden Ausführungsform wird festgestellt, ob sich auf einem Ursprungs-Betriebsmittelchip aus einer Gruppe von Betriebsmittelchips ein nicht gefaltetes Betriebsmittel befindet. Bei der veranschaulichenden Ausführungsform ist das nicht gefaltete Betriebsmittel einer logischen Partition zugeordnet, die in einer Gruppe logischer Partitionen in einen Energiesparmodus eingetreten ist. Bei der veranschaulichenden Ausführungsform wird festgestellt, ob ein Ziel-Betriebsmittelchip vorhanden ist, damit als Reaktion auf das Vorhandensein des nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip entweder die Operationen des nicht gefalteten Betriebsmittels mit einem gefalteten Betriebsmittel auf dem Zielchip getauscht oder die Operationen des nicht gefalteten Betriebsmittels zu einem nicht gefalteten Betriebsmittel auf dem Zielchip migriert werden können. Bei der veranschaulichenden Ausführungsform werden auf transparente Weise die Operationen des nicht gefalteten Betriebsmittels von dem Ursprungs-Betriebsmittelchip zu dem gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip getauscht, wobei das gefaltete Betriebsmittel auf dem Ursprungs-Betriebsmittelchip nach dem Tausch als Reaktion auf das Vorhandensein des gefalteten Betriebsmittels auf dem Ziel-Betriebsmittelchip gefaltet bleibt. Bei der veranschaulichenden Ausführungsform wird festgestellt, ob ein weiteres nicht gefaltetes Betriebsmittel auf dem Ursprungs-Betriebsmittelchip vorhanden ist. Bei der veranschaulichenden Ausführungsform wird der Ursprungs-Betriebsmittelchip als Reaktion auf das Nichtvorhandensein eines weiteren nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip in einen höheren Energiesparmodus versetzt, wobei der höhere Energiesparmodus im Vergleich zu den gesamten Energieeinsparungen aller Betriebsmittel aus der Vielzahl der Betriebsmittel auf dem Ziel-Betriebsmittelchip, die sich jeweils in einem individuellen Energiesparmodus befinden, zusätzlich Energie einspart.
  • Bei einer noch anderen veranschaulichenden Ausführungsform wird ein System/eine Vorrichtung bereitgestellt. Das System/die Vorrichtung kann einen oder mehrere Prozessor(en) und einen mit dem oder den Prozessor(en) verbundenen Speicher aufweisen. Der Speicher kann Anweisungen enthalten, die bei der Ausführung durch den oder die Prozessor(en) den oder die Prozessor(en) dazu veranlassen, verschiedene der oben mit Bezug auf die veranschaulichende Verfahrensausführungsform kurz beschriebenen Operationen sowie Kombinationen von diesen auszuführen.
  • Unter einem anderen Gesichtspunkt betrachtet, wird durch die vorliegende Erfindung in einem logisch partitionierten Datenverarbeitungssystem ein Computerprogrammprodukt zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen bereitgestellt, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das für eine Verarbeitungsschaltung lesbar ist und von der Verarbeitungsschaltung auszuführende Anweisungen zum Durchführen eines Verfahrens zum Ausführen der Schritte der Erfindung speichert.
  • Unter einem anderen Gesichtspunkt betrachtet, wird durch die vorliegende Erfindung ein Computerprogramm bereitgestellt, das Softwarecodeabschnitte enthält und das auf einem computerlesbaren Medium gespeichert ist und in den internen Speicher eines digitalen Computers geladen werden kann, wenn das Programm auf einem Computer ausgeführt wird, um die Schritte der Erfindung auszuführen.
  • Diese und andere Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden ausführlichen Beschreibung der beispielhaften Ausführungsformen der vorliegenden Erfindung beschrieben oder werden für Fachleute angesichts der Beschreibung offenkundig.
  • Kurzbeschreibung der Zeichnungen
  • Die vorliegende Erfindung wird im Folgenden lediglich beispielhaft und unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, die in den folgenden Figuren veranschaulicht sind:
  • 1 zeigt ein Blockschaltbild eines Datenverarbeitungssystems, in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann;
  • 2 zeigt ein Blockschaltbild eines beispielhaften, logisch partitionierten Plattform, in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann;
  • 3 zeigt ein beispielhaftes Blockschaltbild, das ein Datenverarbeitungssystem mit einer virtualisierten Umgebung veranschaulicht, in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann;
  • 4 zeigt die von einem Virtualisierungsmechanismus ausgeführte Operation zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen, die in einen Energiesparmodus eintreten, in der eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann;
  • 5 zeigt die von einem Virtualisierungsmechanismus ausgeführte Operation zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen, die einen Energiesparmodus verlassen, in der eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann, und
  • 6 zeigt die von einem Virtualisierungsmechanismus ausgeführte Operation, einer logischen Partition Betriebsmittel zuzuweisen, die sich in einem Energiesparmodus befindet, in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein Nebeneffekt der Realisierung des moderneren IBM EnergyScale besteht darin, dass die Möglichkeiten zur Energieeinsparung mit zunehmender Granularität des Energieskalierungsalgorithmus zunehmen. Beispielsweise kann mehr Energie eingespart werden, wenn alle Kerne eines Prozessorchips abgeschaltet sind, als wenn dieselbe Anzahl von Kernen auf zwei verschiedenen Prozessorchips abgeschaltet ist. Mit anderen Worten bieten sich die größten Möglichkeiten zum Energiesparen, wenn die Systembetriebsmittel verdichtet sind, und wenn beispielsweise die Prozessorkerne und der Speicher für die logischen Partitionen der kleinsten Anzahl von Prozessor- und Speicherchips in dem System zugewiesen sind.
  • Vorteilhafterweise wird durch die bevorzugten veranschaulichenden Ausführungsformen ein Mechanismus zur transparenten Konsolidierung von Betriebsmitteln logischer Partitionen bereitgestellt, die sich in einem statischen Energiesparmodus befinden. Mithilfe von Prozessor- und Speichervirtualisierungstechnologien kann ein Virtualisierungsmechanismus einen oder mehrere zugewiesene nicht gefaltete virtuelle Prozessoren und/oder Speicher von leerlaufenden logischen Partitionen auf transparente Weise mit anderen zugewiesenen virtuellen Prozessoren und/oder derartigem Arbeitsspeicher auf einer geringeren Anzahl aktiver Prozessor- und Speicherchips tauschen oder einen oder mehrere zugewiesene nicht gefaltete virtuelle Prozessoren und/oder derartigen Speicher leerlaufender logischer Partitionen zu nicht zugewiesenen Teilen der geringeren Anzahl aktiver Prozessor- und Speicherchips migrieren. „Transparent” bedeutet, dass das in der logischen Partition laufende Betriebssystem in Unkenntnis darüber ist, dass die Operationen seiner zugewiesenen Prozessorkerne und logischen Speicherblöcke mithilfe des Virtualisierungsmechanismus getauscht oder migriert wurden. Der Zweck des Tausches oder der Migration von Operationen besteht in der Verdichtung aktiver Prozessorkerne und logischer Speicherblöcke aktiver logischer Partitionen im statischen Energiesparmodus auf so wenige Prozessor- und Speicherchips wie möglich. Sind die aktiven Prozessorkerne und logischen Speicherblöcke auf einer geringeren Anzahl aktiver Prozessor- und Speicherchips verdichtet, können die ursprünglichen Prozessorkerne und logischen Speicherblöcke gefaltet und die den gefalteten Betriebsmitteln entsprechenden Betriebsmittel in einen höchsten Energieskalierungs-Sparmodus versetzt werden. Der entscheidende Punkt ist, dass der Virtualisierungsmechanismus aktive Prozessoren und aktiven Speicher auf einer geringeren Anzahl von Prozessor- und Speicherchips konsolidiert hat. Die Prozessor- und Speicherchips mit konsolidierten Betriebsmitteln verbrauchen mehr Energie als vor der Konsolidierung, aber die anderen Prozessor- und Speicherchips, die den gefalteten Betriebsmitteln entsprechen, können jetzt in einen höheren Energiesparmodus versetzt werden, so dass als Endergebnis bei Verwendung der Konsolidierungstechniken zusätzlich Energie eingespart wird.
  • Die bevorzugten veranschaulichenden Ausführungsformen können daher in vielen unterschiedlichen Arten von Datenverarbeitungsumgebungen verwendet werden, darunter in einer verteilten Datenverarbeitungsumgebung, einer einzelnen Datenverarbeitungseinheit oder dergleichen. Als Kontext für die Beschreibung der konkreten Elemente und Funktionen der bevorzugten veranschaulichenden Ausführungsformen werden im Folgenden die 1 und 2 als beispielhafte Umgebungen angeführt, in denen Aspekte der bevorzugten veranschaulichenden Ausführungsformen realisiert werden können. Obwohl es bei der auf die 1 und 2 folgenden Beschreibung in erster Linie um die Implementierung einer einzelnen Datenverarbeitungseinheit eines Mechanismus geht, der auf transparente Weise Betriebsmittel logischer Partitionen, die sich in einem statischen Energiesparmodus befinden, auf so wenigen Prozessor- und Speicherchips wie möglich konsolidiert, handelt es sich dabei lediglich um ein Beispiel, und es soll hinsichtlich der Merkmale der vorliegenden Erfindung keinerlei Einschränkung behauptet oder angedeutet werden. Die bevorzugten veranschaulichenden Ausführungsformen sollen im Gegenteil verteilte Datenverarbeitungsumgebungen und Ausführungsformen einschließen, in denen Betriebsmittel logischer Partitionen, die sich in einem statischen Energiesparmodus befinden, auf transparente Weise auf so wenigen Prozessor- und Speicherchips wie möglich konsolidiert werden können.
  • In den Figuren, insbesondere in den 1 bis 2, werden Beispieldiagramme für Datenverarbeitungsumgebungen bereitgestellt, in denen bevorzugte veranschaulichende Ausführungsformen der vorliegenden Erfindung realisiert werden können. Es sollte beachtet werden, dass die 1 bis 2 lediglich Beispiele sind und keinerlei Beschränkung hinsichtlich der Umgebungen, in denen Aspekte oder bevorzugte Ausführungsformen der vorliegenden Erfindung realisiert werden können, behaupten oder andeuten sollen. Es können zahlreiche Abänderungen an den gezeigten Umgebungen vorgenommen werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Bei den bevorzugten veranschaulichenden Ausführungsformen wird eine Computerarchitektur als eine Kombination von Hardware und Software realisiert. Der Softwareteil der Computerarchitektur kann als Mikro- oder Millicode bezeichnet werden. Durch die Kombination von Hard- und Software werden ein Anweisungssatz und eine Systemarchitektur geschaffen, auf deren Grundlage der Rest der Software des Computers arbeitet, wie beispielsweise ein BIOS (Basic Input/Output System, BIOS), VMMs (Virtual Machine Monitor, VMM), Hypervisoren, Anwendungen usw. Die durch die ursprüngliche Kombination geschaffene Computerarchitektur kann durch die Computersoftware (BIOS, etc.) nicht verändert werden, außer durch festgelegte Schnittstellen, von denen möglicherweise nur eine geringe Anzahl vorhanden ist.
  • Im Folgenden wird auf die Zeichnungen und insbesondere auf 1 Bezug genommen, die ein Blockschaltbild eines Datenverarbeitungssystems zeigt, mit dem Aspekte der bevorzugten veranschaulichenden Ausführungsformen vorteilhaft realisiert werden können. Wie gezeigt, enthält das Datenverarbeitungssystem 100 die Prozessoreinheiten 111a bis 111m. Jede der Prozessoreinheiten 111a bis 111n enthält einen Prozessor und einen Cachespeicher. Die Prozessoreinheit 111a enthält beispielsweise den Prozessor 112a und den Cachespeicher 113a, und die Prozessoreinheit 111n enthält den Prozessor 112n und den Cachespeicher 113n.
  • Die Prozessoreinheiten 111a bis 111n sind mit dem Hauptbus 115 verbunden. Der Hauptbus 115 unterstützt die Systemplatine 120, die die Prozessoreinheiten 111a bis 111n und die Speicherkarten 123 enthält. Die Systemplatine 120 enthält außerdem den Datenumschalter 121 und den Speicher-Controller/Cachespeicher 122. Der Speicher-Controller/Cachespeicher 122 unterstützt die Speicherkarten 123, die den lokalen Speicher 116 mit mehreren Dual-inline-Speichermodulen (dual in-line memory module, DIMM) enthalten.
  • Der Datenumschalter 121 ist mit der Busbrücke 117 und der Busbrücke 118 verbunden, die sich auf der NEA-Platine 124 (native E-/A, NEA) befinden. Wie gezeigt, ist die Busbrücke 118 über den Systembus 119 mit den PCI-Brücken 125 (peripheral components interconnect, PCI) und 126 verbunden. Die PCI-Brücke 125 ist über den PCI-Bus 128 mit verschiedenen E-/A-Einheiten verbunden. Wie gezeigt, kann die Festplatte 136 über den SCSI-Host-Adapter 130 (small computer system interface, SCSI) mit dem PCI-Bus 128 verbunden sein. Der Grafikadapter 131 kann direkt oder indirekt mit dem PCI-Bus 128 verbunden sein. Die PCI-Brücke 126 stellt mithilfe des Netzwerkadapters 134 und der Adapterkartensteckplätze 135a bis 135n über den PCI-Bus 127 Verbindungen für externe Datenströme bereit.
  • Der ISA-Bus 129 (industry standard architecture, ISA) ist über die ISA-Brücke 132 mit dem PCI-Bus 128 verbunden. Die ISA-Brücke 132 stellt durch den NEA-Controller 133 mit den seriellen Anschlüssen 1 und 2 Verbindungsmöglichkeiten bereit. Ein Diskettenlaufwerksanschluss, ein Tastaturanschluss sowie ein Mausanschluss werden von dem NEA-Controller 133 bereitgestellt, damit das Datenverarbeitungssystem 100 über eine entsprechende Eingabeeinheit Dateneingaben eines Benutzers annehmen kann. Darüber hinaus wird von dem mit dem ISA-Bus 129 verbundenen nichtflüchtigen RAM (NVRAM) 140 ein nichtflüchtiger Speicher zum Erhalten bestimmter Arten von Daten bei Systemstörungen oder Systemausfällen wie beispielsweise Energieversorgungsproblemen bereitgestellt. Die System-Firmware 141 ist zum Realisieren der anfänglichen Funktionen des BIOS (Basic Input/Output System, BIOS) ebenfalls mit dem ISA-Bus 129 verbunden. Der Service-Prozessor 144 ist mit dem ISA-Bus 129 verbunden, damit Funktionalität für Systemdiagnose oder -wartung vorhanden ist.
  • Das Betriebssystem (BS) ist auf der Festplatte 136 gespeichert, auf der auch Speicherplatz für zusätzliche durch ein Datenverarbeitungssystem auszuführende Anwendungssoftware vorgesehen sein kann. Der NVRAM 140 wird zum Speichern von Systemvariablen und Fehlerdaten für die Isolierung von vor Ort austauschbaren Funktionseinheiten (FRU) verwendet. Während des Systemstarts lädt das Bootstrap-Programm das Betriebssystem und leitet das Ausführen des Betriebssystems ein. Zum Laden des Betriebssystems findet das Bootstrap-Programm zuerst ein Betriebssystem-Kernel-Abbild auf der Festplatte 136, lädt das BS-Kernel-Abbild in den Speicher und springt zu einer von dem Betriebssystem-Kernel bereitgestellten Anfangsadresse. Üblicherweise wird das Betriebssystem in Speicher mit wahlfreiem Zugriff (random-access memory, RAM) in dem Datenverarbeitungssystem geladen. Einmal geladen und initialisiert, steuert das Betriebssystem das Ausführen von Programmen und kann Dienste wie beispielsweise Betriebsmittelzuweisung, Zeitplanung (Scheduling), Eingabe-/Ausgabesteuerung und Datenverwaltung übernehmen.
  • Die veranschaulichende Ausführungsform kann in verschiedenen Datenverarbeitungssystemen vorliegen, bei denen eine Anzahl unterschiedlicher Hardwarekonfigurationen und unterschiedliche Software wie beispielsweise Bootstrap-Programme und Betriebssysteme verwendet werden. Das Datenverarbeitungssystem 100 kann beispielsweise ein eigenständiges System oder Teil eines Netzwerks wie beispielsweise eines lokalen Netzes (local-area network, LAN) oder eines Weitverkehrsnetzes (wide-area network, WAN) sein. Wie vorstehend angegeben, soll 1 als ein Beispiel und nicht als eine architektonische Einschränkung für verschiedene bevorzugte Ausführungsformen der vorliegenden Erfindung dienen, und aus diesem Grund sollten die besonderen, in 1 gezeigten Elemente hinsichtlich der Umgebungen, in denen die bevorzugten veranschaulichenden Ausführungsformen der vorliegenden Erfindung realisiert werden können, nicht als einschränkend betrachtet werden.
  • 2 zeigt ein Blockschaltbild einer beispielhaften logisch partitionierten Plattform, in der die bevorzugten veranschaulichten Ausführungsformen realisiert werden können. Die Hardware der logisch partitionierten Plattform 200 kann beispielsweise mithilfe der Hardware des Datenverarbeitungssystems 100 aus 1 realisiert werden.
  • Die logisch partitionierte Plattform 200 enthält die partitionierte Hardware 230, die Betriebssysteme 202, 204, 206, 208 sowie den Virtual Machine Monitor 210. Die Betriebssysteme 202, 204, 206 und 208 können mehrere Kopien eines einzigen Betriebssystems oder mehrere heterogene Betriebssysteme sein, die gleichzeitig auf der logisch partitionierten Plattform 200 laufen. Diese Betriebssysteme können beispielsweise mithilfe des BS/400 realisiert werden, das für die Verbindung mit einem Virtualisierungsmechanismus wie beispielsweise Partitionsverwaltungs-Firmware, z. B. ein Hypervisor, konzipiert ist. Das BS/400 wird bei diesen bevorzugten veranschaulichten Ausführungsformen lediglich als Beispiel angeführt. Selbstverständlich können, abhängig von der konkreten Realisierung, andere Arten von Betriebssystemen verwendet werden wie beispielsweise AIX® und Linux®. Die Betriebssysteme 202, 204, 206 und 208 befinden sich jeweils in den logischen Partitionen 203, 205, 207 und 209. Linux ist eine eingetragene Handelsmarke von Linus Torvalds in den USA und/oder anderen Ländern.
  • Hypervisor-Software ist ein Beispiel für Software, die zum Realisieren der Plattform verwendet werden kann (bei diesem Beispiel der Virtual Machine Monitor 210), und ist bei International Business Machines Corporation erhältlich. Firmware ist „Software”, die auf einem Speicherchip gespeichert ist, der seinen Inhalt ohne elektrischen Energie aufrechterhalten kann, wie beispielsweise ein Nur-Lese-Speicher (read-only memory, ROM), ein programmierbarer ROM (PROM), ein löschbarer programmierbarer ROM (erasable programmable ROM, EPROM) und ein elektrisch löschbarer programmierbarer ROM (erasable programmable ROM, EEPROM).
  • Bei der logisch partitionierten Plattform 200 kann außerdem IBM PowerVMTM Active MemoryTM Sharing (AMS) eingesetzt werden. Dies ist eine moderne IBM PowerVM-Speichervirtualisierungstechnologie, die Systemspeicher-Virtualisierungsfähigkeiten für IBM Power Systems bietet, so dass mehrere logische Partitionen sich einen gemeinsamen Pool physischen Speichers teilen können. Der physische Speicher von IBM Power Systems® kann entweder durch feste Zuweisung oder Freigabe mehreren logischen Partitionen zugewiesen werden. Ein Systemadministrator verfügt über die Fähigkeit, eine gewisse Menge physischen Speichers einer logischen Partition und eine gewisse Menge physischen Speichers einem gemeinsam mit anderen Partitionen genutzten Pool zuzuweisen. Eine einzelne Partition kann entweder fest zugeordneten oder gemeinsam genutzten Speicher aufweisen. IBM PowerVM Active Memory Sharing kann dazu genutzt werden, entweder durch Verringern des Systemspeicherbedarfs oder durch Ermöglichen der Erstellung zusätzlicher logischer Partitionen in einem vorhandenen System die Speichernutzung des Systems zu erhöhen.
  • Die logischen Partitionen 203, 205, 207 und 209 enthalten außerdem das Partitions-Firmware-Ladeprogramm 211, 213, 215 und 217. Das Partitions-Firmware-Ladeprogramm 211, 213, 215 und 217 kann mithilfe von Initial Program Load(IPL)- oder Initial Bootstrap-Code, Open Firmware nach dem IEEE-1275-Standard und Runtime Abstraction Software (RIAS) realisiert werden, die bei International Business Machines Corporation erhältlich sind.
  • Wenn die logischen Partitionen 203, 205, 207 und 209 instanziiert sind, wird mithilfe des Virtual Machine Monitor 210 eine Kopie des Bootstrap-Codes auf die logischen Partitionen 203, 205, 207 und 209 geladen. Danach wird die Steuerung an den Bootstrap-Code übertragen, und der Bootstrap-Code lädt dann die Open Firmware und RIAS. Die Prozessoren, die den logischen Partitionen 203, 205, 207 und 209 zugeordnet oder zugewiesen sind, werden dann dem Speicher der logischen Partition zugeteilt, um die Firmware der logischen Partition auszuführen.
  • Die partitionierte Hardware 230 enthält eine Vielzahl von Prozessoren 232 bis 238, eine Vielzahl von Systemspeichereinheiten 240 bis 246, eine Vielzahl von Eingabe-/Ausgabe(E-/A)-Adaptern 248 bis 262 sowie die Datenspeichereinheit 270. Jede(r) der Prozessoren 232 bis 238, der Speichereinheiten 240 bis 246, der NVRAM-Speicher 298 und die E-/A-Adapter 248 bis 262 können einer von mehreren logischen Partitionen 203, 205, 207 und 209 in der logisch partitionierten Plattform 200 zugewiesen werden, von denen jede einem der Betriebssysteme 202, 204, 206 und 208 entspricht.
  • Der Virtual Machine Monitor 210 führt eine Anzahl von Funktionen und Diensten für die logischen Partitionen 203, 205, 207 und 209 aus, um das Partitionieren der logisch partitionierten Plattform 200 zu erstellen und durchzusetzen. Der Virtual Machine Monitor 210 ist eine mithilfe von Firmware realisierte virtuelle Maschine, die mit der darunter liegenden Hardware identisch ist. Daher ermöglicht der Virtual Machine Monitor 210 das gleichzeitige Ausführen der unabhängigen BS-Abbilder 202, 204, 206 und 208 durch Virtualisieren aller Hardware-Betriebsmittel der logisch partitionierten Plattform 200.
  • Der Serviceprozessor 290 kann für verschiedene Dienste verwendet werden, beispielsweise für das Verarbeiten von Plattformfehlern in den logischen Partitionen 203, 205, 207 und 209. Der Serviceprozessor 290 kann außerdem als Serviceagent fungieren, der den Anbieter, beispielsweise International Business Machines Corporation, über Fehler informiert. Die Operationen der verschiedenen logischen Partitionen können durch eine Hardwaresystemkonsole 280 gesteuert werden. Die Hardwaresystemkonsole 280 ist ein separates Datenverarbeitungssystem, von dem aus ein Systemadministrator verschiedene Funktionen ausführen kann, darunter die erneute Zuordnung von Betriebsmitteln zu logischen Partitionen.
  • Fachleute werden verstehen, dass die Hardware in den 1 bis 2 in Abhängigkeit von der Realisierung unterschiedlich sein kann. Andere interne Hardware oder Peripherie-Einheiten wie beispielsweise Flash-Speicher, gleichwertiger nichtflüchtiger Speicher oder optische Plattenlaufwerke und dergleichen können zusätzlich zu oder anstatt der in den 1 bis 2 gezeigten Hardware verwendet werden. Darüber hinaus können die Prozesse der bevorzugten veranschaulichenden Ausführungsformen auf ein Mehrprozessor-Datenverarbeitungssystem angewendet werden, ohne von dem Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Bei einem logisch partitionierten System wie der logisch partitionierten Plattform 200 aus 2 hängt die Zuordnung der Prozessor- und Speicherbetriebsmittel in hohem Maße von der Partitionskonfiguration ab. Im Allgemeinen werden mehreren Partitionen Prozessor- und Speicherbetriebsmittel von einem einzigen Prozessorchip (Kerne auf dem Prozessorchip und der zu den Speicher-Controllern auf dem Chip gehörende Speicher) zugewiesen. Es ist ebenfalls möglich, dass einer Partition Betriebsmittel von mehreren Chips in dem System zugewiesen werden. Im Allgemeinen sind die Prozessor- und Speicherzuweisungsrichtlinien auf eine optimale Systemleistung ausgerichtet. Die Prozessor- und Speicherbetriebsmittel werden so zugewiesen, dass zwischen den Prozessoren und dem Speicher einer Partition eine gute Affinität besteht. Diese Zuweisungsrichtlinien können jedoch mit der IBM EnergyScale-Sparrichtlinie in Konflikt geraten, die das Verdichten von Prozessor- und Speicherbetriebsmitteln vorsieht, damit Energie gespart wird.
  • Wenn sich eine Gruppe logischer Partitionen in einem System in einem Energiesparmodus wie beispielsweise dem statischen Energiesparmodus befindet, und es der Wunsch der Kunden ist, bei der gegebenen Gruppe logischer Partitionen so viel Energie wie möglich zu sparen, falten die logischen Partitionen als Reaktion auf den statischen Energiesparmodus Speicher und Prozessoren. Prozessorfaltung (processor folding) ist eine von einem Betriebssystem verwendete Technik, Arbeit von einem oder mehreren seiner zugewiesenen Prozessoren weg zu leiten. Das bedeutet, wenn die Prozessornutzung einer logischen Partition unter eine Schwelle fällt, faltet das Betriebssystem einen zugewiesenen Prozessor, so dass dem gefalteten Prozessor keine Arbeit zugeteilt und ihm keine Interrupts zugeleitet werden. Entscheidungen über das Falten/Entfalten werden vom Betriebssystem innerhalb von Sekunden getroffen. Prozessorfaltung in Mikropartitionen unterstützt durch verringerte Zuteilung die Leistung des gemeinsam genutzten Prozessor-Pools. Prozessorfaltung in fest zugeordneten Prozessorpartitionen wirkt durch Energieeinsparungen und/oder verbesserte vorübergehende Zuweisung zu dem gemeinsam genutzten Prozessor-Pool unterstützend. Speicherfaltung (memory folding) ist eine von einem Betriebssystem verwendete Technik, um Speicherzuweisungen von einem oder mehreren seiner logischen Speicherblöcke weg zu leiten. Wenn die Speichernutzung einer logischen Partition unter eine Schwelle fällt, faltet das Betriebssystem Speicher. Speicherfaltung in einer fest zugeordneten Speicherpartition hilft ebenfalls, Energie zu sparen. In ähnlicher Weise kann bei dem gemeinsam genutzten Speicherpool der Virtualisierungsmechanismus-Hypervisor Speicher falten, wenn die Nutzung des Pools unter eine bestimmte Schwelle fällt.
  • Bei einer Realisierung wie beispielsweise POWER7 SystemsTM von IBM entspricht ein gefalteter virtueller Prozessor aus der Perspektive einer logischen Partition dem „Ruhe”-Modus der zentralen Verarbeitungseinheit. In ähnlicher Weise kann sich der gefaltete Speicher der logischen Partition im „self-time refresh” (einem hohen Speicher-Energiesparmodus) befinden, wenn ein ausreichend großer zusammenhängender Speicherabschnitt gefaltet wurde. Eine logische Partition verfügt jedoch immer über einige nicht gefaltete Prozessoren und über eine gewisse Menge nicht gefalteten Speicher. Die Anzahl der Prozessoren und der Anteil der durch eine logische Partition gefalteten Prozessoren sind eine Funktion der Arbeitslast in der logischen Partition. Selbst eine leerlaufende logische Partition wird jedoch nicht ihren letzten virtuellen Prozessor und dessen gesamten Speicher falten, da sie auf externe oder Timer-Interrupts reagieren muss, die Arbeit für die logische Partition schaffen könnten. Da sich auf dem System bis zu Hunderte logischer Partitionen in einem statischen Energiesparmodus befinden können und sich bei mehreren Partitionen zugewiesene Betriebsmittel auf jedem Chip im System befinden, ist die Möglichkeit zur Nutzung höherer Energieskalierungsmodi für die Hardware (Ruhemodus für Kerne und „self-time refresh” für Speicher) durch die Tatsache begrenzt, dass jede logische Partition aktive Prozessoren und aktiven Speicher aufweist, und dass üblicherweise mehreren logischen Partitionen Betriebsmittel von einem Chip zugewiesen werden. IBM, EnergyScale, AIX, PowerVM, Active Memory, Power Systems und Power7 Systems sind Handelsmarken von International Business Machines Corporation und weltweit in zahlreichen Gerichtsbarkeiten registriert.
  • 3 zeigt ein beispielhaftes Blockschaltbild, das ein Datenverarbeitungssystem mit einer virtualisierten Umgebung gemäß einer veranschaulichenden Ausführungsform veranschaulicht. Das logisch partitionierte Datenverarbeitungssystem 300 weist eine Vielzahl logischer Partitionen (LPARs) 310, 320, 330 und 340 auf, die auch als Clients oder Initiatoren bezeichnet werden können. Die LPAR 310 weist eine Instanz eines Betriebssystems (BS) 312 mit einer Gruppe von Anwendungsprogrammierungsschnittstellen (application programming interfaces, APIs) 314 und eine oder mehrere laufende Anwendungen 316 auf. Die LPAR 320 weist das BS 322 mit den APIs 324 und eine oder mehrere Anwendungen 326 auf. Die LPAR 330 weist das BS 332 mit den APIs 334 und eine oder mehrere Anwendungen 336 auf. Die LPAR 340 weist das BS 342 mit den APIs 344 und eine oder mehrere Anwendungen 346 auf. Obwohl das logisch partitionierte Datenverarbeitungssystem 300 nur die LPARs 310, 320, 330 und 340 veranschaulicht, sind die bevorzugten veranschaulichenden Ausführungsformen nicht derart beschränkt. Stattdessen kann eine beliebige Anzahl von LPARs mit den Mechanismen der bevorzugten veranschaulichenden Ausführungsformen verwendet werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Die LPARs 310, 320, 330 und 340 können durch den Virtualisierungsmechanismus 350 miteinander Daten austauschen. Der Virtualisierungsmechanismus 350 kann Software sein, die Datenaustauschvorgänge und Betriebsmittelverwaltung ausführt, damit mehrere Instanzen der BS 312, 322, 332 und 342 gleichzeitig auf dem logisch partitionierten Datenverarbeitungssystem 300 laufen können. Der Virtualisierungsmechanismus 350 führt Aufgaben wie beispielsweise Processor Time Slice Sharing, Speicherzuweisung oder dergleichen aus. Der Virtualisierungsmechanismus 350 kann beispielsweise ein Hypervisor oder ein Virtual Machine Monitor wie beispielsweise der Virtual Machine Monitor 210 aus 2 sein.
  • Bei diesem Beispiel kann die logisch partitionierte Plattform 300 unter der Steuerung des Virtualisierungsmechanismus 350 die LPARs 310, 320, 330 und 340, wie auch die Prozessoren 352, 354, 356 und 358 sowie den Speicher 362, 364, 366 und 368 in der partitionierten Hardware 370 aufweisen. Jeder der Prozessoren 352, 354, 356 und 358 kann weiter zwei oder mehr Prozessorkerne aufweisen. Bei diesem Beispiel weist jeder der Prozessoren 352, 354, 356 und 358 acht Prozessorkerne 352a bis 352h, 354a bis 354h, 356a bis 356h und 358a bis 358h auf. Obwohl Speicherzuweisung selten zusammenhängend erfolgt, wird zur Vereinfachung des aktuellen Beispiels der Speicher 362, 364, 366 und 368 so veranschaulicht, dass er die logischen Speicherblöcke 362a bis 362h, 364a bis 364h, 366a bis 356h und 368a bis 368h aufweist. Wenn eine logische Partition erstellt wird, weist der Virtualisierungsmechanismus 350 der logischen Partition einen Teil der Prozessoren 352, 354, 356 und 358, einen Teil des Speichers 362, 364, 366 und 368 sowie andere Betriebsmittel zu.
  • Beispielsweise weist der Virtualisierungsmechanismus 350 bei der Erstellung der LPAR 310 der LPAR 310 die Prozessorkerne 352a bis 352d und die logischen Speicherblöcke 362a bis 362c zu. Bei der Erstellung der LPAR 320 weist der Virtualisierungsmechanismus 350 der LPAR 320 die Prozessorkerne 354a bis 354c und die logischen Speicherblöcke 364a bis 364e zu. Bei der Erstellung der LPAR 330 weist der Virtualisierungsmechanismus 350 der LPAR 330 die Prozessorkerne 356a bis 356f und die logischen Speicherblöcke 366a bis 366h zu. Bei der Erstellung der LPAR 340 weist der Virtualisierungsmechanismus 350 schließlich der LPAR 340 die Prozessorkerne 358a bis 358e und die logischen Speicherblöcke 362a bis 362d zu. Obwohl die beispielhaften Zuweisungen für jede logische Partition die Zuweisung verschiedener Prozessorkerne und eines logischen Speicherblocks zeigen, können Fachleute nachvollziehen, dass einer logischen Partition im Rahmen der Kapazität der in dem logisch partitionierten Datenverarbeitungssystem verfügbaren Betriebsmittel eine beliebige Anzahl von Prozessorkernen und logischen Speicherblöcken zugeordnet werden kann. Obwohl eine normale Zuweisung von Prozessoren und Speicher nicht so einfach wäre wie in der Veranschaulichung, wird dieses Beispiel zur einfachen Veranschaulichung für Fachleute angeführt.
  • Damit der Virtualisierungsmechanismus 350 Betriebsmittel wie beispielsweise Prozessorkerne und logische Speicherblöcke der logischen Partitionen im statischen Energiesparmodus auf transparente Weise auf so wenigen Prozessor- und Speicherchips wie möglich konsolidieren kann, überwacht der Virtualisierungsmechanismus 350 jedes der Betriebsmittel in der partitionierten Hardware 370. Während die Arbeit abnimmt und eine oder mehrere der LPARs 310, 320, 330 und 340 in den Leerlauf eintreten und für den statischen Energiesparmodus eingeteilt werden, leiten die Betriebssysteme 312, 322, 332 und 342 möglicherweise Arbeit von einem oder mehreren ihrer eigenen zugewiesenen Prozessorkerne weg. Am Beispiel der Prozessorkerne erläutert, kann das Betriebssystem, wenn die Prozessornutzung bei einer Gruppe zugewiesener Prozessorkerne unter eine Schwelle fällt, einen oder mehrere der zugewiesenen Prozessorkerne falten, so dass diesen besonderen Prozessorkernen keine weitere Arbeit geschickt wird; diese Prozessorkerne stellen alle gegenwärtig zugewiesene Arbeit fertig und sobald diese abgeschlossen ist, kann das Betriebssystem diese Prozessorkerne falten und die Prozessorkerne in einen statischen Energiesparmodus versetzen. Das Betriebssystem kann außerdem bei abnehmender Speichernutzung eine ähnliche Operation durchführen, so dass logische Speicherblöcke gefaltet und in einen statischen Energiesparmodus versetzt werden. Beim statischen Energiesparmodus möchte der Kunde bezogen auf eine Gruppe logischer Partitionen so viel Energie einsparen wie möglich und ist bereit, dafür eine gewisse Verlängerung der Reaktionszeit in Kauf zu nehmen.
  • Jede LPAR kann jedoch selbst in einem Leerlaufzustand einen aktiven, nicht gefalteten Prozessorkern und eine gewisse Anzahl nicht gefalteter logischer Speicherblöcke beibehalten. Daher können die Prozessoren 352, 354, 356 und 358 sowie der Speicher 362, 364, 366 und 368 nicht in den höchstmöglichen Energiesparmodus eintreten. Wenn beispielsweise die LPARs 310, 320 und 330 sich im Leerlauf befinden und für den statischen Energiesparmodus eingeteilt sind, können die Betriebssysteme 312, 322 und 332 viele ihrer Prozessorkerne und logischen Speicherblöcke falten und diese Prozessorkerne und logischen Speicherblöcke in einen statischen Energiesparmodus versetzen. Allerdings könnten die Betriebssysteme 312, 322 und 332 die Prozessorkerne 352a, 354a und 356a sowie die logischen Speicherblöcke 362a, 364a und 366a auch in einem aktiven Status belassen. Der Virtualisierungsmechanismus 350 überwacht jede der LPARs 310, 320, 330 und 340 sowie die partitionierte Hardware 370, wie beispielsweise die Prozessorkerne 352a bis 352h, 354a bis 354h, 356a bis 356h und 358a bis 358h sowie die logischen Speicherblöcke 362a bis 362h, 364a bis 364h, 366a bis 356h und 368a bis 368h. Der Virtualisierungsmechanismus 350 erkennt den statischen Energiesparmodus der LPAR 310, 320 und 330 und zeichnet die Betriebsmittelzuweisung jeder LPAR 310, 320 und 330 auf.
  • Wenn der Virtualisierungsmechanismus 350 feststellt, dass sich durch einen Tausch oder eine Migration der Operationen nicht gefalteter Prozessorkerne und logischer Speicherblöcke möglicherweise zusätzlich Energie einsparen lässt, kann der Virtualisierungsmechanismus 350 Operationen eines zugewiesenen Prozessorkerns auf transparente Weise gegen Operationen eines zugewiesenen, aber gefalteten Prozessorkerns auf einem anderen der Prozessoren 352, 354, 356 und 358 tauschen oder die Operationen eines zugewiesenen Prozessorkerns zu einem nicht zugewiesenen Prozessorkern auf einem anderen der Prozessoren 352, 354, 356 und 358 migrieren. Im Fall eines Tausches, und wenn die LPAR 340 einen oder mehrere der zugewiesenen Prozessorkerne wie beispielsweise einen Prozessorkern 358d und 358e gefaltet hat, kann der Virtualisierungsmechanismus 350 die Operationen des Prozessors 358d mit dem Prozessorkern 352a tauschen und die Operationen des Prozessorkerns 358e gegen die Operationen von 354a tauschen. Auf diese Weise führt der Virtualisierungsmechanismus 350 einen transparenten Tausch von Operationen zwischen Prozessorkernen aus und sorgt für einen höheren Energiesparmodus. Ein Beispiel für die Migration von Operationen: Wenn die Prozessorkerne 358f, 358g und 358h nicht zugewiesene Prozessorkerne sind, kann der Virtualisierungsmechanismus 350 auf transparente Weise die Operationen des Prozessorkerns 352a zu dem Prozessorkern 358f, die Operationen des Prozessorkerns 354a zu dem Prozessorkern 358g und die Operationen des Prozessorkerns 356a zu dem Prozessorkern 358h migrieren. Anschließend aktualisiert der Virtualisierungsmechanismus 350 die Zuweisungen für die migrierten Prozessorkerne der LPAR 310, 320 und 330.
  • In dem logisch partitionierten System 300 virtualisiert der Virtualisierungsmechanismus 350 alle Prozessoren 352, 354, 356 und 358 oder Teile von diesen auf den LPARs 310, 320, 330 und 340, was sowohl auf fest zugeordnete als auch auf gemeinsam genutzte Prozessorpartitionen zutrifft. Durch die Virtualisierung der Prozessoren 352, 354, 356 und 358 wird ermöglicht, dass der Virtualisierungsmechanismus 350 zugewiesene Teile der Prozessoroperationen von einem Prozessorchip mit einem anderen Prozessorchip tauscht oder zu diesem migriert. Der Virtualisierungsmechanismus 350 steuert den Status von virtuellen Prozessorkernen mithilfe eines Virtualisierungs-Timer-Interrupts, wodurch der Status jedes virtuellen Prozessorkerns gespeichert wird, wenn eine LPAR 310, 320, 330 und/oder 340 in einen statischen Energiesparmodus eintritt. Der Virtualisierungsmechanismus 350 kann anschließend den Status des virtuellen Prozessors auf einem leerlaufenden Prozessorkern wiederherstellen, wenn der statische Energiesparmodus beendet wird und der virtuelle Prozessor die Ausführung wieder aufnimmt, beginnend mit der nächsten Prozessoranweisung nach der, die vor der Statusspeicherung ausgeführt wurde.
  • Der Virtualisierungsmechanismus 350 kann außerdem die Operationen der logischen Speicherblöcke 362a, 364a und 366a auf transparente Weise mit den logischen Speicherblöcken 368e, 368f und 368g tauschen oder sie zu diesen migrieren. Der Virtualisierungsmechanismus 350 kann logische Speicherblöcke durch vorübergehendes Versetzen eines zugeordneten virtuellen Prozessorkerns einer logischen Partition in einen Modus, bei dem Datenspeicherungs- und Anweisungsspeicherungs-Interrupts zu dem Virtualisierungsmechanismus 350 geleitet werden, tauschen oder migrieren. In Verbindung mit Mechanismen zur Steuerung der DMA-Schreibvorgänge von E-/A-Einheiten ermöglicht es der Modus, dass der Virtualisierungsmechanismus 350 Speicher auf transparente Weise tauschen oder migrieren kann. Beim transparenten Tauschen oder Migrieren von Operationen informiert der Virtualisierungsmechanismus 350 die Betriebssysteme 312, 322 und 332 nicht über den Tausch oder die Migration der entsprechenden Operationen der Prozessorkerne und/oder Speicherblöcke. Da Leistungsverlust im statischen Energiesparmodus akzeptabel ist, ist auch der Leistungsverlust akzeptabel, der mit der unterlassenen Benachrichtigung der Betriebssysteme über Affinitätsänderungen einhergeht. Da die Prozessoren 352, 354 und 356 von allen aktiven Prozessorkernen entlastet sind und der Speicher 362, 364 und 366 von allen aktiven logischen Speicherblöcken entlastet ist, kann der Virtualisierungsmechanismus 350 die Prozessoren 352, 354 und 356 sowie den Speicher 362, 364 und 366 in einen höheren Energieskalierungsmodus versetzen, wie beispielsweise den Ruhemodus für Prozessoren und „self-time refresh” für Speicher. Bei einer anderen Ausführungsform kann die Prozessor- und Speicherkonsolidierung in anderen Energieskalierungsmodi vor sich gehen, und der Virtualisierungsmechanismus 350 kann ein Betriebssystem einer logischen Partition benachrichtigen, damit die Affinitätseigenschaften in derartigen Modi angepasst werden. Da eine Speicherkonsolidierung zeitaufwendig ist, könnte der Virtualisierungsmechanismus 350 darüber hinaus eine Prozessorkonsolidierung lediglich in Abhängigkeit von dem angeforderten Energiesparmodus ausführen.
  • Der entscheidende Punkt bei dieser veranschaulichenden Ausführungsform ist, dass der Virtualisierungsmechanismus 350 aktive Prozessorkerne und aktive logische Speicherblöcke auf einer geringeren Anzahl von Prozessor- und Speicherchips konsolidiert hat. Der Prozessor 358 und der Speicher 368, die über die konsolidierten Betriebsmittel verfügen, verbrauchen zwar mehr Energie als vor der Konsolidierung, aber die Prozessoren 352, 354 und 356 sowie der Speicher 362, 364 und 366 befinden sich in hohen Energiesparmodi, durch die viel mehr Energie eingespart wird, so dass im Endeffekt durch die Anwendung der Konsolidierungstechniken zusätzlich Energie eingespart wird. Dieselbe Konsolidierungstechnik kann auch bei Datenverarbeitungssystemen mit mehreren Knoten (mehreren Platinen) angewendet werden. Das bedeutet, wenn eine ausreichend große Anzahl logischer Partitionen gefaltete Prozessorkerne und logische Speicherblöcke aufweist, kann ein überwachender Virtualisierungsmechanismus die Prozessorkerne und logischen Speicherblöcke auf die geringstmögliche Anzahl von Knoten verdichten.
  • Wenn eine LPAR aus dem statischen Energiesparmodus genommen wird, können die Operationen der Betriebsmittel der logischen Partitionen die aktuellen Zuweisungen beibehalten oder zu den ursprünglichen Betriebsmittelzuweisungen zurückgetauscht oder -migriert werden. Das bedeutet, wenn die LPAR 310, 320 und 330 dafür eingeteilt sind, den statischen Energiesparmodus zu verlassen, aktiviert der Virtualisierungsmechanismus 350 die Prozessoren 352, 354 und 356 sowie den Speicher 362, 364 und 366. Der Virtualisierungsmechanismus 350 kann dann die ursprünglichen Betriebsmittelzuweisungen durch Tauschen oder Migrieren der Operationen von Prozessorkernen sowie Tauschen oder Migrieren der Operationen von logischen Speicherblöcken wiederherstellen. Durch das Wiederherstellen der ursprünglichen Zuweisungen wird die Richtigkeit der Affinitäts-Strings (affinity strings) wiederhergestellt und sichergestellt, dass die gesamte außerhalb des statischen Energiesparmodus vorhandene Leistung wiederhergestellt wird.
  • Wenn darüber hinaus einer logischen Partition weitere Betriebsmittel zugewiesen werden, während sich die logische Partition im statischen Energiesparmodus befindet, werden die Affinitäts-Strings so gemeldet, als wären die Betriebsmittel außerhalb des statischen Energiesparmodus zugewiesen worden. Das bedeutet, der Virtualisierungsmechanismus 350 zeichnet die Betriebsmittelzuweisungen auf und stellt die Betriebsmittel wieder her, wenn die logische Partition den statischen Energiesparmodus verlässt. So wird sichergestellt, dass die mit dem oder den neuen Betriebsmittel(n) verbundene Leistung optimal ist, wenn die logische Partition den statischen Energiesparmodus verlässt.
  • Auf diese Weise werden durch die von dem Virtualisierungsmechanismus 350 angewendete Technik auf transparente Weise die Energieeinsparungen in dem logisch partitionierten Datenverarbeitungssystem 300 bei bestimmten Energieskalierungsmodi für die logischen Partitionen gesteigert, ohne die Leistung außerhalb der Energieskalierungsmodi zu beeinträchtigen. Die vorstehend veranschaulichten Ausführungsformen können darüber hinaus bei jeder Active Memory Sharing- und Micro-Partition-Umgebung angewendet werden, wo ein Virtualisierungsmechanismus für Faltung und Migration von Operationen sorgt, wie beispielsweise beim IBM PowerVM Active Memory Sharing(AMS)-System. Die vorstehend veranschaulichten Ausführungsformen können außerdem auf der Grundlage des bei diesen Partitionen ausgeführten Energiesparmodus pro Partition oder auf eine Untergruppe von Partitionen angewendet werden.
  • Wie Fachleute verstehen werden, kann die vorliegende Erfindung als ein System, Verfahren oder Computerprogrammprodukt vorliegen. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (eingeschlossen Firmware, speicherresidente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, bei der Software- und Hardwareaspekte kombiniert werden, die hier alle allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein können. Aspekte der vorliegenden Erfindung können außerdem in Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit in dem Medium verkörperten computerverwendbaren Programmcode enthaltenen ist.
  • Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, aber ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung, Einheit oder jede beliebige Kombination von diesen sein. Als konkretere Beispiele (eine nicht erschöpfende Liste) für das computerlesbare Medium könnten die folgenden aufgeführt werden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare 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 tragbarer Compact Disc-Nur-Lese-Speicher (CDROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination von diesen. Im Zusammenhang dieses Dokuments kann ein computerlesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann unter anderem ein verbreitetes Datensignal mit darin enthaltenem computerlesbarem Programmcode sein, zum Beispiel in einem Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann verschiedene Formen annehmen, unter anderem, aber ohne darauf beschränkt zu sein, eine elektromagnetische oder optische Form oder eine beliebige Kombination aus diesen. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit übermitteln, verbreiten oder transportieren kann.
  • Auf einem computerlesbaren Medium enthaltener Computercode kann mithilfe jedes geeigneten Mediums übermittelt werden, unter anderem, aber ohne darauf beschränkt zu sein, ein drahtloses oder drahtgebundenes Medium, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder jede geeignete Kombination von diesen.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie JavaTM, SmalltalkTM, C++ oder dergleichen sowie herkömmliche verfahrensorientierte Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig oder teilweise auf dem Computer des Benutzers, als ein eigenständiges Softwarepaket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server ausgeführt werden. Bei dem letzteren Szenario kann der entfernte Computer mit dem Computer des Benutzers durch ein beliebiges Netzwerk, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) verbunden sein, oder es kann eine Verbindung mit einem externen Computer hergestellt werden (zum Beispiel mithilfe eines Internetdienstanbieters über das Internet). Java sowie alle auf Java basierenden Handelsmarken und Logos sind Handelsmarken oder registrierte Handelsmarken von Oracle und/oder mit Oracle verbundenen Unternehmen.
  • Aspekte der vorliegenden Erfindung werden unten mit Bezug auf Flussdiagramme und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den bevorzugten veranschaulichenden Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagramme und/oder Blockschaltbilder sowie Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschaltbildern durch Computerprogrammanweisungen realisiert werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, so dass die Anweisungen, die durch den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zur Ausführung der in dem Block oder den Blöcken des Flussdiagramms und/oder Blockschaltbilds spezifizierten Funktionen/Handlungen erzeugen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis samt der Anweisungen herstellen, mithilfe derer die in dem Block oder den Blöcken des Flussdiagramms und/oder Blockschaltbilds spezifizierte Funktion/Handlung ausgeführt wird.
  • 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 Betriebsschritten zu bewirken, um einen computerimplementierten Prozess zu schaffen, so dass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Realisierung der in dem Block oder den Blöcken des Flussdiagramms und/oder Blockschaltbilds spezifizierten Funktionen/Handlungen bereitstellen.
  • Die 4 bis 6 zeigen Flussdiagramme, die beispielhafte Operationen der transparenten Konsolidierung von Betriebsmitteln logischer Partitionen, die sich in einem Energiesparmodus befinden, kurz beschreiben. 4 zeigt gemäß einer veranschaulichenden Ausführungsform die durch einen Virtualisierungsmechanismus ausgeführte Operation zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen, die in einen Energiesparmodus eintreten. In der folgenden Beschreibung wird „Betriebsmittel” als allgemeiner Begriff anstelle der konkreteren Begriffe „Prozessorkern”, „logischer Speicherblock” oder dergleichen verwendet, da die Operation bei vielen Arten von Betriebsmitteln dieselbe ist, wie für Fachleute offensichtlich ist. Zu Beginn der Operation überwacht der Virtualisierungsmechanismus eine Gruppe logischer Partitionen und eine Gruppe partitionierter Betriebsmittel (Schritt 402). Während der Überwachung stellt der Virtualisierungsmechanismus fest, ob eine oder mehrere aus der Gruppe logischer Partitionen in einen Energiesparmodus eingetreten sind (Schritt 404). Wenn der Virtualisierungsmechanismus bei dem Schritt 404 keine logische Partition erkennt, die in einen Energiesparmodus eingetreten ist, kehrt die Operation zu dem Schritt 402 zurück. Wenn der Virtualisierungsmechanismus jedoch bei dem Schritt 404 feststellt, dass sich eine logische Partition im Leerlauf befindet und in einen Energiesparmodus eingetreten ist, zeichnet der Virtualisierungsmechanismus die Betriebsmittelzuweisungen der logischen Partition auf (Schritt 406).
  • Der Virtualisierungsmechanismus stellt anschließend fest, ob sich auf einem Ursprungs-Betriebsmittelchip aus einer Gruppe von Betriebsmittelchips ein der logischen Partition zugeordnetes nicht gefaltetes Betriebsmittel befindet (Schritt 408). Wenn der Virtualisierungsmechanismus bei dem Schritt 408 festgestellt hat, dass kein nicht gefaltetes Betriebsmittel vorhanden ist, kehrt die Operation zu dem Schritt 402 zurück. Wenn der Virtualisierungsmechanismus bei dem Schritt 408 feststellt, dass ein nicht gefaltetes Betriebsmittel vorhanden ist, stellt der Virtualisierungsmechanismus anschließend fest, ob ein Ziel-Betriebsmittelchip vorhanden ist, mit dem die Operationen des nicht gefalteten Betriebsmittels auf transparente Weise getauscht werden oder zu dem diese migriert werden könnten (Schritt 410). Wenn der Virtualisierungsmechanismus bei dem Schritt 410 feststellt, dass kein Ziel-Betriebsmittelchip vorhanden ist, mit dem die Operationen des nicht gefalteten Betriebsmittels getauscht werden oder zu dem diese migriert werden könnten, kehrt die Operation zu dem Schritt 402 zurück. Wenn der Virtualisierungsmechanismus bei dem Schritt 410 feststellt, dass ein Ziel-Betriebsmittelchip vorhanden ist, mit dem die Operationen des nicht gefalteten Betriebsmittel getauscht werden oder zu dem diese migriert werden könnten, tauscht der Virtualisierungsmechanismus auf transparente Weise die Operationen des Betriebsmittels von dem Ursprungs-Betriebsmittelchip mit einem gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip, wobei der Tausch bewirkt, dass das gefaltete Betriebsmittel auf dem Ursprungschip gefaltet bleibt, oder migriert die Operationen des Betriebsmittels von dem Ursprungs-Betriebsmittelchip zu dem Ziel-Betriebsmittelchip, wobei die Migration bewirkt, dass das Betriebsmittel auf dem Ursprungschip gefaltet wird (Schritt 412).
  • Der Virtualisierungsmechanismus stellt anschließend fest, ob auf dem Ursprungs-Betriebsmittelchip ein weiteres nicht gefaltetes Betriebsmittel vorhanden ist (Schritt 414). Wenn der Virtualisierungsmechanismus bei dem Schritt 414 feststellt, dass ein weiteres nicht gefaltetes Betriebsmittel auf dem Ursprungs-Betriebsmittelchip vorhanden ist, kehrt die Operation zu dem Schritt 402 zurück. Wenn der Virtualisierungsmechanismus bei dem Schritt 414 feststellt, dass kein weiteres nicht gefaltetes Betriebsmittel auf dem Ursprungs-Betriebsmittelchip vorhanden ist, versetzt der Virtualisierungsmechanismus den Ursprungs-Betriebsmittelchip in einen höheren Energiesparmodus (Schritt 416), wobei die Operation anschließend zu dem Schritt 402 zurückkehrt. Der höhere Energiesparmodus spart im Vergleich zu den gesamten Energieeinsparungen aller Betriebsmittel aus der Vielzahl der Betriebsmittel auf dem Ziel-Betriebsmittelchip, die sich in einem individuellen Energiesparmodus befinden, zusätzlich Energie ein.
  • 5 zeigt gemäß einer veranschaulichenden Ausführungsform die durch einen Virtualisierungsmechanismus ausgeführte Operation zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen, die einen Energiesparmodus verlassen. In der folgenden Beschreibung wird „Betriebsmittel” wieder als allgemeiner Begriff anstelle der konkreteren Begriffe „Prozessorkern”, „logischer Speicherblock” oder dergleichen verwendet, da die Operation bei vielen Arten von Betriebsmitteln dieselbe ist, wie für Fachleute offensichtlich ist. Zu Beginn der Operation stellt der Virtualisierungsmechanismus fest, ob eine logische Partition einen Energiesparmodus verlassen hat (Schritt 502). Wenn der Virtualisierungsmechanismus bei dem Schritt 502 feststellt, dass keine logische Partition einen Energiesparmodus verlassen hat, kehrt die Operation zu dem Schritt 502 zurück. Wenn der Virtualisierungsmechanismus bei dem Schritt 502 feststellt, dass die logische Partition feststellt, dass eine logische Partition einen Energiesparmodus verlassen hat, stellt der Virtualisierungsmechanismus die Betriebsmittelzuweisungen der logischen Partition fest (Schritt 504). Der Virtualisierungsmechanismus aktiviert anschließend alle Betriebsmittelchips, die den Betriebsmittelzuweisungen zugeordnet sind (Schritt 506). Der Virtualisierungsmechanismus stellt dann fest, ob bei einem der logischen Partition zugeordneten Betriebsmittel die Operationen auf transparente Weise mit einem anderen Betriebsmittelchip getauscht oder zu diesem migriert wurden (Schritt 508). Wenn der Virtualisierungsmechanismus bei dem Schritt 508 feststellt, dass bei einem Betriebsmittel die Operationen auf transparente Weise mit einem anderen Betriebsmittelchip getauscht oder zu diesem migriert wurden, stellt der Virtualisierungsmechanismus das Betriebsmittel auf dessen Ursprungs-Betriebsmittelchip wieder her (Schritt 510). Der Virtualisierungsmechanismus stellt anschließend fest, ob ein weiteres wiederherzustellendes Betriebsmittel vorhanden ist (Schritt 512). Wenn der Virtualisierungsmechanismus bei dem Schritt 512 feststellt, dass ein weiteres wiederherzustellendes Betriebsmittel vorhanden ist, kehrt die Operation zu dem Schritt 510 zurück. Wenn der Virtualisierungsmechanismus bei dem Schritt 512 feststellt, dass kein weiteres wiederherzustellendes Betriebsmittel vorhanden ist, oder wenn der Virtualisierungsmechanismus bei dem Schritt 508 feststellt, dass bei keinem Betriebsmittel die Operationen auf transparente Weise mit einem anderen Betriebsmittelchip getauscht oder zu diesem migriert wurden, kehrt die Operation zu dem Schritt 502 zurück.
  • 6 zeigt die durch einen Virtualisierungsmechanismus ausgeführte Operation gemäß einer veranschaulichenden Ausführungsform, einer logischen Partition, die sich in einem Energiesparmodus befindet, Betriebsmittel zuzuweisen. In der folgenden Beschreibung wird „Betriebsmittel” wieder als allgemeiner Begriff anstelle der konkreteren Begriffe „Prozessorkern”, „logischer Speicherblock” oder dergleichen verwendet, da die Operation bei vielen Arten von Betriebsmitteln dieselbe ist, wie für Fachleute offensichtlich ist. Zu Beginn der Operation empfängt der Virtualisierungsmechanismus eine Anforderung, einer logischen Partition ein oder mehrere zusätzliche(s) Betriebsmittel zuzuweisen (Schritt 602). Der Virtualisierungsmechanismus stellt fest, ob sich die logische Partition in einem Energiesparmodus befindet (Schritt 604). Wenn der Virtualisierungsmechanismus bei dem Schritt 604 feststellt, dass sich die logische Partition nicht in einem Energiesparmodus befindet, weist der Virtualisierungsmechanismus der logischen Partition das oder die zusätzlichen) Betriebsmittel zu und sendet dem Betriebssystem der logischen Partition ein Signal, das das Betriebssystem über die zusätzlichen Betriebsmittel informiert (Schritt 606), wobei die Operation anschließend zu dem Schritt 602 zurückkehrt. Wenn der Virtualisierungsmechanismus bei dem Schritt 604 feststellt, dass sich die logische Partition in einem Energiesparmodus befindet, zeichnet der Virtualisierungsmechanismus die Zuweisung des/der zusätzlichen Betriebsmittel(s) auf, um das oder die zusätzlichen) Betriebsmittel zuzuweisen, sobald die logische Partition den Energiesparmodus verlässt (Schritt 608). Der Virtualisierungsmechanismus stellt anschließend fest, ob die logische Partition den Energiesparmodus verlassen hat (Schritt 610). Wenn der Virtualisierungsmechanismus bei dem Schritt 610 feststellt, dass die logische Partition den Energiesparmodus nicht verlassen hat, kehrt die Operation zu dem Schritt 610 zurück. Wenn der Virtualisierungsmechanismus bei dem Schritt 610 feststellt, dass die logische Partition den Energiesparmodus verlassen hat, schreitet die Operation zu dem Schritt 606 fort.
  • Das Flussdiagramm und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Beziehung kann jeder Block in dem Flussdiagramm oder den Blockschaltbildern ein Modul, Segment oder einen Codeabschnitt enthalten, das/der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion(en) aufweist. Es sollte auch beachtet werden, dass bei einigen alternativen Realisierungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben auftreten können. Zum Beispiel können zwei aufeinander folgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können in Abhängigkeit von der betreffenden Funktionalität manchmal in der umgekehrten Reihenfolge ausgeführt werden. Es ist ebenfalls zu beachten, dass jeder Block der Blockschaltbilder und/oder des Flussdiagramms sowie Blockkombinationen in den Blockschaltbildern und/oder dem Flussdiagramm durch hardwarebasierte Spezialsysteme, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von Spezialhardware und Computeranweisungen realisiert werden können.
  • Die bevorzugten veranschaulichenden Ausführungsformen stellen daher Mechanismen zur transparenten Konsolidierung von Betriebsmitteln logischer Partitionen bereit, die sich in einem statischen Energiesparmodus befinden. Mithilfe von Prozessor- und Speichervirtualisierungstechnologien kann ein Virtualisierungsmechanismus Operationen mit gefalteten virtuellen Prozessoren und ebensolchem Speicher tauschen oder Operationen von nicht gefalteten virtuellen Prozessoren und nicht gefaltetem virtuellem Arbeitsspeicher leerlaufender logischer Partitionen auf transparente Weise zu einer geringeren Anzahl aktiver Prozessor- und Speicherchips migrieren. Sind die aktiven Prozessorkerne und logischen Speicherblöcke auf aktiven Prozessor- und Speicherchips verdichtet, können die ursprünglichen Prozessorkerne und logischen Speicherblöcke gefaltet werden und die den gefalteten Betriebsmitteln entsprechenden Betriebsmittel in einen höchsten Energieskalierungs-Sparmodus versetzt werden. Der entscheidende Punkt ist, dass der Virtualisierungsmechanismus aktive Prozessoren und aktiven Speicher auf einer geringeren Anzahl von Prozessor- und Speicherchips konsolidiert hat. Die Prozessor- und Speicherchips mit konsolidierten Betriebsmitteln verbrauchen mehr Energie als vor der Konsolidierung, aber die anderen Prozessor- und Speicherchips, die den gefalteten Betriebsmitteln entsprechen, können jetzt in einen höheren Energiesparmodus versetzt werden, so dass durch die Verwendung der Konsolidierungstechniken im Endergebnis zusätzlich Energie eingespart wird.
  • Wie vorstehend festgestellt, sollte beachtet werden, dass die bevorzugten veranschaulichenden Ausführungsformen in Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform oder einer Ausführungsform vorliegen können, die sowohl Hardware- als auch Software-Elemente enthält. Bei einer beispielhaften Ausführungsform werden die Mechanismen der bevorzugten veranschaulichenden Ausführungsformen als Software oder Programmcode realisiert, was unter anderem, ohne aber darauf beschränkt zu sein, Firmware, residente Software, Mikrocode usw. einschließt.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, weist mindestens einen Prozessor auf, der durch einen Systembus direkt oder indirekt mit Speicherelementen verbunden ist. Die Speicherelemente können lokalen Speicher aufweisen, der während der tatsächlichen Ausführung des Programmcodes genutzt wird, Massenspeicher und Cachespeicher, in dem zumindest ein Teil des Programmcodes vorübergehend gespeichert wird, damit Code bei der Ausführung weniger häufig aus dem Massenspeicher abgerufen werden muss.
  • Eingabe-/Ausgabe- bzw. E-/A-Einheiten (darunter unter anderem Tastaturen, Bildschirme, Zeigeeinheiten usw. können entweder direkt oder mithilfe von dazwischen liegenden E-/A-Controllern mit dem System verbunden werden. Auch Netzwerkadapter können mit dem System verbunden sein, damit das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen, Remote-Druckern oder Speichereinheiten durch dazwischen liegende private oder öffentliche Netzwerke verbunden werden kann. Modems, Kabelmodems und Ethernetkarten sind nur einige der aktuell zur Verfügung stehenden Arten von Netzwerkadaptern.

Claims (16)

  1. Verfahren zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen in einem logisch partitionierten Datenverarbeitungssystem, wobei das Verfahren die Schritte aufweist: Feststellen, mithilfe eines Virtualisierungsmechanismus in dem logisch partitionierten Datenverarbeitungssystem, ob ein nicht gefaltetes Betriebsmittel auf einem Ursprungs-Betriebsmittelchip aus einer Gruppe von Betriebsmittelchips vorhanden ist, wobei das nicht gefaltete Betriebsmittel einer logischen Partition zugeordnet ist, die einen Energiesparmodus in eine Gruppe logischer Partitionen eingegeben hat; als Reaktion auf das Vorhandensein des nicht gefalteten Betriebsmittels auf einem Ursprungs-Betriebsmittelchip, Feststellen, mithilfe des Virtualisierungsmechanismus, ob ein Ziel-Betriebsmittelchip vorhanden ist, um entweder die Operationen des nicht gefalteten Betriebsmittels gegen ein gefaltetes Betriebsmittel auf dem Ziel-Chip auszutauschen oder die Operationen des nicht gefalteten Betriebsmittels zu einem nicht gefalteten Betriebsmittel auf dem Ziel-Chip zu migrieren; als Reaktion auf das Vorhandensein des gefalteten Betriebsmittels auf dem Ziel-Betriebsmittelchip transparentes Tauschen der Operationen des nicht gefalteten Betriebsmittels mithilfe des Virtualisierungsmechanismus von dem Ursprungs-Betriebsmittelchip zu dem gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip, wobei das gefaltete Betriebsmittel auf dem Ursprungs-Betriebsmittelchip nach dem Tausch gefaltet bleibt; Feststellen, mithilfe des Virtualisierungsmechanismus, ob ein weiteres nicht gefaltetes Betriebsmittel auf dem Ursprungs-Betriebsmittelchip vorhanden ist, und als Reaktion auf das Nichtvorhandensein eines weiteren nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip Versetzen des Ursprungs-Betriebsmittelchips mithilfe des Virtualisierungsmechanismus in einen höheren Energiesparmodus, wobei der höhere Energiesparmodus im Vergleich zu den gesamten Energieeinsparungen aller Betriebsmittel aus der Vielzahl der Betriebsmittel auf dem Ziel-Betriebsmittelchip, die sich jeweils in einem individuellen Energiesparmodus befinden, zusätzlich Energie einspart.
  2. Verfahren nach Anspruch 1, das weiter die Schritte aufweist: als Reaktion auf das Vorhandensein des nicht gefalteten Betriebsmittels auf dem Ziel-Betriebsmittelchip transparentes Migrieren der Operationen des nicht gefalteten Betriebsmittels mithilfe des Virtualisierungsmechanismus von dem Ursprungs-Betriebsmittelchip zu dem nicht gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip, wodurch veranlasst wird, dass das nicht gefaltete Betriebsmittel auf dem Ursprungs-Betriebsmittelchip gefaltet wird; Feststellen, mithilfe des Virtualisierungsmechanismus, ob ein weiteres nicht gefaltetes Betriebsmittel auf dem Ursprungs-Betriebsmittelchip vorhanden ist, und als Reaktion auf das Nichtvorhandensein eines weiteren nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip Versetzen des Ursprungs-Betriebsmittelchips mithilfe des Virtualisierungsmechanismus in einen höheren Energiesparmodus, wobei der höhere Energiesparmodus im Vergleich zu den gesamten Energieeinsparungen aller Betriebsmittel aus der Vielzahl der Betriebsmittel auf dem Ziel-Betriebsmittelchip, die sich jeweils in einem individuellen Energiesparmodus befinden, zusätzlich Energie einspart.
  3. Verfahren nach einem der vorangehenden Ansprüche, wobei das Betriebsmittel ein Prozessorkern und/oder ein logischer Speicherblock ist, wobei der Ursprungs-Betriebsmittelchip und der Ziel-Betriebsmittelchip Mehrkernprozessoren sind, wenn das Betriebsmittel der Prozessorkern ist, und wobei der Ursprungs-Betriebsmittelchip und der Ziel-Betriebsmittelchip Speicher-Arrays sind, wenn das Betriebsmittel der logische Speicherblock ist.
  4. Verfahren nach einem der vorangehenden Ansprüche, das weiter den Schritt aufweist: Aufzeichnen der Betriebsmittelzuweisungen der logischen Partition mithilfe des Virtualisierungsmechanismus vor dem transparenten Tauschen oder Migrieren der Operationen des nicht gefalteten Betriebsmittels von dem Ursprungs-Betriebsmittelchip zu dem gefalteten Betriebsmittel oder dem nicht gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip.
  5. Verfahren nach einem der vorangehenden Ansprüche, das weiter die Schritte aufweist: Feststellen, mithilfe des Virtualisierungsmechanismus, ob die logische Partition den Energiesparmodus verlassen hat; als Reaktion auf das Verlassen des Energiesparmodus durch die logische Partition, Erkennen der Betriebsmittelzuweisungen der logischen Partition mithilfe des Virtualisierungsmechanismus; Aktivieren, mithilfe des Virtualisierungsmechanismus, eines oder mehrerer Betriebsmittelchips aus der Gruppe von Betriebsmittelchips, die den Betriebsmittelzuweisungen zugeordnet sind; Feststellen, mithilfe des Virtualisierungsmechanismus, ob bei einem oder mehreren der logischen Partition zugeordneten Betriebsmittel(n) die Operationen auf transparente Weise mit einem anderen Betriebsmittelchip getauscht oder zu diesem migriert wurden, und als Reaktion auf das Erkennen eines oder mehrerer Betriebsmittel, die der logischen Partition zugeordnet sind und deren Operationen auf transparente Weise mit dem anderen Betriebsmittelchip getauscht oder zu diesem migriert wurden, Wiederherstellen der Operationen jedes Betriebsmittels auf seinem Ursprungs-Betriebsmittelchip mithilfe des Virtualisierungsmechanismus.
  6. Verfahren nach einem der vorangehenden Ansprüche, das weiter die Schritte aufweist: Empfangen, mithilfe des Virtualisierungsmechanismus, einer Anforderung, der logischen Partition ein oder mehrere zusätzliche Betriebsmittel zuzuweisen; Feststellen, mithilfe des Virtualisierungsmechanismus, ob die logische Partition sich im Energiesparmodus befindet, und als Reaktion darauf, dass sich die logische Partition im Energiesparmodus befindet, Aufzeichnen einer Zuweisung des oder der zusätzlichen Betriebsmittel(s) mithilfe des Virtualisierungsmechanismus, um das oder die zusätzliche(n) Betriebsmittel zuzuweisen, sobald die logische Partition den Energiesparmodus verlässt.
  7. Verfahren nach Anspruch 6, das weiter die Schritte aufweist: Feststellen, mithilfe des Virtualisierungsmechanismus, ob die logische Partition den Energiesparmodus verlassen hat; als Reaktion auf das Verlassen des Energiesparmodus durch die logische Partition, Zuweisen des oder der zusätzlichen Betriebsmittel(s) zu der logischen Partition mithilfe des Virtualisierungsmechanismus, und Senden eines Signals an ein Betriebssystem der logischen Partition mithilfe des Virtualisierungsmechanismus, das das Betriebssystem über das oder die zusätzliche(n) Betriebsmittel informiert.
  8. Vorrichtung, die aufweist: einen Prozessor und einen mit dem Prozessor verbundenen Speicher, wobei der Speicher Anweisungen aufweist; Mittel zum Feststellen, ob ein nicht gefaltetes Betriebsmittel auf einem Ursprungs-Betriebsmittelchip in einer Gruppe von Betriebsmittelchips vorhanden ist, wobei das nicht gefaltete Betriebsmittel einer logischen Partition zugeordnet ist, die einen Energiesparmodus in eine Gruppe logischer Partitionen eingegeben hat; als Reaktion auf das Vorhandensein des nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip, Mittel zum Feststellen, ob ein Ziel-Betriebsmittelchip vorhanden ist, um entweder die Operationen des nicht gefalteten Betriebsmittels mit einem gefalteten Betriebsmittel auf dem Ziel-Chip zu tauschen oder die Operationen des nicht gefalteten Betriebsmittels zu einem nicht gefalteten Betriebsmittel auf dem Ziel-Chip zu migrieren; als Reaktion auf das Vorhandensein des gefalteten Betriebsmittels auf dem Ziel-Betriebsmittelchip, Mittel zum transparenten Tauschen der Operationen des nicht gefalteten Betriebsmittels von dem Ursprungs-Betriebsmittelchip zu dem gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip, wobei das gefaltete Betriebsmittel auf dem Ursprungs-Betriebsmittelchip nach dem Tausch gefaltet bleibt; Mittel zum Feststellen, ob ein weiteres nicht gefaltetes Betriebsmittel auf dem Ursprungs-Betriebsmittelchip vorhanden ist, und als Reaktion auf das Nichtvorhandensein eines weiteren nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip, Mittel zum Versetzen des Ursprungs-Betriebsmittelchips in einen höheren Energiesparmodus, wobei der höhere Energiesparmodus im Vergleich zu den gesamten Energieeinsparungen aller Betriebsmittel aus der Vielzahl der Betriebsmittel auf dem Ziel-Betriebsmittelchip, die sich jeweils in einem individuellen Energiesparmodus befinden, zusätzlich Energie einspart.
  9. Vorrichtung nach Anspruch 8, die weiter aufweist: als Reaktion auf das Vorhandensein des nicht gefalteten Betriebsmittels auf dem Ziel-Betriebsmittelchip, Mittel zum transparenten Migrieren der Operationen des nicht gefalteten Betriebsmittels von dem Ursprungs-Betriebsmittelchip zu dem nicht gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip, wodurch veranlasst wird, dass das nicht gefaltete Betriebsmittel auf dem Ursprungs-Betriebsmittelchip gefaltet wird; Mittel zum Feststellen, ob ein weiteres nicht gefaltetes Betriebsmittel auf dem Ursprungs-Betriebsmittelchip vorhanden ist, und als Reaktion auf das Nichtvorhandensein eines weiteren nicht gefalteten Betriebsmittels auf dem Ursprungs-Betriebsmittelchip, Mittel zum Versetzen des Ursprungs-Betriebsmittelchips in einen höheren Energiesparmodus, wobei der höhere Energiesparmodus im Vergleich zu den gesamten Energieeinsparungen aller Betriebsmittel aus der Vielzahl der Betriebsmittel auf dem Ziel-Betriebsmittelchip, die sich jeweils in einem individuellen Energiesparmodus befinden, zusätzlich Energie einspart.
  10. Vorrichtung nach Anspruch 8 oder 9, wobei das Betriebsmittel ein Prozessorkern und/oder ein logischer Speicherblock ist, wobei der Ursprungs-Betriebsmittelchip und der Ziel-Betriebsmittelchip Mehrkernprozessoren sind, wenn das Betriebsmittel der Prozessorkern ist, und wobei der Ursprungs-Betriebsmittelchip und der Ziel-Betriebsmittelchip Speicher-Arrays sind, wenn das Betriebsmittel der logische Speicherblock ist.
  11. Vorrichtung nach einem der Ansprüche 8 bis 10, die weiter aufweist: Mittel zum Aufzeichnen von Betriebsmittelzuweisungen der logischen Partition vor dem transparenten Tauschen oder Migrieren der Operationen des nicht gefalteten Betriebsmittels von dem Ursprungs-Betriebsmittelchip zu dem gefalteten Betriebsmittel oder dem nicht gefalteten Betriebsmittel auf dem Ziel-Betriebsmittelchip.
  12. Vorrichtung nach einem der Ansprüche 8 bis 11, die weiter aufweist: Mittel zum Feststellen, ob die logische Partition den Energiesparmodus verlassen hat; als Reaktion auf das Verlassen des Energiesparmodus durch die logische Partition, Mittel zum Erkennen von Betriebsmittelzuweisungen der logischen Partition; Mittel zum Aktivieren eines oder mehrerer Betriebsmittelchips aus der Gruppe von Betriebsmittelchips, die den Betriebsmittelzuweisungen zugeordnet sind; Mittel zum Feststellen, ob bei einem oder mehreren der logischen Partition zugeordneten Betriebsmittel(n) die Operationen auf transparente Weise mit einem anderen Betriebsmittelchip getauscht oder zu diesem migriert wurden, und als Reaktion auf das Erkennen eines oder mehrerer Betriebsmittel, die der logischen Partition zugeordnet sind und deren Operationen auf transparente Weise mit dem anderen Betriebsmittelchip getauscht oder zu diesem migriert wurden, Mittel zum Wiederherstellen der Operationen jedes Betriebsmittels auf seinem Ursprungs-Betriebsmittelchip.
  13. Vorrichtung nach einem der Ansprüche 8 bis 12, die weiter aufweist: Mittel zum Empfangen einer Anforderung, der logischen Partition ein oder mehrere zusätzliche Betriebsmittel zuzuweisen; Mittel zum Feststellen, ob die logische Partition sich im Energiesparmodus befindet, und als Reaktion darauf, dass sich die logische Partition im Energiesparmodus befindet, Mittel zum Aufzeichnen einer Zuweisung des oder der zusätzlichen Betriebsmittel(s), um das oder die zusätzlichen) Betriebsmittel der logischen Partition zuzuweisen, sobald diese den Energiesparmodus verlässt.
  14. Vorrichtung nach Anspruch 13, die weiter aufweist: Mittel zum Feststellen, ob die logische Partition den Energiesparmodus verlassen hat; als Reaktion auf das Verlassen des Energiesparmodus durch die logische Partition, Mittel zum Zuweisen des oder der zusätzlichen Betriebsmittel(s) zu der logischen Partition, und Mittel zum Senden eines Signals an ein Betriebssystem der logischen Partition, das das Betriebssystem über das oder die zusätzliche(n) Betriebsmittel informiert.
  15. Computerprogrammprodukt, in einem logisch partitionierten Datenverarbeitungssystem, zum transparenten Konsolidieren von Betriebsmitteln logischer Partitionen, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das für eine Verarbeitungsschaltung lesbar ist und Anweisungen zum Ausführen durch die Verarbeitungsschaltung speichert, um ein Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
  16. Computerprogramm, das Softwarecodeabschnitte aufweist und das auf einem computerlesbaren Medium gespeichert und in den digitalen Speicher eines digitalen Computers ladbar ist, wenn das Programm auf einem Computer ausgeführt wird, um das Verfahren aus einem der Ansprüche 1 bis 7 auszuführen.
DE112011102115.1T 2010-06-23 2011-06-08 Transparente Steigerung von Energieeinsparungen in einer Energieverbrauchs-Steuerungsumgebung Active DE112011102115B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/821,789 2010-06-23
US12/821,789 US8381002B2 (en) 2010-06-23 2010-06-23 Transparently increasing power savings in a power management environment
PCT/EP2011/059425 WO2011160947A1 (en) 2010-06-23 2011-06-08 Transparently increasing power savings in a power management environment

Publications (2)

Publication Number Publication Date
DE112011102115T5 DE112011102115T5 (de) 2013-03-28
DE112011102115B4 true DE112011102115B4 (de) 2014-11-13

Family

ID=44544027

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011102115.1T Active DE112011102115B4 (de) 2010-06-23 2011-06-08 Transparente Steigerung von Energieeinsparungen in einer Energieverbrauchs-Steuerungsumgebung

Country Status (5)

Country Link
US (2) US8381002B2 (de)
DE (1) DE112011102115B4 (de)
GB (1) GB2494825B (de)
TW (1) TW201222236A (de)
WO (1) WO2011160947A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9804874B2 (en) * 2011-04-20 2017-10-31 Microsoft Technology Licensing, Llc Consolidation of idle virtual machines on idle logical processors
US8381002B2 (en) * 2010-06-23 2013-02-19 International Business Machines Corporation Transparently increasing power savings in a power management environment
US8631253B2 (en) * 2010-08-17 2014-01-14 Red Hat Israel, Ltd. Manager and host-based integrated power saving policy in virtualization systems
US8448006B2 (en) 2010-10-19 2013-05-21 International Business Machines Corporation Performing virtual and/or physical resource management for power management
CN103777734A (zh) * 2012-10-25 2014-05-07 英业达科技有限公司 机柜式服务器系统与其操作方法
US20140281592A1 (en) * 2013-03-18 2014-09-18 Advanced Micro Devices, Inc. Global Efficient Application Power Management
JP6033183B2 (ja) * 2013-07-31 2016-11-30 京セラドキュメントソリューションズ株式会社 画像形成装置、及び画像形成装置の起動方法
US9541985B2 (en) 2013-12-12 2017-01-10 International Business Machines Corporation Energy efficient optimization in multicore processors under quality of service (QoS)/performance constraints
US9483403B2 (en) 2014-06-17 2016-11-01 International Business Machines Corporation Techniques for preserving an invalid global domain indication when installing a shared cache line in a cache
US10776143B2 (en) 2014-06-17 2020-09-15 International Business Machines Corporation Techniques for utilizing a resource fold factor in placement of physical resources for a virtual machine
US10310845B2 (en) * 2014-06-27 2019-06-04 Welch Allyn, Inc. Medical device low acuity vitals system architecture
US9804836B2 (en) 2014-06-27 2017-10-31 Welch Allyn, Inc. Medical device nucleus architecture
TWI764082B (zh) 2019-02-14 2022-05-11 美商萬國商業機器公司 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品
CN113454590A (zh) * 2019-02-14 2021-09-28 国际商业机器公司 定向中断虚拟化
JP7450627B2 (ja) 2019-02-14 2024-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム
TWI759677B (zh) 2019-02-14 2022-04-01 美商萬國商業機器公司 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
TWI727607B (zh) 2019-02-14 2021-05-11 美商萬國商業機器公司 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
WO2020165666A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt virtualization with blocking indicator
EP3924819A1 (de) 2019-02-14 2021-12-22 International Business Machines Corporation Gerichtete unterbrechung für mehrstufige virtualisierung mit unterbrechungstabelle
WO2020164818A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt for multilevel virtualization
US11023287B2 (en) * 2019-03-27 2021-06-01 International Business Machines Corporation Cloud data center with reduced energy consumption

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146513A1 (en) * 2008-12-09 2010-06-10 Intel Corporation Software-based Thread Remapping for power Savings

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US194641A (en) 1877-08-28 Improvement in anti-friction journals
US7493478B2 (en) 2002-12-05 2009-02-17 International Business Machines Corporation Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
US7388839B2 (en) 2003-10-22 2008-06-17 International Business Machines Corporation Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems
US7448037B2 (en) 2004-01-13 2008-11-04 International Business Machines Corporation Method and data processing system having dynamic profile-directed feedback at runtime
US7334142B2 (en) * 2004-01-22 2008-02-19 International Business Machines Corporation Reducing power consumption in a logically partitioned data processing system with operating system call that indicates a selected processor is unneeded for a period of time
US7194641B2 (en) 2004-01-22 2007-03-20 International Business Machines Corporation Method and apparatus for managing power and thermal alerts transparently to an operating system in a data processing system with increased granularity in reducing power usage and thermal generation
US7530071B2 (en) 2004-04-22 2009-05-05 International Business Machines Corporation Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions
US7076682B2 (en) 2004-05-04 2006-07-11 International Business Machines Corp. Synchronous pipeline with normally transparent pipeline stages
EP1677175B1 (de) 2004-12-31 2013-08-28 ST-Ericsson SA Dynamische Leistungsverwaltung für System-on-Chip (SOC)
US7194645B2 (en) 2005-02-09 2007-03-20 International Business Machines Corporation Method and apparatus for autonomic policy-based thermal management in a data processing system
US8194641B2 (en) 2005-03-28 2012-06-05 Cisco Technology, Inc. Method and system for operating a communication service portal
US7444526B2 (en) 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7484110B2 (en) 2006-03-16 2009-01-27 Microsoft Corporation Adaptive power management
WO2007148159A1 (en) 2006-06-22 2007-12-27 Freescale Semiconductor, Inc. A method and device for power management
US8296760B2 (en) 2006-10-27 2012-10-23 Hewlett-Packard Development Company, L.P. Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine
US20080301473A1 (en) 2007-05-29 2008-12-04 International Business Machines Corporation Method and system for hypervisor based power management
US7913071B2 (en) 2007-07-31 2011-03-22 Northwestern University Systems and methods for process and user driven dynamic voltage and frequency scaling
US20090049314A1 (en) 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
US9607664B2 (en) 2007-09-27 2017-03-28 Sandisk Technologies Llc Leveraging portable system power to enhance memory management and enable application level features
EP2203818A2 (de) 2007-10-21 2010-07-07 Citrix Systems, Inc. Systeme und verfahren für benutzersitzungen mit adaptivem lastenausgleich für reduzierten stromverbrauch
US9395786B2 (en) 2007-11-20 2016-07-19 Hewlett Packard Enterprise Development Lp Cross-layer power management in a multi-layer system
JP5433837B2 (ja) 2007-12-05 2014-03-05 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
US7730248B2 (en) 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes
US20090199019A1 (en) 2008-01-31 2009-08-06 Nokia Corporation Apparatus, method and computer program product for reducing power consumption based on relative importance
US8407515B2 (en) 2008-05-06 2013-03-26 International Business Machines Corporation Partition transparent memory error handling in a logically partitioned computer system with mirrored memory
US8312230B2 (en) 2008-06-06 2012-11-13 International Business Machines Corporation Dynamic control of partition memory affinity in a shared memory partition data processing system
US8892916B2 (en) 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management
CN101685335A (zh) 2008-09-27 2010-03-31 国际商业机器公司 基于seda的应用服务器及其节能装置和方法
US8381002B2 (en) * 2010-06-23 2013-02-19 International Business Machines Corporation Transparently increasing power savings in a power management environment
US8448006B2 (en) 2010-10-19 2013-05-21 International Business Machines Corporation Performing virtual and/or physical resource management for power management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146513A1 (en) * 2008-12-09 2010-06-10 Intel Corporation Software-based Thread Remapping for power Savings

Also Published As

Publication number Publication date
GB2494825B (en) 2018-08-22
GB201300084D0 (en) 2013-02-20
US8423811B2 (en) 2013-04-16
TW201222236A (en) 2012-06-01
US8381002B2 (en) 2013-02-19
US20120210152A1 (en) 2012-08-16
DE112011102115T5 (de) 2013-03-28
US20110320840A1 (en) 2011-12-29
WO2011160947A1 (en) 2011-12-29
GB2494825A (en) 2013-03-20

Similar Documents

Publication Publication Date Title
DE112011102115B4 (de) Transparente Steigerung von Energieeinsparungen in einer Energieverbrauchs-Steuerungsumgebung
DE112011103193B4 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE112011100392B4 (de) Ressourcenaffinität durch dynamisches hinzufügen oder entfernen von warteschlangenpaaren für netzadapter mit software zur empfangsseitigen skalierung (rss)
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE102007060324B4 (de) Vorrichtung, Verfahren und Programmspeichervorrichtung für einen Computerbetrieb im Mehrfachmodus
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
US8661448B2 (en) Logical partition load manager and balancer
DE112015004564B4 (de) Ereignisgesteuerte Reoptimierung einer logisch partitionierten Umgebung zur Energieverwaltung
DE112015001477T5 (de) Hardwarezähler zum Verfolgen einer Auslastung in einem Multithreading-Computersystem
DE112012000693T5 (de) Ausführen einer Vielzahl von Instanzen einer Anwendung
DE112011103408T5 (de) Verwalten von komprimiertem Speicher unter Verwendung gestaffelter Interrupts
DE102015107990A1 (de) Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung
DE112013006305T5 (de) Speichersystem und Verfahren zum Zuweisen von Ressourcen
DE112012000635T5 (de) Dynamische Speicherverwaltung in einer virtualisierten Datenverarbeitungsumgebung
DE102012203534B4 (de) Hardware-Charakterisierung für die Anwendung in Bezug auf virtuelle Umgebungen
Jin et al. A simple cache partitioning approach in a virtualized environment
DE102014003540A1 (de) Erzeugen einer isolierten ausführungsumgebung in einem co-designten prozessor
DE112013000369T5 (de) Verwaltung von Threads innerhalb einer Datenverarbeitungsumgebung
DE112017001148T5 (de) Abflachende portalbrücke .
DE102015002191A1 (de) Sicherheits-Hypervisor-Funktion
DE102009060265A1 (de) Effiziente Verwendung einer Remapping(Neuzuordnung)-Engine
DE112011101929T5 (de) Aktivieren der Steuerung eines Hypervisor in einer Cloud-Datenverarbeitungsumgebung
DE112015001502T5 (de) Ausstieg aus mehreren Threads in einem Computer
DE112014002754T5 (de) Effiziente Aufgabenplanung unter Verwendung eines Sperrmechanismus

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final