DE112012006164B4 - Steuern von Power-Management in Mikroservern - Google Patents

Steuern von Power-Management in Mikroservern Download PDF

Info

Publication number
DE112012006164B4
DE112012006164B4 DE112012006164.0T DE112012006164T DE112012006164B4 DE 112012006164 B4 DE112012006164 B4 DE 112012006164B4 DE 112012006164 T DE112012006164 T DE 112012006164T DE 112012006164 B4 DE112012006164 B4 DE 112012006164B4
Authority
DE
Germany
Prior art keywords
cores
energy consumption
consumption state
peripheral devices
period
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
DE112012006164.0T
Other languages
English (en)
Other versions
DE112012006164T5 (de
Inventor
Anil K. Kumar
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE112012006164T5 publication Critical patent/DE112012006164T5/de
Application granted granted Critical
Publication of DE112012006164B4 publication Critical patent/DE112012006164B4/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
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • G06F1/3234Power saving characterised by the action undertaken
    • 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
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Small-Scale Networks (AREA)

Abstract

Vorrichtung (200), umfassend:Logik, um eine erste Benachrichtigung zu einem oder mehreren Peripheriegeräten unter Verwendung von Seitenbandnachrichten zu senden, um das eine oder die mehreren Peripheriegeräte zu veranlassen, Operationen zu verzögern, wobei die erste Benachrichtigung basierend auf den Kernen (230, 232) eines Mikroservers, die in einen ersten Energieverbrauchszustand versetzt sind, gesendet wird;Logik, um die Kerne in einen zweiten Energieverbrauchszustand zu versetzen, der weniger Energie verbraucht als der erste Energieverbrauchszustand;Logik, um einen Zeitgeber für einen Zeitraum zu starten, wobei die Kerne konfiguriert sind, für den Zeitraum im zweiten Energieverbrauchszustand zu verbleiben; undLogik, um eine zweite Benachrichtigung an das eine oder die mehreren der Peripheriegeräte unter Verwendung von Seitenbandnachrichten zu senden, dass die Kerne des Mikroservers nach dem Ablauf des Zeitraums in einen dritten Energieverbrauchszustand versetzt werden, wobei der dritte Energieverbrauchszustand mehr Energie verbraucht als die ersten und zweiten E nergieverbrauchszustände.

Description

  • HINTERGRUND
  • Unkoordinierte Aktivitäten unter vielen mit Mikroservern verbundenen Komponenten können zu einer geringen Nutzung der Ressourcen führen. Gegenwärtige Lösungen, wie z.B. aus US 2010/0287394 A1 und US 2008/0162982 A1 bekannt, sind entweder gegenüber der Arbeitslast nicht sehr sensibel oder sie bürden den Lieferanten der Komponenten eine große Last auf. Die Erfindung macht es sich zur Aufgabe den Energieverbrauch von Komponenten zu verringern.
  • Figurenliste
  • Die verschiedenen Vorteile der erfindungsgemäßen Ausführungsformen werden für den Fachmann beim Durchlesen der folgenden Beschreibung und der anhängenden Ansprüche sowie unter Bezugnahme auf die folgenden Zeichnungen offensichtlich:
    • 1 ist ein Blockdiagramm, das ein beispielhaftes Computersystem gemäß einigen Ausführungsformen veranschaulicht;
    • 2 ist ein Blockdiagramm, das ein Beispiel eines Sockel- oder Mikroservers gemäß einigen Ausführungsformen veranschaulicht;
    • 3 ist ein Blockdiagramm, das ein Beispiel eines Mikromoduls gemäß einigen Ausführungsformen veranschaulicht;
    • 4 ist ein Diagramm, das eine beispielhafte Abfolge von Operationen veranschaulicht, die durch verschiedene Komponenten eines Sockels ausgeführt werden können, um den Energieverbrauch gemäß einigen Ausführungsformen zu reduzieren;
    • 5 ist ein Ablaufdiagramm eines beispielhaften Verfahrens, das durch eine Power-Management-Einheit eines Sockels gemäß einigen Ausführungsformen ausgeführt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen können eine Vorrichtung einbeziehen, die Logik einschließt, um eine erste Benachrichtigung zu einem oder mehreren Peripheriegeräten unter Verwendung von Seitenbandnachrichten zu senden, um zu veranlassen, dass das eine oder die mehreren Peripheriegeräte Operationen verzögern. Die erste Benachrichtigung kann basierend auf Kernen eines Mikroservers, der in einen ersten Energieverbrauchszustand versetzt ist, gesendet werden.
  • Die Vorrichtung kann Logik einschließen, um die Kerne in einen zweiten Energieverbrauchszustand zu versetzen, der weniger Energie verbraucht als der erste Energieverbrauchszustand. Die Vorrichtung kann auch Logik einschließen, um einen Zeitgeber für einen Zeitraum zu starten. Die Kerne können konfiguriert sein, für den Zeitraum im zweiten Energieverbrauchszustand zu verbleiben. Wenigstens eines der ein oder der mehreren Peripheriegeräte ist konfiguriert, Daten während des Zeitraums zu puffern. Die Vorrichtung kann weiter Logik einschließen, um eine zweite Benachrichtigung zu dem einen oder den mehreren Peripheriegeräten unter Verwendung der Seitenbandnachrichten zu senden. Die zweite Benachrichtigung kann benachrichtigen, dass die Kerne des Mikroservers nach Ablauf des Zeitraums in einen dritten Energieverbrauchszustand versetzt werden. Der dritte Energieverbrauchszustand kann mehr Energie verbrauchen als die ersten und zweiten Energieverbrauchszustände.
  • Ausführungsformen können ein System einbeziehen, das mehrere Kerne, ein Power-Management-Modul, das mit den Kernen gekoppelt ist, und ein oder mehrere mit dem Power-Management-Modul gekoppelte Peripheriegeräte einschließen kann. Das Power-Management-Modul kann konfiguriert sein, das eine oder die mehreren Peripheriegeräte zu veranlassen, basierend auf der Bestimmung, dass die Kerne sich in einem ersten Energieverbrauchszustand befinden, Operationen zu verzögern. Das Power-Management-Modul kann die Kerne in einen zweiten Energieverbrauchszustand für einen vorbestimmten Zeitraum versetzen. Der zweite Energieverbrauchszustand kann weniger Energie verbrauchen als der erste Energieverbrauchszustand. Das Power-Management-Modul kann das eine oder die mehreren Peripheriegeräte veranlassen, ihre Operationen basierend auf dem Ablauf des vorbestimmten Zeitraums fortzusetzen, und kann die Kerne basierend auf dem Ablauf des Zeitraums in einen dritten Energieverbrauchszustand versetzen. Der dritte Energieverbrauchszustand kann mehr Energie verbrauchen als der erste Energieverbrauchszustand und der zweite Energieverbrauchszustand. Ausführungsformen können ein computerimplementiertes Verfahren einbeziehen, das die Verwendung von Seitenbandkommunikation einschließen kann, um ein oder mehrere Peripheriegeräte eines Servers, der mehrere Kerne aufweist, zu veranlassen, basierend auf der Bestimmung, dass die Kerne in einen ersten Energieverbrauchszustand versetzt sind, Operationen zu verzögern. Das Verfahren kann das Versetzen der Kerne in einen zweiten Energieverbrauchszustand für einen Zeitraum einschließen. Der zweite Energieverbrauchszustand kann weniger Energie verbrauchen als der erste Energieverbrauchszustand.
  • Unter Verwendung der Seitenbandkommunikation kann das Verfahren das eine oder die mehreren Peripheriegeräte veranlassen, Operationen basierend auf dem Ablauf des Zeitraums fortzusetzen. Das Verfahren kann weiter das Versetzen der Kerne in einen dritten Energieverbrauchszustand basierend auf dem Ablauf des Zeitraums einschließen. Der dritte Energieverbrauchszustand kann mehr Energie verbrauchen als der erste Energieverbrauchszustand und der zweite Energieverbrauchszustand. Bezug nehmend auf 1 wird ein Blockdiagramm gezeigt, das ein beispielhaftes Computersystem 100 gemäß einigen Ausführungsformen veranschaulicht. Das Computersystem 100 kann eine Zentraleinheit (CPU) 105, einen Grafik- und Memory-Controller-Hub (GMCH) 110 und einen Eingabe-/Ausgabecontroller-Hub (ICH) 125 einschließen. Der GMCH 110 kann mit der CPU 105 über einen Bus 107 gekoppelt sein. Der ICH 125 kann mit dem GMCH 110 über einen Bus 122 gekoppelt sein. Der GMCH 110 kann auch mit den Speichergeräten 115 und den Anzeigegeräten 120 gekoppelt sein. Der ICH 125 kann mit den I/O-Geräten 130 gekoppelt sein. Der GMCH 110 kann ein Grafik-System (nicht dargestellt) einschließen. Obwohl die CPU 105, der GMCH 110 und der ICH 125 als separate Komponenten veranschaulicht sind, können die Funktionen von zwei oder mehr dieser Komponenten kombiniert sein. Eine Stromversorgung 150 kann verwendet werden, um Strom an das Computersystem 100 bereitzustellen. Die Stromversorgung 150 kann eine Batterie oder eine externe Stromquelle sein.
  • Für einige Ausführungsformen kann die CPU 105 ein Mehrkernprozessor sein. Das Computersystem 100 kann auch viele andere Komponenten einschließen; diese sind jedoch zur Einfachheit nicht dargestellt. Für einige Ausführungsformen kann das Computersystem 100 ein Server-Computersystem sein.
  • Unter Bezugnahme auf 2 wird ein Blockdiagramm gezeigt, das einen beispielhaften Sockel veranschaulicht, der mehrere Kerne gemäß einigen Ausführungsformen aufweist. Der Sockel 200 kann vier Module einschließen. Jedes Modul kann zwei Kerne einschließen, die den gleichen Cache gemeinsam benutzen. Im gegenwärtigen Beispiel gibt es acht Kerne im Sockel 200, wobei die Kerne 210, 212 den Cache 215 gemeinsam benutzen, die Kerne 220, 222 den Cache 225 gemeinsam benutzen, die Kerne 230, 232 den Cache 235 gemeinsam benutzen und die Kerne 240, 242 den Cache 245 gemeinsam benutzen. Die acht Kerne können gemeinsam als die Kerne 201 bezeichnet werden.
  • Der Sockel 200 kann als ein System auf einem Chip (SoC) implementiert sein, der viele Hardwarekomponenten eines Computersystems in einen Einzelchip integrieren kann. Diese Komponenten können Verarbeitungslogik (z. B. Kerne), Memory-Controller und damit verbundene Speicher, Peripheriegeräte, Schnittstellen usw. einschließen. Der Sockel 200 kann Software (z. B. Treiber, Betriebssystem usw.) einschließen, die verwendet werden kann, um dem Sockel 200 zu ermöglichen, mit der integrierten Hardware zu arbeiten.
  • Der Sockel 200 kann ein kohärentes Gefüge 250 und ein ein-/ausgabeskalierbares Gefüge (IOSF) 255 einschließen. Das kohärente Gefüge 250 kann mit den Kernen und dem Cache über die Kommunikationsleitung 248 gekoppelt sein. Das kohärente Gefüge 250 kann auch mit einem Memory-Controller (MC) 252 über die Kommunikationsleitung 254 gekoppelt sein. Der Sockel 200 kann auch einen Satz Peripheriegeräte einschließen, einschließlich beispielsweise Peripheral Component Interconnect Express- (PCIE) -Controller 260, Gigabit-Ethernet- (GbE) -Controller 265, Serial Advanced Technology Attachment- (SATA) -Controller 270, Power-Management-Controller (PMC) 275 und Systemspeicher-Bus (SMB) 280.
  • Das kohärente Gefüge 250 und das IOSF 255 können für direkten Verkehr innerhalb des Sockels 200 zwischen den Kernen 201 und dem Satz an Peripheriegeräten über die Kommunikationsleitungen 248 und 256 konfiguriert sein. Der GbE-Controller 265 kann konfiguriert sein, um das Senden und Empfangen von Netzwerkverkehr zwischen einem Netzwerk und den Kernen 201 zu behandeln. Wenn ein Paket von einem Netzwerk eintrifft, kann der GbE-Controller 265 bei diesem Beispiel das Paket zum kohärenten Gefüge 250 senden. Das kohärente Gefüge 250 kann dann das Paket zum geeigneten Kern der Kerne 201 zur Verarbeitung weiterleiten. Der SATA-Controller 270 kann konfiguriert sein, um Anfragen für mit SATA verbundene Geräte (z. B. Festplattenspeicher) zu behandeln. Der PCIE-Controller 260 kann konfiguriert sein, um Anfragen für mit PCIE verbundene Geräte zu behandeln. Der PMC 275 kann konfiguriert sein, um Power-Management für den Sockel zu behandeln. Der SMB 280 kann konfiguriert sein, um Verkehr zwischen dem Sockel 200 und einem anderen Sockel (gezeigt in 3) zu behandeln.
  • Im Allgemeinen können die Kerne 201 in einen Niedrigenergieverbrauchszustand versetzt werden, wenn sie nicht ausgelastet sind. Um effizient zu sein, sollten die Kerne 201 für wenigstens einen Mindestzeitraum im Niedrigenergieverbrauchszustand verbleiben. Der Grund dafür ist, dass die Kerne 201 zum Übergang von einem normalen Energieverbrauchszustand zu einem Niedrigenergieverbrauchszustand Zeit benötigen. Die Kerne 201 können auch Zeit in Anspruch nehmen, um vom Niedrigenergieverbrauchszustand zum normalen Energieverbrauchszustand zurückzukehren. Wenn die Kerne 201, nachdem sie in den Niedrigenergieverbrauchszustand versetzt wurden, zu früh aufgeweckt werden, kann der gesamte Energieverbrauch der Kerne 201 darin resultieren, dass er größer ist, als wenn die Kerne 201 die gesamte Zeit im normalen Energieverbrauchszustand gehalten worden wären. Während die Kerne 201 sich in einem Niedrigenergieverbrauchszustand befinden, kann beispielsweise ein Paket eintreffen und vom GbE-Controller 265 empfangen werden. Der GbE-Controller 265 kann veranlassen, dass die Kerne 201 aufwachen, um das Paket unabhängig davon, wie lange die Kerne 201 im Niedrigenergieverbrauchszustand gewesen sein mögen, zu verarbeiten. Wenn der SATA-Controller 270 Daten von einem FestplattenGerät (infolge einer vorhergehenden Leseanfrage) empfängt, kann der SATA-Controller 270 die Kerne 201 veranlassen, aufzuwachen, selbst wenn die Kerne 201 gerade das Eintreten in den Niedrigenergieverbrauchszustand abgeschlossen haben könnten. Da die Peripheriegeräte wie der GbE-Controller 265 oder der SATA-Controller 270 durch die Kerne 201 zu irgendeinem Zeitpunkt aufwachen können, kann es schwierig sein, vorauszusagen, wie lange die Kerne 201 im Niedrigenergieverbrauchszustand verbleiben können. Selbst wenn die Verwendung der Kerne 201 niedrig sein kann (z. B. geringer als 30 %), könnte es nicht energieeffizient sein, die Kerne 201 in den Niedrigenergieverbrauchszustand zu versetzen, da ein oder mehrere der Peripheriegeräte die Kerne zu früh aufwecken können.
  • Es kann mehrere unterschiedliche Energieverbrauchszustände geben, in die die Kerne 201 versetzt werden können. Beispielsweise können die Kerne 201 in einen „MC0“-Zustand versetzt werden, der einem normalen Energieverbrauchszustand entsprechen kann. Die Kerne 201 können in einen „MC4“-Zustand versetzt werden, der einem Niedrigenergieverbrauchszustand entsprechen kann. Die Kerne 201 können auch in einen „MC6“-Zustand versetzt werden, der einem noch niedrigeren Energieverbrauchszustand entsprechen kann. Der MC6-Zustand kann relativ zum MC0- und MC4-Zustand als ein Schlafzustand betrachtet werden. Für einige Ausführungsformen kann eine Power-Management-Einheit (PUNIT) 247 konfiguriert sein, um die Verwendung der Kerne 201 zu überwachen. Die PUNIT 247 kann mit den Kernen 201 und dem kohärenten Gefüge 250 gekoppelt sein. Die PUNIT 247 kann konfiguriert sein, ein Power-Management für die Kerne 201 bereitzustellen. Beispielsweise kann die PUNIT 247 die Verwendung der Kerne 201 überwachen und sie kann bestimmen, wann die Kerne 201 in den Niedrigenergieverbrauchszustand zu versetzen sind (z. B. vom MC0-Zustand in den MC4-Zustand). Die PUNIT 247 kann mit den Kernen 201 und dem kohärenten Gefüge 250 über eine Kommunikationsleitung 246 kommunizieren. Für einige Ausführungsformen kann die PUNIT 247 konfiguriert sein, die Peripheriegeräte zu benachrichtigen, wenn die Kerne 201 in einen noch niedrigeren Energieverbrauchszustand (z. B. vom MC4-Zustand in den MC6-Zustand) versetzt werden können, und wenn die Kerne 201 in den normalen Energieverbrauchszustand (z. B. vom MC6-Zustand in den MC0-Zustand) versetzt werden können. Für einige Ausführungsformen kann die PUNIT 247 ein Seitenband 257 verwenden, um den SATA-Controller 270 zu benachrichtigen, und ein Seitenband 258, um den GbE-Controller 265 zu benachrichtigen.
  • Unter Bezugnahme auf 3 wird ein Blockdiagramm gezeigt, das ein Beispiel eines Mikromoduls gemäß einigen Ausführungsformen veranschaulicht. Das Mikromodul 300 kann zwei Sockel 301 und 351, die miteinander durch einen Mikromodul-Management-Controller (MMC) 390 verbunden sind, einschließen. Der MMC 390 kann mit dem Sockel (oder Server) 301 über einen SMB des Sockels 301 gekoppelt sein. Der MMC 390 kann auch mit dem Sockel (oder Server) 351 über einen SMB-Bus des Sockels 351 gekoppelt sein. Der MMC 390 kann konfiguriert sein, die Sockel 301 und 351 zu verwalten. Intern können die Sockel 301 und 351 in ähnlicher Weise wie Sockel 200 (gezeigt in 2) konfiguriert sein. Beispielsweise kann der Sockel 301 die Kerne 305, die PUNIT 315 und die Peripheriegeräte 320 einschließen. Der Sockel 351 kann die Kerne 355, die PUNIT 365 und die Peripheriegeräte 370 einschließen.
  • Es kann festgestellt werden, dass, wenn die Verwendung der Kerne 305 oder 355 hoch ist (z. B. über 50 %), die entsprechende PUNIT 315 oder 365 die Kerne im normalen Energieverbrauchszustand (z. B. MC0-Zustand) halten kann und die Kerne nicht in den Niedrigenergieverbrauchszustand (z. B. MC4-Zustand) versetzt. Wenn jedoch die Verwendung der Kerne niedrig ist (z. B. weniger als 30 %), kann die PUNIT 315 oder 365 die Kerne 305 oder 355 in den Niedrigenergieverbrauchszustand versetzen (z. B. vom MC0-Zustand in den MC4-Zustand und dann niedriger durch das Wechseln vom MC4-Zustand in den MC6-Zustand). Die PUNITs 315 und 365 können unabhängig voneinander arbeiten. Jede der PUNITs 315 und 365 kann entsprechend einen Zeitgeber 316 und 366 einschließen. Die Zeitgeber 316 und 366 können verwendet werden, um zu bestimmen, wie lange die Kerne 305 und 365 im Niedrigenergieverbrauchszustand (z. B. MC6-Zustand) verbleiben können. Es kann für die Kerne 305 möglich sein, in den niedrigeren Energieverbrauchszustand versetzt zu werden (z. B. MC6-Zustand), während die Kerne 355 im normalen Energieverbrauchszustand (z. B. MC0-Zustand) verbleiben können, oder umgekehrt.
  • 4 zeigt ein Diagramm einer beispielhaften Abfolge von Operationen, die durch verschiedene Komponenten eines Sockels ausgeführt werden können, um den Energieverbrauch gemäß einigen Ausführungsformen zu reduzieren. Bei diesem Beispiel können die Komponenten den Komponenten des Sockels 200 (gezeigt in 2) entsprechen, und jede Komponente ist in einer Spalte als die Kerne 201, der GbE-Controller 265, der SATA-Controller 270 und die PUNIT 247 aufgeführt. Jede Spalte kann Operationen einschließen, die durch die Komponente oder einen Status der Komponente zu einer bestimmten Zeit auszuführen sind. Das Diagramm 400 kann von oben nach unten gemäß einer Zeitschiene fortschreiten.
  • Obwohl nicht dargestellt können die Kerne 201 anfänglich im normalen Energieverbrauchszustand (z. B. MC0-Zustand) arbeiten. Wenn die Verwendung der Kerne 201 niedrig wird (z. B. weniger als 30 %), können die Kerne 201 bei ungefähr der Zeit „t1“ in den Niedrigenergieverbrauchszustand (z. B. MC4) 405 versetzt werden. Das Versetzen der Kerne 201 in den Niedrigenergieverbrauchszustand kann durch die PUNIT 247 wie gezeigt in Block 410 ausgeführt werden. Die PUNIT 247 kann den SATA-Controller 270 und den GbE-Controller 265 über die Nachrichten 416 und 417 benachrichtigen, dass es für den SATA-Controller 270 und den GbE-Controller 265 erforderlich sein mag, die Kerne 201 im Niedrigenergieverbrauchszustand zu belassen. Die Benachrichtigung kann über eine Unicastnachricht 415 erfolgen. Die PUNIT 247 kann einen Zeitgeber 420 starten. Der Zeitraum kann basierend auf einer maximalen Direct Memory Access- (DMA) - Ausrichtungsdauer festgesetzt werden. Der Zeitgeber kann deshalb als ein MDAP-Zeitgeber bezeichnet werden. Der MDAP-Zeitgeber kann in der PUNIT 247 eingeschlossen sein. Der Zeitraum kann den Kernen 201 ermöglichen, für eine längstmögliche Zeit in einem Leerlaufmodus zu verbleiben. Der MDAP-Zeitgeber kann basierend auf der MC6-Zustandslatenzzeit (z. B. 500 Mikrosekunden oder zehn Mal die MC6-Ausstiegslatenzzeit) auf einen Standardwert vorprogrammiert werden. Das Auswählen des richtigen Zeitraums kann von einem Ausbalancieren zwischen einem Latenzzeitfaktor und einem Energieverbrauchsfaktor abhängen. Wenn beispielsweise der Zeitraum für eine ausgedehnte Dauer gesetzt ist, können die Kerne lange im MC6-Zustand bleiben, während die Verarbeitung der Transaktionen eine unnötige Verzögerung erfährt.
  • Nach dem Empfangen der Benachrichtigung kann der GbE-Controller 265 und der SATA-Controller 270 das Ausführen von Operationen stoppen, welche die Aufmerksamkeit der Kerne 201 benötigen könnten. Dies kann das Ausrichten der Operationen des GbE-Controllers 265 und des SATA-Controllers 270 einschließen, um das Wechseln der Kerne 201 in den niedrigen Energieverbrauchszustand aufzunehmen. Beispielsweise kann es eine Ausrichtung von jeglichen möglichen Interrupts 425 durch den GbE-Controller 265 (z. B. aufgrund des Empfangs des Paketes) 265 und jeglichen möglichen DMA-Aktivitäten 435 durch den SATA-Controller 270 (z. B. aufgrund von gelesenen Daten vom Festplattengerät) geben. Während dieser Zeit kann der SATA-Controller 270 als in einem teilweisen Link-Zustand 430 befindlich betrachtet werden, da er nicht voll mit dem DMA-Controller kommunizieren kann. Eine Pufferung kann verwendet werden, um Datenverlust zu verhindern, während sich die Kerne 201 im Niedrigenergieverbrauchszustand befinden.
  • Die PUNIT 247 kann dann die Kerne 201 in den niedrigeren Energieverbrauchszustand (z. B. MC6-Zustand) versetzen. Dies kann ungefähr zur Zeit „t2“ auftreten. Die Kerne 201 können im niedrigeren Energieverbrauchszustand bleiben, während der MDAP-Zeitgeber läuft. Für einige Ausführungsformen können andere Komponenten des Sockels 200 auch wie gezeigt in Block 455 in einen Niedrigenergieverbrauchszustand versetzt werden, während die Kerne 201 in einem Niedrigenergieverbrauchszustand verbleiben. Der Betrag an Zeit, den die Kerne 201 im niedrigeren Energieverbrauchszustand verbleiben können (z. B. MC6-Zustand) kann gleich der durch den MDAP-Zeitgeber eingestellten Zeit und der Latenzzeit für die Kerne 201 zum Übergang vom niedrigen Energieverbrauchszustand (z. B. MC6-Zustand) zum normalen Energieverbrauchszustand (z. B. MC0) sein, wie gezeigt in Block 460.
  • Wenn der mit dem MDAP-Zeitgeber verbundene Zeitraum abläuft, kann die PUNIT 247 den SATA-Controller 270 und den GbE-Controller 265 über die Seitenbandnachrichten 466 und 477 benachrichtigen. Der SATA-Controller 270 und der GbE-Controller 265 können dann die Verarbeitung ihrer Informationen fortsetzen, da die Kerne 201 zum normalen Energieverbrauchszustand zurückkehren können. Die Benachrichtigung kann über eine Unicastnachricht 465 erfolgen, die ungefähr zur Zeit „t3“ auftreten kann.
  • Für einige Ausführungsformen kann die im MDAP-Zeitgeber eingestellte Zeit programmierbar sein. Beispielsweise kann ein Benutzer die Zeit unter Verwendung einer Softwareschnittstelle festlegen, die mit den Kernen 201 verbunden sein kann. Der Zeitraum kann auch vom Originalhersteller (OEM) des Sockels 200 festgelegt werden. Für einige Ausführungsformen kann der Zeitraum überschrieben werden, wenn es nicht mehr möglich ist, auf die Kerne 201 zu warten, bis sie den niedrigen Energieverbrauchszustand verlassen. Wenn beispielsweise der GbE-Controller 265 nahe am Erschöpfen seines Pufferspeicherplatzes ist und das Risiko, vom Netzwerk empfangene Pakete zu verlieren, hoch ist, kann ein Interrupt generiert werden, um die Kerne 201 aufzuwecken.
  • 5 zeigt ein beispielhaftes Ablaufdiagramm, das einen Prozess veranschaulicht, der von einer PUNIT gemäß einigen Ausführungsformen ausgeführt werden kann. Der Prozess kann der PUNIT 247 entsprechen, die den Energieverbrauch der Kerne 241 verwaltet. Die Kerne 241 können sich bereits in einem Niedrigenergieverbrauchszustand (z. B. MC4-Zustand) befinden. Bei Block 505 kann die PUNIT die Peripheriegeräte benachrichtigen, um die Ausrichtung zu starten, was die Verzögerung ihrer Operationen einschließen kann. Beispielsweise kann die Verzögerung in Form eines Pufferns anstatt des Verarbeitens der Daten, die vom Netzwerk durch den GbE-Controller oder von einem Festplattenlaufwerk durch den SATA-Controller empfangen wurden, erfolgen. Die Verzögerung kann das Ausrichten der Interrupts einschließen, anstatt jeden Interrupt zu verarbeiten, während er auftritt. Die PUNIT kann einen Ausrichtungszeitgeber starten und IOSF-Seitenbandnachrichten an den GbE- und den SATA-Controller senden, um die Ausrichtung wie gezeigt in Block 510 zu starten. Der GbE- und der SATA-Controller können den DMA sammeln und Interrupts nach dem Empfangen der Nachricht IOSF-Ausrichtung starten ausrichten.
  • Bei Block 515 kann eine Prüfung ausgeführt werden, um zu bestimmen, ob der Zeitgeber abgelaufen ist. Wenn der Zeitgeber nicht abgelaufen ist, kann der Prozess bei Block 515 weiterhin warten. Wenn jedoch der Zeitgeber abgelaufen ist, kann der Prozess zu Block 520 fortschreiten, wo die PUNIT lOSF-Seitenbandnachrichten zum GbE- und SATA-Controller senden kann, um die Ausrichtung der Interrupts und/oder die Pufferung der Daten zu stoppen. Bei Block 525 können der GBE- und der SATA-Controller nach dem Empfangen der Stoppnachricht in die normale Betriebsart eintreten. Bei niedriger Verwendung, wann immer alle Kerne in den MC4-Zustand eintreten, selbst für eine kurze Dauer (z. B. 1 Mikrosekunde), können die hier beschriebenen Techniken den Sockel zwingen, in den niedrigen Energiezustand (z. B. MC6-Zustand) einzutreten und dort für eine lange Zeit zu verbleiben. Dies kann die durchschnittlichen Plattform-Energieeinsparungen bei niedriger Verwendung verbessern.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination beider implementiert werden. Beispiele von Hardwareelementen können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktionsspulen und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikeinheiten (PLD), digitale Signalprozessoren (DSP), Field Programmable Gate Array (FPGA), Logikgatter, Register, ein Halbleitergerät, Chips, Mikrochips, Chipsätze und so weiter einschließen. Beispiele von Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Hilfsprogramme, Unterprogramme, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Programmierschnittstellen (API), Befehlssätze, EDV-Code, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination davon einschließen. Die Bestimmung, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann in Übereinstimmung mit einer beliebigen Anzahl an Faktoren variieren, wie beispielsweise gewünschte Rechengeschwindigkeit, Energieniveaus, Wärmetoleranzen, Budget der Verarbeitungszyklen, Eingabedatengeschwindigkeiten, Ausgabedatengeschwindigkeiten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Beschränkungen bezüglich Design oder Leistung.
  • Ein oder mehrere Aspekte mindestens einer Ausführungsform können durch repräsentative Befehle implementiert werden, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logiken innerhalb des Prozessors repräsentiert, die beim Lesen durch eine Maschine die Maschine veranlassen, Logik zum Ausführen der hierin beschriebenen Techniken zu erzeugen. Solche Repräsentationen, auch als „IP-Kerne“ bekannt, können auf einem konkreten maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Fertigungsanlagen geliefert werden, wo sie in Fertigungsmaschinen geladen werden, welche die Logik oder den Prozessor herstellen.
  • Größen/Modelle/Werte/Bereiche sind als Beispiele angegeben, obgleich Ausführungsformen der vorliegenden Erfindung nicht auf diese beschränkt sind. Mit der Ausreifung von Fertigungstechniken (z. B. Fotolithografie) im Laufe der Zeit ist zu erwarten, dass immer kleinere Geräte hergestellt werden können. Außerdem ist es möglich, dass wohlbekannte Strom-/Masseverbindungen mit den IC-Chips und anderen Komponenten in den Figuren gezeigt oder nicht gezeigt werden, was aus Gründen der Vereinfachung der Veranschaulichung und Erörterung geschieht, und um bestimmte Aspekte der erfindungsgemäßen Ausführungsformen nicht in den Hintergrund rücken zu lassen. Des Weiteren können Anordnungen im Blockdiagrammformat gezeigt sein, um Ausführungsformen der Erfindung nicht in den Hintergrund rücken zu lassen, und auch um aufzuzeigen, dass bestimmte Details in Bezug auf die Implementierung solcher Blockdiagrammanordnungen in hohem Maß von der Plattform abhängen, in die die Erfindung implementiert werden soll, d. h., dass der Fachmann mit solchen spezifischen Details vertraut sein sollte. Wo spezifische Details (z. B. Schaltungen) angeführt werden, um beispielhafte Ausführungsformen der Erfindung zu beschreiben, sollte der Fachmann erkennen, dass erfindungsgemäße Ausführungsformen mit oder ohne Variationen dieser spezifischen Details realisiert werden können. Die Beschreibung soll somit als veranschaulichend anstatt einschränkend angesehen werden.
  • Der Begriff „gekoppelt“ kann hierin verwendet sein, um auf jede Art von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten zu verweisen, und kann sich auf elektrische, mechanische, fluidtechnische, optische, elektromagnetische, elektromechanische oder andere Verbindungen beziehen. Außerdem können die Begriffe „erste/r/s“, „zweite/r/s“, etc. hierin nur verwendet sein, um die Erörterung zu vereinfachen, und tragen keine besondere temporäre oder chronologische Bedeutung, außer anderweitig angegeben.

Claims (25)

  1. Vorrichtung (200), umfassend: Logik, um eine erste Benachrichtigung zu einem oder mehreren Peripheriegeräten unter Verwendung von Seitenbandnachrichten zu senden, um das eine oder die mehreren Peripheriegeräte zu veranlassen, Operationen zu verzögern, wobei die erste Benachrichtigung basierend auf den Kernen (230, 232) eines Mikroservers, die in einen ersten Energieverbrauchszustand versetzt sind, gesendet wird; Logik, um die Kerne in einen zweiten Energieverbrauchszustand zu versetzen, der weniger Energie verbraucht als der erste Energieverbrauchszustand; Logik, um einen Zeitgeber für einen Zeitraum zu starten, wobei die Kerne konfiguriert sind, für den Zeitraum im zweiten Energieverbrauchszustand zu verbleiben; und Logik, um eine zweite Benachrichtigung an das eine oder die mehreren der Peripheriegeräte unter Verwendung von Seitenbandnachrichten zu senden, dass die Kerne des Mikroservers nach dem Ablauf des Zeitraums in einen dritten Energieverbrauchszustand versetzt werden, wobei der dritte Energieverbrauchszustand mehr Energie verbraucht als die ersten und zweiten E nergieverbrauchszustände.
  2. Vorrichtung (200) nach Anspruch 1, wobei wenigstens eines des einen oder der mehreren Peripheriegeräte konfiguriert ist, Interrupts auszurichten oder Daten während des Zeitraums zu puffern.
  3. Vorrichtung (200) nach Anspruch 2, wobei das eine oder die mehreren Peripheriegeräte konfiguriert sind, das Puffern der Daten oder das Ausrichten der Interrupts nach dem Empfangen der zweiten Benachrichtigung zu stoppen.
  4. Vorrichtung (200) nach Anspruch 1, weiter umfassend: Logik, um das Herausnehmen der Kerne aus dem zweiten Energieverbrauchszustand nach dem Empfangen eines Hinweises, dass das eine oder die mehreren Peripheriegeräte unfähig sind, das Puffern der Daten oder das Ausrichten der Interrupts ohne Datenverlust fortzusetzen, zu ermöglichen.
  5. Vorrichtung (200) nach Anspruch 1, wobei die ersten und zweiten Benachrichtigungen zu einem Gigabit-Ethernet- (GbE) -Controller gesendet werden.
  6. Vorrichtung (200) nach Anspruch 1, wobei die ersten und zweiten Benachrichtigungen zu einem Serial Advanced Technology Attachment- (SATA) - Controller (270) gesendet werden.
  7. Vorrichtung (200) nach Anspruch 1, wobei der Zeitraum programmierbar ist, und wobei der zweite Energieverbrauchszustand ein Schlafzustand ist und die Kerne mit einem Sockel verbunden sind.
  8. Vorrichtung (200) nach einem der Ansprüche 1 bis 7, wobei der Sockel die Kerne und andere Komponenten des Sockels einschließt, und wobei der Energieverbrauch von einem oder mehreren der anderen Sockel-Komponenten basierend auf den Kernen, die in den zweiten Energieverbrauchszustand versetzt sind, reduziert ist.
  9. Computerimplementiertes Verfahren (500), umfassend: das Verwenden von Seitenbandkommunikation, was ein oder mehrere Peripheriegeräte eines Servers, die mehrere Kerne aufweisen, veranlasst, basierend auf dem Bestimmen, dass die Kerne in einen ersten Energieverbrauchszustand versetzt sind, Operationen zu verzögern; das Versetzen der Kerne in einen zweiten Energieverbrauchszustand für einen Zeitraum, wobei der zweite Energieverbrauchszustand, weniger Energie verbraucht als der erste Energieverbrauchszustand; das Verwenden der Seitenbandkommunikation, was das eine oder die mehreren Peripheriegeräte veranlasst, Operationen basierend auf einem Ablauf des Zeitraums wieder aufzunehmen; und das Versetzen der Kerne in einen dritten Energieverbrauchszustand basierend auf dem Ablauf des Zeitraums, wobei der dritte Energieverbrauchszustand mehr Energie verbraucht als der erste Energieverbrauchszustand und der zweite Energieverbrauchszustand.
  10. Verfahren (500) nach Anspruch 9, weiter umfassend: das Versetzen der Kerne in den dritten Energieverbrauchszustand basierend auf dem Empfangen eines Hinweises, dass das eine oder die mehreren Peripheriegeräte unfähig sind, ihre Operationen vor dem Ablauf des Zeitraums weiterhin zu verzögern.
  11. Verfahren (500) nach irgendeinem der Ansprüche 9 oder 10, wobei die Kerne mit einem ersten Sockel eines Mikroservermoduls verbunden sind, das den ersten Sockel und einen zweiten Sockel aufweist.
  12. Verfahren nach Anspruch 11, wobei der Energieverbrauch der Kerne, die mit dem zweiten Sockel verbunden sind, unabhängig vom Energieverbrauch der Kerne, die mit dem ersten Sockel verbunden sind, konfiguriert ist.
  13. Verfahren (500)nach Anspruch 10, wobei die Seitenbandkommunikationen mit einem Gigabit-Ethernet-Controller durchgeführt werden.
  14. Verfahren (500) nach Anspruch 13, wobei der Gigabit-Ethernet-Controller Operationen durch das Ausrichten von Interrupts verzögert.
  15. Verfahren (500) nach Anspruch 10, wobei die Seitenbandkommunikationen mit einem Serial Advanced Technology Attachment-(SATA) -Controller durchgeführt werden.
  16. Verfahren (500) nach Anspruch 15, wobei der SATA-Controller Operationen durch das Puffern von Daten verzögert.
  17. System (100)umfassend: mehrere Kerne; ein mit den Kernen gekoppeltes Power-Management-Modul; und ein oder mehrere mit dem Power-Management-Modul gekoppelte Peripheriegeräte, wobei das Power-Management-Modul konfiguriert ist: das eine oder die mehreren Peripheriegeräte zu veranlassen, Operationen basierend auf dem Bestimmen, dass die Kerne sich in einem ersten Energieverbrauchszustand befinden, zu verzögern; die Kerne in einen zweiten Energieverbrauchszustand für einen Zeitraum zu versetzen, wobei der zweite Energieverbrauchszustand weniger Energie verbraucht als der erste Energieverbrauchszustand; das eine oder die mehreren Peripheriegeräte zu veranlassen, ihre Operationen basierend auf dem Ablauf des Zeitraums fortzusetzen; und die Kerne basierend auf dem Ablauf des Zeitraums in einen dritten Energieverbrauchszustand zu versetzen, wobei der dritte Energieverbrauchszustand mehr Energie verbraucht als der erste Energieverbrauchszustand und der zweite Energieverbrauchszustand.
  18. System (100) nach Anspruch 17, wobei das Power-Management-Modul konfiguriert ist, mit dem einen oder den mehreren Peripheriegeräten unter Verwendung von Seitenbandkommunikationen zu kommunizieren.
  19. System (100) nach Anspruch 18, wobei das Power-Management-Modul konfiguriert ist, die Kerne basierend auf dem Empfangen eines Hinweises, dass das eine oder die mehreren Peripheriegeräte unfähig sind, ihre Operationen weiterhin zu verzögern, in den dritten Energieverbrauchszustand zu versetzen.
  20. System (100) nach irgendeinem der Ansprüche 17 bis 19, wobei das eine oder die mehreren Peripheriegeräte einen Gigabit-Ethernet-Controller einschließen, und wobei der Gigabit-Ethernet-Controller Operationen durch das Ausrichten von Interrupts verzögert.
  21. System (100) nach einem der Ansprüche 17 bis 19, wobei das eine oder die mehreren Peripheriegeräte einen Serial Advanced Technology Attachment-(SATA) -Controller einschließen, und wobei der SATA-Controller Operationen durch Puffern von Daten verzögert.
  22. System (100) nach irgendeinem der Ansprüche 17 bis 19, wobei die Kerne mit einem ersten Sockel eines Mikroservermoduls verbunden sind, das den ersten Sockel und einen zweiten Sockel aufweist.
  23. System (100) nach Anspruch 22, wobei der Energieverbrauch der Kerne, die mit dem zweiten Sockel verbunden sind, unabhängig vom Energieverbrauch der Kerne, die mit dem ersten Sockel verbunden sind, konfiguriert ist.
  24. System (100) nach Anspruch 22, wobei der erste Sockel die Kerne und anderen Komponenten des Sockels einschließt, und wobei der Energieverbrauch von einem oder mehreren von den anderen Sockel-Komponenten des ersten Sockels basierend auf den Kernen, die in den zweiten Energieverbrauchszustand versetzt sind, reduziert ist.
  25. System (100) nach irgendeinem der Ansprüche 17 bis 19, wobei der Zeitraum programmierbar ist.
DE112012006164.0T 2012-03-31 2012-03-31 Steuern von Power-Management in Mikroservern Active DE112012006164B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/031760 WO2013147914A1 (en) 2012-03-31 2012-03-31 Controlling power management in micro-servers

Publications (2)

Publication Number Publication Date
DE112012006164T5 DE112012006164T5 (de) 2015-01-15
DE112012006164B4 true DE112012006164B4 (de) 2020-03-19

Family

ID=49260967

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006164.0T Active DE112012006164B4 (de) 2012-03-31 2012-03-31 Steuern von Power-Management in Mikroservern

Country Status (6)

Country Link
US (2) US9454210B2 (de)
CN (1) CN104185826B (de)
BR (1) BR112014024206B1 (de)
DE (1) DE112012006164B4 (de)
TW (1) TWI608339B (de)
WO (1) WO2013147914A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10082858B2 (en) * 2014-06-23 2018-09-25 Mellanox Technologies, Ltd. Peripheral device assistance in reducing CPU power consumption
US10324513B2 (en) * 2014-08-31 2019-06-18 Mellanox Technologies, Ltd. Control of peripheral device data exchange based on CPU power state
CN104950775A (zh) * 2015-06-29 2015-09-30 小米科技有限责任公司 唤醒主mcu微控制单元的电路、方法及装置
US10904161B2 (en) * 2018-12-12 2021-01-26 Intel Corporation Using attribute vector for dynamic content-based attribute QoS for networking and interconnect fabrics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162982A1 (en) * 2006-12-29 2008-07-03 Yufu Li Methods and apparatus to change a configuration of a processor system
US20100287394A1 (en) * 2009-05-06 2010-11-11 Alexander Branover North-bridge to south-bridge protocol for placing processor in low power state

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822967B2 (en) * 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US20030070013A1 (en) 2000-10-27 2003-04-10 Daniel Hansson Method and apparatus for reducing power consumption in a digital processor
TW594466B (en) 2002-06-10 2004-06-21 Micro Star Int Co Ltd Power management method for microprocessor
TWI241801B (en) 2003-08-22 2005-10-11 Acer Labs Inc A low-power function mode switch device and method thereof
US7534169B2 (en) * 2005-07-08 2009-05-19 Cfph, Llc System and method for wireless gaming system with user profiles
US8286018B2 (en) * 2004-06-29 2012-10-09 Seagate Technology Llc Power management in data storage device determining utilization of a control circuit by its rate of command processing
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070055852A1 (en) * 2005-09-06 2007-03-08 Alcatel Processing operation management systems and methods
CN101356510B (zh) 2005-11-15 2013-04-03 太阳微系统有限公司 当处理器处于低功率状态时可为后台dma装置提供数据的小型高功效高速缓冲存储器
US7991992B2 (en) 2007-03-13 2011-08-02 Intel Corporation Power reduction for system on chip
US7831849B2 (en) * 2007-03-28 2010-11-09 Intel Corporation Platform communication protocol
US20090150696A1 (en) * 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management
US8112647B2 (en) * 2008-08-27 2012-02-07 Globalfoundries Inc. Protocol for power state determination and demotion
US7861024B2 (en) * 2008-09-30 2010-12-28 Intel Corporation Providing a set aside mechanism for posted interrupt transactions
US8156275B2 (en) * 2009-05-13 2012-04-10 Apple Inc. Power managed lock optimization
JP5091912B2 (ja) * 2009-05-21 2012-12-05 株式会社東芝 マルチコアプロセッサシステム
US8458499B2 (en) * 2009-08-07 2013-06-04 International Business Machines Corporation Method for reducing power state in a computer system out-of-band when a request for reducing the power state is not immediately serviceable in band according to a priority of the request
US8615671B2 (en) * 2009-10-09 2013-12-24 Intel Corporation Techniques for managing lower power states for data links
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8782456B2 (en) * 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8468383B2 (en) * 2010-12-08 2013-06-18 International Business Machines Corporation Reduced power failover system
US9372526B2 (en) * 2012-12-21 2016-06-21 Intel Corporation Managing a power state of a processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162982A1 (en) * 2006-12-29 2008-07-03 Yufu Li Methods and apparatus to change a configuration of a processor system
US20100287394A1 (en) * 2009-05-06 2010-11-11 Alexander Branover North-bridge to south-bridge protocol for placing processor in low power state

Also Published As

Publication number Publication date
TW201407338A (zh) 2014-02-16
BR112014024206A2 (pt) 2017-06-20
US20160306411A1 (en) 2016-10-20
WO2013147914A1 (en) 2013-10-03
CN104185826A (zh) 2014-12-03
DE112012006164T5 (de) 2015-01-15
TWI608339B (zh) 2017-12-11
US9454210B2 (en) 2016-09-27
US10198060B2 (en) 2019-02-05
CN104185826B (zh) 2018-05-15
BR112014024206B1 (pt) 2021-08-24
US20140237278A1 (en) 2014-08-21

Similar Documents

Publication Publication Date Title
DE102009043411B4 (de) Bereitstellen eines Zurückstellungsmechanismus für "gepostete" Interrupt-Transaktionen
DE102009030544B4 (de) Verfahren für ein koordiniertes Link-Power-Management auf einer Computerplattform, Computer und Rechensystem
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE112008000603B4 (de) Verfahren zum Steuern von Kernarbeitsakten unter Verwendung von Niedrigleistungsmodi
DE112011103194B4 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE112006003444B4 (de) Verfahren und Vorrichtung zum Erfassen von Prozessorzustands-Übergängen
DE112011105867B4 (de) Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE102009041723B4 (de) Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung
DE102009060267A1 (de) Leerlaufzeit-Bericht für ein Power-Management
DE112013006241T5 (de) Techniken für Plattform-Arbeitszyklus-Wechsel
DE102019112776A1 (de) Thermisches selbstlernen mit durch bestärkung lernendem agenten
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE102015102684A1 (de) Dynamische leistungssversorgungseinheit- schienenumschaltung
DE112012001526T5 (de) Zumindest partielles Erleichtern des Zugriffs auf mindestens eine Controller-Befehlsschnittstelle durch Schaltungen
DE112012006164B4 (de) Steuern von Power-Management in Mikroservern
DE102014117375A1 (de) Rechnerarchitektur zur bereitstellung von flexibilität bzw. skalierbarkeit
DE112013006184T5 (de) Verwalten eines Leistungszustandes eines Prozessors
DE102014003704A1 (de) Plattform-agnostisches Powermanagement
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE112006001290T5 (de) Dynamisches Busparken
DE112005003279T5 (de) Energieverwaltungs-Punkt-zu-Punkt Wechselstrom-gekoppeltes Peripheriegerät
DE102011102152A1 (de) Schema für verteilte Leistungsabgabe zur On-Die-Spannungsskalierung
DE112013003290T5 (de) Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz

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
R020 Patent grant now final