DE112007001215B4 - Vorhersage der Leistungsnutzung von Rechenplattformspeicher - Google Patents

Vorhersage der Leistungsnutzung von Rechenplattformspeicher Download PDF

Info

Publication number
DE112007001215B4
DE112007001215B4 DE112007001215T DE112007001215T DE112007001215B4 DE 112007001215 B4 DE112007001215 B4 DE 112007001215B4 DE 112007001215 T DE112007001215 T DE 112007001215T DE 112007001215 T DE112007001215 T DE 112007001215T DE 112007001215 B4 DE112007001215 B4 DE 112007001215B4
Authority
DE
Germany
Prior art keywords
memory
computing platform
parameter
power
usage
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.)
Expired - Fee Related
Application number
DE112007001215T
Other languages
English (en)
Other versions
DE112007001215T5 (de
Inventor
Rakesh Dodeja
Neelam Chandwani
Chetan Hiremath
Udayan Mukherjee
Anthony Ambrose
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 DE112007001215T5 publication Critical patent/DE112007001215T5/de
Application granted granted Critical
Publication of DE112007001215B4 publication Critical patent/DE112007001215B4/de
Expired - Fee Related 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
    • 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
    • G06F1/3225Monitoring of peripheral devices of memory devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

Ein Verfahren, umfassend: Implementieren wenigstens eines statistischen Vorhersagemodells zum Vorhersagen von Speicherleistungsnutzung und Reduzieren von Leistungsverbrauch für eine Rechenplattform, wobei das Implementieren umfasst: Bestimmen eines Konfigurationsparameters für die Rechenplattform, indem Betriebsmittel, die auf der Rechenplattform vorliegen, bestimmt werden; Identifizieren eines Betriebsparameters, der mit wenigstens einem der Betriebsmittel, die auf der Rechenplattform vorliegen, assoziiert ist; Überwachen des Betriebsparameters der Rechenplattform während einer Laufzeit der Rechenplattform, indem wenigstens eine Speichertabelle oder ein Speicherregister, das durch das Betriebsmittel der Rechenplattform während der Laufzeit der Rechenplattform aktualisiert wird, inspiziert wird; und Vorhersagen von Speicherleistungsnutzung für die Rechenplattform während der Laufzeit der Rechenplattform anhand des bestimmten Konfigurationsparameters und des überwachten Betriebsparameters; und Überführen eines gegenwärtigen Leistungszustands wenigstens eines Speichermoduls, das auf der Rechenplattform liegt, in einen aus einer Vielzahl von Leistungszuständen, wobei Überführen des gegenwärtigen Leistungszustands, wenigstens zum Teil auf einer statistischen Vorhersage der Speicherleistungsnutzung basiert, die aus dem Konfigurationsparameter und dem überwachten Betriebsparameter bestimmt wurde.

Description

  • HINTERGRUND
  • Stromverbrauch und Kühlungsbedingungen sind typische Herausforderungen, denen in einer Rechenplattformbetriebsumgebung begegnet wird. Diese Herausforderungen steigern sich in einem typischen Telekommunikationsnetzwerk oder Datencenter, wo eine Vielzahl von Rechenplattformen (bspw. in einem Rack, Schrank, etc.) eingesetzt werden. Es wird konstanter Druck auf Serviceprovider und Datencenteradministratoren ausgeübt, um die Gesamtkosten (total cost of ownership) für diese Anwendungen zu reduzieren und gleichwohl die Leistung zu steigern. Dies kann zu einer höheren Dichte von Bearbeitungselementen auf einer Rechenplattform und/oder auf Rackebene führen, um Leistung zu steigern. Das Minimieren von Leistungsverbrauch ist ein wichtiges Ziel für Serviceprovider und Datencenteradministratoren, um die Kosten von Energierechnungen und Gesamtkosten gering zu halten.
  • In US 2003/0204758 A1 ist das Messen einer eine Systemlast offenbart, um den Nutzungsgrad bestimmter Systemkomponenten zu bestimmen. Der Betrieb des Systems wird über den Prozessortakt angepasst.
  • Die der vorliegenden Erfindung zugrundeliegenden Aufgabe besteht darin, Strom zu sparen.
  • 1 ist eine Darstellung von Elementen einer beispielhaften Rechenplattform;
  • 2 zeigt ein Blockdiagramm einer beispielhaften Speicherleistungsnutzungs-(Memory Power Utilization(MPU))-Steuerungsarchitektur;
  • 3 ist eine Darstellung von Elementen des MPU-Managers, um ein beispielhaftes statistisches Vorhersagemodul zu implementieren;
  • 4 zeigt eine Tabelle, um beispielhafte Betriebsparameter darzustellen, die überwacht werden sollen;
  • 5 ist eine Darstellung von beispielhaften Speicherleistungszuständen; und
  • 6 ist ein Flussdiagramm eines Beispielverfahrens zum Vorhersagen von Speicherleistungsnutzung und Übergang eines Speichermoduls in einen anderen Leistungszustand anhand der Vorhersage.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie zum Hintergrund bemerkt, ist das Minimieren von Leistungsverbrauch ein wichtiges Ziel, um die Gesamtkosten gering zu halten. Während es einen besonderen Focus auf dem Reduzieren von Leistung gegeben hat, die durch Bearbeitungselemente (bspw. zentrale Recheneinheiten (CPUs)) verbraucht wird, werden gegenwärtige und künftige Speichertechnologien zu signifikanten Quellen des Leistungsverbrauchs. Dies stellt eine Herausforderung an den Entwurf einer Hochleistungsrechenplattform und das Geringhalten der Gesamtkosten dar.
  • In einem Beispiel werden ein oder mehrere statistische Vorhersagemodelle implementiert, um Speicherleistungsnutzung vorherzusagen und Leistungsverbrauch für eine Rechenplattform zu reduzieren. Diese Implementation schließt das Bestimmen eines Konfigurationsparameters für die Rechenplattform, Überwachen eines Betriebsparameters für die Rechenplattform und Vorhersagen von Speicherleistungsnutzung für die Rechenplattform ein. Die Vorhersage muss auf dem bestimmten Konfigurationsparameter und dem überwachten Betriebsparameter basieren. Ein oder mehrere Speichermodule, die sich auf der Rechenplattform befinden, werden in einen aus einer Vielzahl von Leistungszuständen überführt, die wenigstens teilweise auf der Speicherleistungsnutzung basieren, die mittels der Implementation des einen oder der mehreren statistischen Vorhersagemodelle vorhergesagt wird.
  • 1 ist eine Darstellung von Elementen einer Beispielrechenplattform 100. In einem Beispiel, dargestellt in 1, schließt die Rechenplattform 100 Speicherleistungsnutzungs(MPU)-Manager 110, Netzwerkschnittstelle 120, Bearbeitungselemente 130, Speichercontroller 140, Speicherleistungsebenen 150 und Speichermodule 160 ein. Obwohl nicht in 1 gezeigt, kann Rechenplattform 100 auch andere Hardware, Software, Firmware oder eine Kombination dieser Elemente einschließen und Teil einer Recheneinrichtung sein. Diese Recheneinrichtung kann ein einzelner Computer (single blade computer) in einem Gehäuse und/oder Rack, ein Server, ein Desktopcomputer, ein Laptopcomputer, ein Notebookcomputer, eine digitale Breitbandtelefonieeinrichtung, eine digitale Heimnetzwerkeinrichtung (bspw. Kabel/Satellit/Settop-Box, etc.), ein Personal Digital Assistant (PDA), ein System-on-Chip (SOC) und dergleichen sein.
  • In einem Beispiel bestimmt, wie weiter unten beschrieben, MPU-Manager 110 Konfigurationsparameter für Rechenplattform 100 und überwacht Betriebsparameter, um Speicherleistungsnutzung vorherzusagen. Elemente auf Rechenplattform 100 (bspw. MPU-Manager 110, Speichercontroller 140) können Speicherleistungsebenen 150 veranlassen, einen oder mehrere Speichermodule von einem Leistungszustand in einen anderen Leistungszustand zu überführen (s. 5).
  • In einem Beispiel ist MPU-Manager 110 an andere Elemente der Rechenplattform 100 über einen oder mehrere Kommunikationsverbindungen gekoppelt. Diese Kommunikationsverbindungen sind bspw. in 1 als Kommunikationsverbindungen 112, 114, 116 und 118 gezeigt. Wie weiter unten beschrieben, schließt MPU-Manager 110 bspw. eine passende Schnittstelle zu diesen anderen Elementen ein, um Konfigurationsparameter zu bestimmen, Betriebsparameter zu überwachen und Speichermodule zu veranlassen, in einen anderen Leistungszustand zu wechseln.
  • In einem Beispiel schließt Netzwerkschnittstelle 120 die Schnittstelle ein, über welche Rechenplattform 100 an ein Netzwerk mittels Netzwerkverbindung 101, bspw. ein verdrahtetes oder drahtloses lokales Netzwerk (LAN/WLAN), ein weiträumiges Netzwerk (Wide Area Network, WAN/WWAN), ein Großstadtnetzwerk (metropolitan area network, MAN), ein personengebundenes Netzwerk (personal area network, PAN) und ein zellulares oder ein drahtloses Breitband-Telefonie-Netzwerk gekoppelt ist. Netzwerkschnittstelle 120 schließt bspw. Hardware, Software oder Firmware ein, um Daten an dieses Netzwerk zu übertragen und zu empfangen. Dies kann eine oder mehrere Netzwerkschnittstellenkarten, Gewebeschnittstellenkarten (fabric interface cards) oder andere Elemente zum Empfangen und Übermitteln von Daten über Netzwerkverbindung 101 umfassen. In einem Beispiel kann Kommunikationsverbindung 122 von Elementen der Netzwerkschnittstelle 120 benutzt werden, um Speicherlese-/Schreib-Anforderungen an den Speicher-Controller 140 herzustellen. Diese Anforderungen können Daten an/von Speichermodulen 160 senden/anfordern. Obwohl nicht in 1 gezeigt, kann MPU-Manger 110 bspw. auch an Kommunikationsverbindung 101 koppeln und Netzwerkbandbreite direkt überwachen.
  • In einem Beispiel schließen Bearbeitungselemente 130 die Software, Hardware und/oder Firmware ein, um ein oder mehrere Bearbeitungsvorgänge auf Rechenplattform 100 zu unterstützen. Dies kann Software, wie etwa Betriebssysteme und/oder Anwendungen, Hardware, wie Mikroprozessoren, Netzwerkprozessoren, Serviceprozessoren, Mikrocontroller, Field-programmable Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltkreise (ASICs) und Firmware einschließen, um ausführbaren Code zum Initiieren grundlegender Eingabe-/Ausgabe-Systeme (BIOS) und/oder Elemente der Rechenplattform 100 für Virtualisierungsvorgänge zu initiieren. In einem Beispiel kann Kommunikationsverbindung 132 von Bearbeitungselementen 130 benutzt werden, um Speicherlese-/Schreib-Anforderungen an Speicher-Controller 140 zu richten.
  • In einem Beispiel handhabt/erfüllt Speicher-Controller 140 Anforderungen zum Speichern (Schreiben) und Anfordern (Lesen) von Daten in ein oder mehrere Speichermodule der Speichermodule 160. Beispielsweise können diese Anforderungen über Kommunikationsverbindungen 122 oder 132 empfangen werden. In einer Implementation kann Speicher-Controller 140 Speicherleistungsebenen 150 benutzen, um diese ein oder mehreren Speichermodule in verschiedene Leistungszustände anhand der vorhergesagten Speicherleistungsnutzung zu überführen, die bspw. von MPU-Manager 110 bestimmt wird.
  • In einem Beispiel kann Speicher-Controller 140 in Bearbeitungselement 130 integriert sein. Bspw. kann Speicher-Controller 140 als integrierter Speichercontroller für einen Mikroprozessor dienen. In diesem Beispiel kann MPU-Manager 110 mit Speicher-Controller 140 durch eine Schnittstelle, die an Bearbeitungselemente 130 (bspw. über Kommunikationsverbindung 112) gekoppelt ist, oder durch eine Schnittstelle, die direkt an einen integrierten Speichercontroller 140 (bspw. über Kommunikationslink 132) gekoppelt ist, kommunizieren.
  • In einer Implementation stellen Speicherleistungsebenen 150 Leistung für Speichermodule 160 über Leistungsversorgungen 152 zur Verfügung. Leistungsversorgungen 152 werden, wie bspw. in 1 gezeigt, an jedes Speichermodul der Speichermodule 160 geroutet. Leistungsversorgungen 152 können Leistung in verschiedenen Spannungs(v)-Ebenen liefern, bspw. 0,9v, 1,5v, 1,8v, 3,3v, 5v, etc.. Diese Spannungsebenen werden bspw. reguliert, um Leistung innerhalb eines Bereiches von Spannungen zur Verfügung zu stellen.
  • In einem Beispiel weisen Speichermodule 160 eine Vielzahl von Speichermodulen auf. Diese Speichermodule sind in 1 als 160-1 bis 160-n + 1 gezeigt, wobei n eine beliebige positive natürliche Zahl darstellt. In einer Implementation koppeln Paare dieser Speichermodule mittels wenigstens eines Speicherkanals (bspw. einschließlich Datenübermittlungs- und Daten-Empfangs-Kommunikationslinks) an Speichercontroller 140. Ein Beispiel dieser Kopplung ist in 1 gezeigt und umfasst Speicherkanäle 162, 164 und 166. Diese Offenbarung soll sich nicht auf lediglich ein Paar von Modulen je Kanal beschränken, sondern kann jede Anzahl von Speichermodulen je Kanal aufweisen und kann außerdem jede Anzahl von Speicherkanälen aufweisen. An oder von jedem Paar von Speichermodulen zu schreibende oder lesende Daten werden durch diese Speicherkanäle bspw. über serielle Punkt-zu-Punkt-Kommunikationsverbindungen geroutet. Wie weiter unten beschrieben, können diese Speichermodule aus verschiedenen Typen von Speicher bestehen, die anhand von vorhergesagter Speicherleistungsnutzung für Rechenplattform 100 in verschiedene Leistungszustände oder -ebenen gebracht werden können.
  • 2 zeigt ein Blockdiagramm einer beispielhaften MPU-Manager-110-Architektur. In 2 weist die Beispielarchitektur des MPU-Managers 110 Leistungsoptimierlogik 210, Steuerlogik 220, Speicher 230, Eingabe-/Ausgabe-(I/O)-Schnittstellen 240 und optional eine oder mehrere Anwendungen 250 auf.
  • In einem Beispiel sind die in dem Blockdiagramm von 2 gezeigten Elemente diejenigen Elemente, die den MPU-Manager 110, wie in dieser Offenbarung beschrieben, unterstützen oder in Betrieb setzen, auch wenn ein bestimmter MPU-Manager einige, alle oder mehr Elemente als die in 2 gezeigten aufweisen kann. Bspw. können Leistungsoptimierlogik 210 und Steuerlogik 220 jeweils oder gemeinsam eine breite Auswahl von Logikeinrichtungen oder ausführbarem Inhalt darstellen, um die Merkmale (features) des MPU-Managers 110 zu implementieren. Diese Logikeinrichtungen können einen Mikroprozessor, Netzwerkprozessor, Serviceprozessor, Mikrocontroller, FPGA, ASIC, alleinstehenden (sequestered) Thread oder Kern eines Multikern/Multi-threaded Mikroprozessors, einen speziellen Betriebsmodus eines Prozessors (bspw. Systemverwaltungsmodus) oder einer Kombination daraus aufweisen.
  • In 2 weist Leistungsoptimierlogik 210 Konfigurationseinrichtung 212, Überwachungseinrichtung 214, Vorhersageeinrichtung 216 und Überleitungseinrichtung 218 auf. In einer Implementation benutzt die Leistungsoptimierlogik 210 diese Einrichtungen, um verschiedene Vorgänge auszuführen. Diese Vorgänge umfassen bspw. das Bestimmen eines Konfigurationsparameters, Überwachen eines Betriebsparameters und Vorhersagen von Speicherleistungsnutzung für Rechenplattform 100 anhand des bestimmten Konfigurationsparameters und des überwachten Betriebsparameters. Diese Vorgänge können auch einschließen, ein oder mehrere Speichermodule wenigstens teilweise anhand der vorhergesagten Speicherleistungsnutzung für Rechenplattform 100 zu veranlassen, in andere Leistungszustände überzugehen.
  • Steuerlogik 220 kann den Gesamtbetrieb von MPU-Manager 110 kontrollieren und, wie oben erwähnt, jede aus einer großen Auswahl von Logikeinrichtungen oder auch ausführbaren Inhalt darstellen, um die Kontrolle von MPU-Manager 110 zu implementieren. In anderen Beispielen sind die Merkmale und Funktionalität von Kontrolllogik 220 innerhalb Leistungsoptimierlogik 210 implementiert.
  • Gemäß einem Beispiel speichert Speicher 230 ausführbaren Inhalt. Der ausführbare Inhalt kann von Steuerlogik 220 und oder Leistungsoptimierlogik 210 benutzt werden, um Einrichtungen oder Elemente von MPU-Manager 110 zu implementieren oder aktivieren. Speicher 230 kann außerdem Konfigurations- und Betriebsparameter vorübergehend unterhalten, die von Einrichtungen der Leistungsoptimierlogik 220 aufgenommen wurden, um Speicherleistungsnutzung für Rechenplattform 100 vorherzusagen.
  • I/O-Schnittstellen 240 können eine Schnittstelle über ein Kommunikationsmedium oder eine Verbindung zwischen MPU-Manager 110 und Elementen, die auf Rechenplattform 100 liegen, zur Verfügung stellen. Wie oben zu 1 angemerkt, kann MPU-Manager 110 an diese Elemente über Kommunikationsverbindungen 112, 114, 116 und 118 koppeln. I/O-Schnittstellen 240 weisen bspw. Schnittstellen auf, die gemäß verschiedener Kommunikationsprotokolle arbeiten, um über diese Kommunikationsverbindungen zu kommunizieren. Beispielsweise arbeiten I/O-Schnittstellen 240 gemäß einem Kommunikationsprotokoll, das in einer Spezifikation wie etwa der Systemverwaltungsbus(SM-Bus)-Spezifikation, Fassung 2.0, veröffentlicht im August 2000, und/oder späteren Fassungen beschrieben ist. Wie weiter unten ausführlicher beschrieben, können Elemente der Rechenplattform 100 Informationen in Speicherregistern oder Speichertabellen zur Verfügung stellen, auf die in dieser Offenbarung als „Haken” (Hooks) Bezug genommen wird. Einrichtungen von Leistungsoptimierlogik 210 können I/O-Schnittstelle 240 benutzen, um auf diese Hooks über Kommunikationslinks 112, 114, 116 und 118 zuzugreifen.
  • I/O-Schnittstellen 240 können auch eine Schnittstelle zu Elementen zur Verfügung stellen, die sich von der Rechenplattform 100 entfernt befinden. Als Ergebnis können I/O-Schnittstellen 240 Leistungsoptimierlogik 210 oder Kontrolllogik 220 in Betrieb setzen, um eine Reihe von Befehlen von diesen Elementen zu erhalten. Die Reihe von Befehlen kann Leistungsoptimierlogik 210 und/oder Kontrolllogik 220 in Betrieb setzen, um ein oder mehrere Einrichtungen des MPU-Managers 110 zu implementieren.
  • In einem Beispiel weist MPU-Manager 110 eine oder mehrere Anwendungen 250 auf, um interne Befehle für Kontrolllogik 220 und/oder Leistungsoptimierlogik 210 zur Verfügung zu stellen.
  • 3 zeigt eine Darstellung von Elementen des MPU-Managers 110 zum Implementieren eines beispielhaften statistischen Vorhersagemoduls 300. In einem Beispiel sind die Elemente des MPU-Managers 110 Einrichtungen von Leistungsoptimierlogik 210. Wie in 3 gezeigt, schließen diese Einrichtungen Konfigurationseinrichtung 212, Überwachungseinrichtung 214 und Vorhersageeinrichtung 216 ein.
  • In einer Implementation sind Konfigurationseinrichtung 212, Überwachungseinrichtung 214 und Vorhersageeinrichtung 216 Teil eines statistischen Vorhersage- oder Heuristikmoduls, das von Leistungsoptimierlogik 210 aktiviert wird. In einem Beispiel nimmt Konfigurationseinrichtung 212 Konfigurationsparameter auf, die mit Elementen, die auf Rechenplattform 100 liegen, verbunden sind. Diese Konfigurationsparameter schließen bspw. die Ressourcen ein, die auf Rechenplattform 100 (bspw. Bearbeitungselemente, Netzwerkschnittstellen, Speicher, Software, Firmware etc.) und der Konfiguration solcher Ressourcen vorliegen. Beispielsweise werden Speichermodule 160 in verschiedenen Konfigurationen benutzt, die Speicherleistungsnutzung in verschiedener Weise beeinflussen kann. Diese Benutzungskonfigurationen werden bspw. von Speichercontroller 140 aufgenommen und schließen, ohne sich darauf zu beschränken, Speicher-Interleaving, Speicherspiegelung, Speichersparen und Rangordnungsallokation ein. Konfigurationsparameter können außerdem Informationen für Überwachungeinrichtung 214 aufweisen, um zu bestimmen, was für Betriebsparameter überwacht werden sollen, und wie diese erhalten werden.
  • In einem Beispiel erhält Konfigurationseinrichtung 212 Informationen, die Überwachungseinrichtung 214 benutzt, um Betriebsparameter zu erhalten, die sich in Hooks befinden, die mit Elementen auf Rechenplattform 100 verbunden oder durch diese unterhalten werden. In einem Beispiel werden diese Hooks in Speichertabellen oder Speicherregistern unterhalten und sind in 3 jeweils als Hooks 320, 330, 340 und 360 für Netzwerkschnittstelle 120, Bearbeitungselemente 130, Speichercontroller 140 und Speicherleistungsebenen 150 gezeigt.
  • Wie in 4 gezeigt, enthält Tabelle 400 Beispiele von Kategorien und Betriebsparametern, die mit Hooks 320, 330, 340 und 350 verbunden sind. In einem Beispiel wird wenigstens ein Teil des Inhalts von Tabelle 400 von Konfigurationseinrichtung 212 aufgenommen (bspw. während des Anlaufens von Rechenplattform 100) und der Überwachungseinrichtung 214 zugänglich gemacht (bspw. vorübergehend in Speicher 230 gespeichert). Überwachungseinrichtung 214 kann dann Betriebsparameter für Rechenplattform 100 überwachen, indem es auf Speicherregister oder Speichertabellen zugreift, die mit den Hooks (bspw. über Kommunikationsverbindungen 112, 114, 116 oder 118) verbunden sind. In einem Beispiel stellen Konfigurationseinrichtung 212 und Überwachungseinrichtung 214 Konfigurations- und Betriebsparameter für Vorhersageeinrichtung 216 zur Verfügung. Vorhersageeinrichtung 216 implementiert bspw. verschiedene statistische Vorhersagemodelle einschließlich der Benutzung von statistischen Parameter in Vorhersagealgorithmen, die auf den Konfigurations- und Betriebsparametern der Rechenplattform 100 basieren, um Speicherleistungsnutzung für Rechenplattform 100 vorherzusagen.
  • In einem Beispiel kann Überleitungseinrichtung 218 Vorhersagen der Speicherleistungsnutzung für Rechenplattform 100 von Vorhersagemerkmal 216 empfangen. Überleitungsmerkmal 218 kann bspw. Überleitung von einem oder mehreren Speichermodulen der Speichermodule 160 in andere Leistungszustände anhand der Vorhersagen, die von Vorhersageeinrichtung 216 empfangen wurden, auslösen oder veranlassen.
  • In einem Beispiel weist Hook 320, wie in 4 gezeigt, eine Netzwerkverkehrskategorie auf. Hook 320 weist bspw. Informationen auf, die mit der Menge und/oder Rate von Daten verbunden sind, die empfangen und durch Netzwerkschnittstelle 120 weitergeleitet werden. Dies kann auch Netzwerkverkehrsstatistiken (bspw. Benutzungsmuster, Durchsatz, Verstopfung, Typen von Datenverkehr etc.) für Daten (bspw. Paket-basierte) umfassen, die von einem Netzwerk empfangen und dorthin weitergeleitet werden, das durch Netzwerkschnittstelle 120 mit Rechenplattform 100 verbunden ist.
  • Hook 330 enthält bspw. verschiedene Kategorien von Informationen, die mit Bearbeitungselementnutzung, Leistung, Leistungszuständen und Speicherallokation verbunden sind. Bspw. kann das Bearbeitungselement einen Mikroprozessor aufweisen, und seine Nutzung kann auf Wartezeiten, Eingabe-/Ausgabezeiten, Systemzeiten, Benutzerzeiten oder Anzahl von Prozessen basieren, die auf dem Mikroprozessor laufen. Die Leistung des Mikroprozessors kann auf Cache-Fehlzugriffen, Speicherbelegungen und Speicheranforderungen basieren, und der Leistungszustand des Mikroprozessors kann ferner ein überwachter Betriebsparameter sein, der in Hook 330 unterhalten wird. In einem Beispiel weist der Leistungszustand des Mikroprozessors suspend, standby und Tiefschlaf (deep sleep) (bspw. wird der Mikroprozessor angehalten, und keine Befehle werden ausgeführt) auf.
  • Das Bearbeitungselement kann auch ein Betriebssystem und die Speicherverwaltung des Betriebssystems aufweisen. In einem Beispiel kann dies physikalische Seitenallokationen einschließen, die in Hook 330 unterhalten werden. Deallokationen können bspw. ein weiterer Betriebsparameter sein, der in Hook 330 unterhalten wird.
  • Hook 340 enthält bspw. Speicherzugriffsmusterinformation. Dies kann die Anzahl von Lese- und Schreibvorgängen einschließen, die Speichercontroller 140 bedient oder für Rechenplattform 100 während einer bestimmten Zeitperiode erfüllt. Dies kann auch die Anzahl von ausstehenden Befehlen und die Anzahl von Zugriffen (Scrubs), die Speichercontroller 140 in der bestimmten Zeitperiode ausführt, einschließen. Das Ausmaß des Spiegelns (bspw. redundante Speicherlese-/Schreib-Anforderungen), die Speichercontroller 140 handhabt/erfüllt, kann ebenfalls als ein Betriebsparameter, der in Hook 340 unterhalten wird, eingeschlossen sein.
  • Hook 350 enthält bspw. Speichermodulleistungszustandsinformationen. Dies kann die Leistungspegel umfassen, die den Speichermodulen 160 durch Speicherleistungsebenen 150 zur Verfügung gestellt werden.
  • Zusätzliche Hooks können auch durch verschiedene andere Elemente der Rechenplattform 100 unterhalten werden. Daher ist diese Offenbarung nicht lediglich auf die mit den Hooks 320, 330, 340 und 350 verbundenen Betriebsparameter beschränkt, wie oben beschrieben wurde.
  • In einem Beispiel benutzt Vorhersagemerkmal 216, wie oben erwähnt, statistische Parameter in einem oder mehreren Vorhersagealgorithmen. Diese statistischen Parameter können in einer Implementation gelernt oder bestimmt werden, startend oder beginnend mit dem Zeitpunkt, zu dem Rechenplattform 100 anfangs eingeschaltet wird. Gelernte oder bestimmte statistische Parameter können auch automatisch oder periodisch während der Laufzeit der Rechenplattform bestimmt werden. In einem Beispiel können die statistischen Parameter auch für eine bestimmte Zeitperiode (bspw. eine Trainingsperiode) gelernt werden oder für einen oder mehrere Typen von Ressourcen der Rechenplattform 100 und/oder Nutzungsparametern konfiguriert werden.
  • In einer Implementation erlauben es statistische Parameter dem Vorhersagemerkmal 216, die Notwendigkeit zur Überleitung bzw. Überführung der Speichermodule 160 in andere Leistungszustände zu antizipieren, um Speichernutzungsbedarf zu begegnen. Dieses Antizipieren kann bspw. mögliche Speicherlatenzen oder die Reduktion der Datendurchsätze für Rechenplattform 100 reduzieren, wenn ein oder mehrere Speichermodule 160 in diese verschiedenen Leistungszustände überführt werden. Leistungsbudgetbeschränkungen, die auf einem Leistungsbudgetprofil für Rechenplattform 100 basieren, können bspw. auch Speichernutzungsbedarf beeinflussen. Im Ergebnis kann Vorhersageeinrichtung 216 Überleitungsbedarf antizipieren, um ein bestimmtes Leistungsbudgetprofil für Rechenplattform 100 zu erfüllen. Diese statistischen Parameter, die von Vorhersageeinrichtung 216 benutzt werden, können, ohne sich auf diese zu beschränken, Speicheranforderungen, die an einen Speichercontroller gestellt werden, Bearbeitungselementnutzungen, Netzwerkbandbreite und Leistungsbudgetprofil einschließen.
  • In einem Beispiel kann die Netzwerkverkehrsinformation, die von Hook 320 erhalten wird, in einen statistischen Parameter münden, um Netzwerkbandbreite zu antizipieren. Speichernutzung ändert sich bspw. aufgrund von Netzwerkbandbreite, indem Rechenplattform 100 Speichermodule 160 benutzen kann, um wenigstens vorübergehend Information, die von einem Netzwerk empfangen oder an dieses gesendet werden soll, zu speichern. Daher kann ein statistischer Parameter, der zur Vorhersage von Speichernutzung benutzt wird, anhand von Netzwerkverkehrsinformationen, die von Hook 320 beim Anlaufen erhalten werden, periodisch oder über eine bestimmte Zeitspanne angepasst werden.
  • In einer Implementation werden Speicherzugriffsmuster für Rechenplattform 100 von Hook 340 während einer initialen Trainingsperiode oder während des Laufens von Anwendungen erhalten. Dies kann zu erlernten statistischen Parametern führen, die auf Spitzenverkehrszeiten oder Nicht-Spitzen- oder schwachen Speicherverkehrszeiten für Rechenplattformen 100 hinweisen. Diese starken oder schwachen Verkehrszeiten können auf Tageszeit, Tag im Jahr und Urlaub basieren, wobei verschiedene Verkehrsmodelle, die mit den Anwendungen verbunden sind, berücksichtigt werden. Die starken oder schwachen Verkehrszeiten können auch auf einem gleitenden Zeitfenster oder einer Standardwahrscheinlichkeitsverteilungsfunktion mit mittleren und Varianzparametern basieren. Das passende Muster für starken oder schwachen Verkehr wird während der Trainingsperiode bestimmt und kann auch in das statistische Modell über bestimmte Konfigurationsparameter importiert werden. Diese starken oder schwachen Zeiten können in einem Vorhersagealgorithmus (für einzelne oder mehrere Speichermodule 160), wie im folgenden in Tabelle 1 gezeigt, benutzt werden:
  • Tabelle 1
    Figure 00130001
  • Figure 00140001
  • In einer anderen Implementierung resultiert Netzwerkverkehrsinformation, die von Hook 320 erhalten wird, und Speicherzugriffsmuster, die von Hook 340 erhalten werden, darin, dass erlernte statistische Parameter, die auf ausgelastete oder schwache Verkehrszeiten hinweisen, gemeinsam mit erlernten statistischen Parametern, die aus Information, welche von Hook 330 erhalten wird, benutzt werden können. Diese statistischen Parameter, die aus von Hook 330 erhaltener Information resultieren, können auf Spitzen der Speichernutzung für Bearbeitungselemente 130 (beispielsweise CPU-Speichernutzung) hinweisen. In einem Beispiel weisen die Konfigurationsparameter der Rechenplattform 100 die Speicherkapazität der Speichermodule 160 auf, und diese Speicherkapazität kann mit Spitzen der Speichernutzung und starken oder schwachen Verkehrszeiten in einem beispielhaften Vorhersagealgorithmus, wie in Tabelle 2 unten gezeigt, verglichen werden. Die starken oder schwachen Verkehrszeiten können auf den oben beschriebenen Regeln basieren (beispielsweise Tageszeit, Tag im Jahr, Urlaub, Gleitzeitfenster, Wahrscheinlichkeitsverteilungsfunktion).
  • Tabelle 2
    Figure 00140002
  • Figure 00150001
  • In einer anderen Implementierung wird ein Leistungsbudgetprofil für Rechenplattform 100 gemeinsam mit der Leistung, die von Rechenplattform 100 verbraucht wird, benutzt, um einen Bedarf zum Beschränken von Leistung, die von Rechenplattform 100 verbraucht wird, zu bestimmen, indem die Speichermodule 160 in Geringleistungszustände überführt werden. In dieser Implementierung wird Information in Hooks 330 und 340 erhalten, um Betriebsparameter für Leistung, die von Rechenplattform 100 verbraucht wird, zu sammeln oder zu überwachen. Beispielsweise kann sich CPU-Nutzung, die von Hook 330 erhalten wird, und Speicherbandbreite, die von Hook 340 erhalten wird, auf Leistung beziehen, die von Rechenplattform 100 verbraucht wird. Das Leistungsbudgetprofil kann mit diesem Leistungsverbrauch in einem beispielhaften Vorhersagealgorithmus, wie in der folgenden Tabelle 3 gezeigt, verglichen werden.
  • Tabelle 3
    Figure 00150002
  • Figure 00160001
  • 5 zeigt eine Darstellung von beispielhaften Speicherleistungszuständen 500, aus denen Überleitungseinrichtung 218 ein oder mehrere Speichermodule der Speichermodule 160 überleiten kann. Wie in 5 gezeigt, weisen Speicherleistungszustände 500 Offline-Zustand 510, Online-Zustand 520, Standby-Zustand 530 und Suspend-Zustand 540 auf.
  • In einer Implementierung können Speichermodule der Speichermodule 160 duale Inline-Speichermodule (Dual Inline Memory Moduls (DIMMs)) sein. In dieser Implementierung umfasst ein DIMM einen Puffer (nicht gezeigt), um vorübergehend Daten zu schreiben, die in den DIMM geschrieben oder aus ihm gelesen werden. Der DIMM einschließlich des Puffers wird beispielsweise als ein vollständig gepufferter DIMM oder FB-DIMM (Full Buffered DIMM) bezeichnet. Ein FB-DIMM kann beispielsweise, wie beschrieben, nach einem vorgeschlagenen FB-DIMM-Standard der JEDEC Solid State Technical Association arbeiten. Gemäß dem vorgeschlagenen FB-DIMM-Standard wird der Pufferteil eines FB-DIMM als ein erweiterter Speicherpuffer (Advanced Memory Buffer (AMB)) bezeichnet.
  • In einem Beispiel koppelt ein FB-DIMM-AMB über einen Speicherkanal an Speicher-Controller 140. In einer Konfiguration koppeln bspw. 2 FB-DIMMs an Speicher-Controller 140 über einen einzelnen Speicherkanal. Beispielsweise koppeln AMBs für Speichermodule 160-1 und 160-2 über Speicherkanal 162, AMBs für Speichermodule 160-3 und 160-4 über Speicherkanal 164 und AMBs für Speichermodule 160-n und 160-n + 1 über Kommunikationskanal 166 (siehe 1). In dieser Konfiguration werden beispielsweise Daten, die in einen DIMM geschrieben oder von dort gelesen werden, zunächst an den AMB geroutet und dann an ihr Ziel (beispielsweise Speicher-Controller 140 oder ein DIMM) weitergeleitet.
  • Gemäß einem Beispiel für ein FB-DIMM stellt Offline-Zustand 510 einen Leistungszustand dar, in dem der AMB und der DIMM abgeschaltet sind. Online-Zustand 520 besteht beispielsweise, wenn der DIMM und der AMB unter voller Leistung stehen. Standby-Zustand 530 besteht beispielsweise, wenn der DIMM im Vergleich zu voller Leistung in einem Modus schwächerer Leistung (beispielsweise in einem abgeschalteten Modus) ist und die Schnittstelle auf dem AMB, der den DIMM an Speichermanager 140 koppelt, abgeschaltet ist (beispielsweise abgeschaltete Übermittlungs- und Empfangskommunikationsverbindungen, die für eine kurze, feste Zeitdauer oder für eine erweiterte, variable Zeitdauer abgeschaltet sind). Suspend-Zustand 540 kann einen Leistungszustand darstellen, in dem der AMB abgeschaltet ist und der DIMM in einem selbsterneuernden Modus ist.
  • In einer Implementation kann ein FB-DIMM, wie in 5 dargestellt, aus Offline-Zustand 510 in Online-Zustand 520 überführt werden. In einem Online-Zustand 520 kann der FB-DIMM beispielsweise entweder in Suspend-Zustand 540 oder Standby-Zustand 530 überführt werden. Der FB-DIMM kann aus Standby-Zustand 530 oder Suspend-Zustand 540 in Online-Zustand 520 übergehen. Außerdem kann der FB-DIMM in den Suspend-Zustand 540 übergehen, wenn er im Standby-Zustand 530 ist. Schließlich kann der FB-DIMM in Offline-Zustand 510 oder in Standby-Zustand 530 übergehen, falls er in Suspend-Zustand 540 ist. Diese Offenbarung beschränkt sich nicht lediglich auf diese Typen von Speicherleistungszustandsüberleitungen und ist auch nicht nur auf FB-DIMM-Speichertypen beschränkt. Andere Speichertypen können, ohne sich auf diese zu beschränken, Generationen von statischem dynamischem Random-Access-Speicher mit doppelter Datenrate (DDR) wie etwa DDR (erste Generation), DDR2 (zweite Generation) oder DDR3 (dritte Generation) umfassen. Andere Speichertypen können außerdem zukünftige Generationen von FB-DIMM oder andere Speichertechnologien umfassen.
  • 6 zeigt ein Flussdiagramm eines beispielhaften Verfahrens, um Speicherleistungsnutzung vorherzusagen und ein Speichermodul anhand der Vorhersage in einen anderen Leistungszustand zu überführen. In einem Beispiel wird Rechenplattform 100, wie in 1 gezeigt, benutzt, um dieses Verfahren zu beschreiben. In Block 610 wird Rechenplattform 100 beispielsweise eingeschaltet oder hochgefahren. Dieses Hochfahren kann einsetzen, wenn der Rechenplattform 100 anfangs Leistung zur Verfügung steht, oder kann Folge eines Resets der Rechenplattform 100 sein.
  • In Block 620 aktiviert Leistungsoptimierlogik 210 in MPU-Manager 110 in einem Beispiel nach Hochfahren der Rechenplattform 100 die Konfigurationseinrichtung 212. Konfigurationseinrichtung 212 erhält in einem Beispiel einen oder mehrere Konfigurationsparameter, die mit Elementen verbunden sind, welche auf Rechenplattform 100 liegen. Diese Konfigurationsparameter können die Ressourcen und die Konfiguration dieser Ressourcen für Rechenplattform 100 aufweisen. Konfigurationseinrichtung 212 setzt in einem Beispiel wenigstens einen Teil dieser Konfigurationsparameter in einer Tabelle zusammen und speichert diese Tabelle vorübergehend in einem Speicher (beispielsweise Speicher 230). Konfigurationseinrichtung 212 kann außerdem eine Tabelle ähnlich der Tabelle 400 zusammensetzen, um auf die Hooks hinzuweisen, über welche die Betriebsparameter überwacht werden können. Diese Tabelle ist beispielsweise wenigstens vorübergehend in einem Speicher gespeichert (beispielsweise Speicher 230).
  • In Block 630 aktiviert Leistungsoptimierlogik 210 in einem Beispiel Überwachungseinrichtung 214. Überwachungseinrichtung 214 erhält in einer Implementation die Tabellen, die vorübergehend durch Konfigurationseinrichtung 212 gespeichert sind, oder sie greift auf diese zu. Überwachungseinrichtung 214 benutzt beispielsweise die Hooks, die in der Tabelle, die der Tabelle 400 ähnlich ist, beschrieben sind, um das Überwachen der Betriebsparameter der Rechenplattform 100 zu ermöglichen. Beispielsweise benutzt Überwachungseinrichtung 214 die Hooks 320, 330, 340 und 360, um Betriebsparameter aufzunehmen, die jeweils mit Netzwerkschnittstelle 120, Bearbeitungselementen 130, Speicher-Kontroller 140 und Speichermodulen 160 verbunden sind.
  • In Block 640 aktiviert Leistungsoptimierlogik 210 in einem Beispiel Vorhersageeinrichtung 216. Vorhersageeinrichtung 216 sammelt in einem Beispiel Konfigurationsparameter und Betriebsparameter, die durch Konfigurationsmerkmal 212 und Überwachungsmerkmal 214 erhalten werden. Wie oben erwähnt, implementiert Vorhersageeinrichtung 216 verschiedene statistische Vorhersagemodelle um die Konfigurations- und Betriebsparameter der Rechenplattform 100 herum, um Speicherleistungsnutzung für Rechenplattform 100 vorherzusagen.
  • In einer Implementation erlaubt es die Implementation der Vorhersageeinrichtung 216 von verschiedenen statistischen Vorhersagemodellen, die die Konfigurations- und Betriebsparameter aufweisen, der Vorhersageeinrichtung 216, Änderungen in der Speichernutzung durch verschiedene Elemente der Rechenplattform 100 vorherzusagen. Beispielsweise ist Speicher in einem gegebenen Speichermodul des Speichermoduls 160 entweder stark oder überhaupt nicht durch einen oder mehrere Einheiten von Bearbeitungselementen 130 (beispielsweise Betriebssystemen und/oder Anwendungen) zugeordnet. Dies kann angezeigt sein, wenn Überwachungseinrichtung 214 periodisch Hook 330 von Bearbeitungselementen 130 erhält. Basierend auf wenigstens einem Teil der Information in Hook 330 und den Konfigurationsparametern der Rechenplattform 100 sowie erlernten oder trainierten statistischen Parametern kann Vorhersageeinrichtung 216 in der Lage sein, die Nutzung des gegebenen Speichermoduls vorherzusagen, und seine Leistung kann entsprechend geändert werden, um Speicherlatenzen zu reduzieren oder um einem bestimmten Leistungsbudgetprofil für Rechenplattform 100 zu begegnen.
  • Zusätzlich zu Benutzungsmustern kann Vorhersageeinrichtung 216 auch für verschiedene Konfigurationsparameter für Speichermodule 160, wie etwa Speicher-Interleaving, Speicher-Spiegeln, Speichersparen und Rangordnungsallokation herangezogen werden. Dieses Heranziehen kann es Vorhersageeinrichtung 216 erlauben, die Vorhersage zu bestimmen, die die Leistung der Elemente der Rechenplattform 100 (beispielsweise Bearbeitungselement 130) beeinträchtigen, wenn ein gegebenes Speichermodul oder Module in einen anderen Leistungszustand überführt werden.
  • In einer Implementation sind die Speichermodule 160-1 bis 160-n + 1 FB-DIMMs, wie oben zu 5 beschrieben. In einem Beispiel weisen Speichermodule 160-1 bis 160-n + 1 eine Konfiguration von 2 DIMMs je Kommunikationskanal pro Zweig auf, obwohl diese Offenbarung sich nicht auf diesen Typ von Speichermodulkonfiguration beschränkt. Falls beispielsweise das BIOS einer Verzweigungsfolgen- und Rang-Verschränkungs-4:1-Konfiguration einsetzt, partizipieren die Ränge in einem gegebenen Zweig in der Speicherregion des Zweiges, und sogar Zugriffe auf Speicheradressen niedrigerer Ordnung gehen an die DIMMs auf einem gegebenen Zweig. Daher kann Vorhersageeinrichtung 216 für diese Verschränkung (interleaving) verantwortlich sein und eine Gruppe von 4 DIMMs als eine einzelne Speicherressourcengruppe betrachten, die potentiell in den gleichen Leistungszustand (beispielsweise aus den Leistungszuständen 500) überführt werden kann. In ähnlicher Weise kann Vorhersageeinrichtung 216 für andere Typen von Speicher-Interleaving-Konfigurationen verantwortlich sein und auch für leistungs- und ausführungsfreundliche Speicherkonfigurationen für Endbenutzeranwendungen verantwortlich sein, die auf Rechenplattform 100 implementiert sind.
  • In Block 650 aktiviert Leistungsoptimierlogik 210 beispielsweise Überleitungseinrichtung 218. Überleitungseinrichtung 218 empfängt in einem Beispiel eine Vorhersage von Vorhersageeinrichtung 216, dass ein gegebenes Speichermodul oder Module der Speichermodule 160 nicht benutzt werden, basierend auf seiner Implementation von wenigstens einem statistischen Vorhersagemodell. Zum Beispiel ist das gegebene Speichermodul Speichermodul 160-1. Dann veranlasst beispielsweise Überleitungseinrichtung 218 Speichermodul 160-1, in einen anderen Leistungszustand überzugehen, um Leistung für Rechenplattform 100 zu sparen. Dieser andere Leistungszustand kann einer der Leistungszustände 500, die in 5 dargestellt sind, sein. Zum Beispiel kann Überleitungseinrichtung 218, falls Modul 160-1 in Online-Zustand 520 war, Speichermodul 160-1 veranlassen, in Offline-Zustand 510, Standby-Zustand 530 oder Suspend-Zustand 540 überzugehen.
  • In einem Beispiel können, nachdem Modul 160-1 in einen anderen Leistungszustand überführt wurde, aufeinander folgende Vorhersagen durch Vorhersageinrichtung 216 anhand von Konfiguration- und Betriebsparametern mögliche Reaktivierungs-/Latenzverluste absorbieren, die die Leistung von Rechenplattform 100 mindern könnten. Infolgedessen kann der Prozess zu Block 620 und/oder 630 zurückkehren, um die Benutzung von Speichermodul 160-1 vorherzusagen und dann zu veranlassen, dass Modul 160-1 anhand dieser vorhergesagten Benutzung oder dem Benutzungsmuster in einen anderen Leistungszustand überführt wird.
  • Es wird erneut Bezug auf MPU-Manager 110 in 1. genommen. MPU-Manager 110 ist beispielsweise als ein Element der Rechenplattform 100 gezeigt, das getrennt von Netzwerkschnittstelle 120, Bearbeitungselementen 130 und Speicher-Kontroller 140 ist. In diesem Beispiel kann MPU-Manager 110 von einem eigenen Verwaltungs-Mikrokontroller, wie etwa einem Service-Prozessor, Teil sein oder darin untergebracht sein.
  • In einem weiteren Beispiel liegt MPU-Manager 110 innerhalb einer Gruppe von Ressourcen der Rechenplattform 100, die einen Speicherkontroller 140 (beispielsweise einem Chipsatz) umfassen. MPU-Manager 110 kann in diesem anderen Beispiel Teil eines eigenen Verwaltungs-Mikrokontrollers innerhalb des Chipsatzes sein oder von Speicherkontroller 140 eingeschlossen oder darin untergebracht sein. MPU-Manager 110 nimmt beispielsweise Konfiguration- und Betriebsparameter durch die verschiedenen Kommunikationsverbindungen auf, die an Speicherkontroller 140 gekoppelt sind.
  • In noch einem weiteren Beispiel ist MPU-Manager 110 Teil einer virtuellen Partition von Rechenplattform 100. Dies kann ein Service-Betriebssystem sein, das auf einem eigenen getrennten Kern oder Teil eines Kerns läuft, der unter Benutzung von Virtualisierungstechnologie/Virtuellem Maschinenmonitor (VT/VMM) in den Bearbeitungselementen 130 arbeitet. MPU-Manager 110 kann beispielsweise verschiedene Kommunikationsverbindungen benutzen, die an Bearbeitungselemente 130 und/oder an die virtuelle Partition gekoppelt sind, wo MPU-Manager 110 existiert, oder wird ausgeführt, um Konfigurations- und Betriebsparameter aufzunehmen.
  • Es wird erneut Bezug auf Speicher 230 in 2. genommen. Speicher 230 kann eine breite Auswahl von Speichermedien umfassen, die, ohne sich darauf zu beschränken, flüchtigen Speicher, nichtflüchtigen Speicher, Flash, programmierbare Variablen oder Zustände, Random-Access-Memory (RAM), Read-Only-Speicher (ROM), Flash oder andere statische oder dynamische Speichermedien umfassen.
  • In einem Beispiel können maschinenlesbare Befehle dem Speicher 230 von einer Form eines maschinenzugänglichen Mediums zur Verfügung gestellt werden. Ein maschinenzugängliches Medium kann jeden Mechanismus darstellen, der Information oder Inhalt, der in einer durch eine Maschine lesbaren Form (beispielsweise eine ASIC, ein spezieller Funktionskontroller oder Prozessor, FPGA oder andere Hardwareeinrichtungen) zur Verfügung stellt, (d. h. speichert und/oder überträgt). Beispielsweise kann ein maschinenzugängliches Medium umfassen: ROM; RAM; magnetische Diskspeichermedien; optische Speichermedien; Flash-Speicher-Einrichtungen; elektrische, optische, akustische, oder andere Formen propagierter Signale (beispielsweise Trägerwellen, Infrarotsignale, digitale Signale); und dergleichen.
  • In den vorangehenden Beschreibungen wurden zum Zwecke der Erklärung eine Anzahl spezifischer Details angegeben, um ein Verständnis dieser Offenbarung zu liefern. Es ist offensichtlich, dass die Offenbarung auch ohne diese spezifischen Details praktiziert werden kann. In anderen Fällen wurden Strukturen und Einrichtungen in Blockdiagrammform gezeigt, um eine Unschärfe der Offenbarung zu vermeiden.
  • In dieser Offenbarung vorgenommene Bezugnahmen auf den Begriff „In Antwort auf” beschränken sich nicht auf Responsivität auf lediglich eine bestimmte Einrichtung und/oder eine Struktur. Eine Einrichtung kann auch „In Antwort auf” eine andere Einrichtung und/oder eine Struktur sein und sich ferner innerhalb dieser Einrichtung und/oder dieser Struktur befinden. Zusätzlich kann der Begriff „In Antwort auf” auch synonym mit anderen Begriffen wie etwa „in Kommunikationsverbindung mit” oder „operativ gekoppelt mit” sein, auch wenn der Begriff sich nicht auf diese Hinsicht beschränkt.

Claims (25)

  1. Ein Verfahren, umfassend: Implementieren wenigstens eines statistischen Vorhersagemodells zum Vorhersagen von Speicherleistungsnutzung und Reduzieren von Leistungsverbrauch für eine Rechenplattform, wobei das Implementieren umfasst: Bestimmen eines Konfigurationsparameters für die Rechenplattform, indem Betriebsmittel, die auf der Rechenplattform vorliegen, bestimmt werden; Identifizieren eines Betriebsparameters, der mit wenigstens einem der Betriebsmittel, die auf der Rechenplattform vorliegen, assoziiert ist; Überwachen des Betriebsparameters der Rechenplattform während einer Laufzeit der Rechenplattform, indem wenigstens eine Speichertabelle oder ein Speicherregister, das durch das Betriebsmittel der Rechenplattform während der Laufzeit der Rechenplattform aktualisiert wird, inspiziert wird; und Vorhersagen von Speicherleistungsnutzung für die Rechenplattform während der Laufzeit der Rechenplattform anhand des bestimmten Konfigurationsparameters und des überwachten Betriebsparameters; und Überführen eines gegenwärtigen Leistungszustands wenigstens eines Speichermoduls, das auf der Rechenplattform liegt, in einen aus einer Vielzahl von Leistungszuständen, wobei Überführen des gegenwärtigen Leistungszustands, wenigstens zum Teil auf einer statistischen Vorhersage der Speicherleistungsnutzung basiert, die aus dem Konfigurationsparameter und dem überwachten Betriebsparameter bestimmt wurde.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das wenigstens eine statistische Vorhersagemodell die Verwendung eines statistischen Parameters in einem Vorhersagealgorithmus aufweist, der während einer gegebenen Zeitspanne bestimmt wird, die beginnt, wenn die Rechenplattform erstmalig eingeschaltet wird.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das wenigstens eine statistische Vorhersagemodell die Verwendung eines statistischen Parameters in einem Vorhersagealgorithmus aufweist, der während einer gegebenen Zeitspanne bestimmt wird und während der Laufzeit der Rechenplattform periodisch eingestellt wird.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der statistische Parameter wenigstens einen statistischen Parameter aufweist, der aus der folgenden Gruppe ausgewählt ist: Speicheranfragen, die für das wenigstens eine Speichermodul an einen Speicherkontroller gestellt werden, Bearbeitungselementnutzung für ein Bearbeitungselement auf der Rechenplattform, Leistungszustand für ein Bearbeitungselement auf der Rechenplattform, Speicherkapazitätsnutzung für ein Bearbeitungselement auf der Rechenplattform und Netzwerkbandbreite auf wenigstens einer Kommunikationsverbindung zwischen der Rechenplattform und einem Netzwerk.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Leistungszustand des Bearbeitungselements einen aus der Gruppe von Suspend-Leistungszustand, Standby-Leistungszustand und Tiefschlafleistungszustand aufweist.
  6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Bestimmen des Konfigurationsparameters Erhalten des Konfigurationsparameters von einem Speicherkontroller für das wenigstens eine Speichermodul umfasst, wobei der Konfigurationsparameter wenigstens eine Benutzungskonfiguration für das wenigstens eine Speichermodul aufweist, die aus der folgenden Gruppe ausgewählt ist: Speicher-Interleaving, Speicherspiegelung, Speichersparen und Rangordnungsallokation.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Überwachen des Betriebsparameters das Überwachen des Betriebsparameters umfasst, indem Information aus wenigstens einem Speicherregister an einem von einem Bearbeitungselement dem Speicherkontroller, einer Netzwerkschnittstelle und dem wenigstens einem Speichermodul erhalten wird.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass das Erhalten von Informationen aus dem wenigstens einen Speicherregister an dem Bearbeitungselement die Information umfasst, die wenigstens eine aus der folgenden Gruppe aufweist: Bearbeitungselementnutzung, Bearbeitungselementleistung und Bearbeitungselementleistungszustand.
  9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Überführen des wenigstens einen Speichermoduls in einen aus der Vielzahl von Leistungszuständen es umfasst, dass die Leistungszustände einen Offline-Zustand, einen Online-Zustand, einen Standby-Zustand und einen Suspend-Zustand einschließen.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass das wenigstens eine Speichermodul ein voll gepuffertes duales Inline-Speichermodul (fully buffered dual inline memory module, FB-DIMM) ist.
  11. Vorrichtung, umfassend: einen Speicherleistungsnutzungsmanager, der Logik zum Implementieren von wenigstens einem statistischen Vorhersagemodell aufweist, um Speicherleistungsnutzung für eine Rechenplattform vorherzusagen, wobei das Implementieren Logik einschließt, um: einen Konfigurationsparameter für die Rechenplattform zu bestimmen, indem Betriebsmittel, die auf der Rechenplattform vorliegen, bestimmt werden; einen Betriebsparameter zu identifizieren, der mit wenigstens einem der Betriebsmittel, die auf der Rechenplattform vorliegen assoziiert ist; den Betriebsparameter der Rechenplattform während der Laufzeit der Rechenplattform zu überwachen, indem wenigstens eine Speichertabelle oder ein Speicherregister, das durch ein Betriebsmittel der Rechenplattform während der Laufzeit der Rechenplattform aktualisiert wird, inspiziert wird; und Speicherleistungsnutzung für die Rechenplattform während der Laufzeit der Rechenplattform anhand des bestimmten Konfigurationsparameters und des überwachten Betriebsparameters vorherzusagen, wobei der Speicherleistungsnutzungsmanager die vorhergesagte Speicherleistungsnutzung einem Speicherkontroller anzeigt, der auf der Rechenplattform liegt, damit der Speicherkontroller einen gegenwärtigen Leistungszustand wenigstens eines Speichermoduls, das auf der Rechenplattform liegt, in einen aus einer Vielzahl von Leistungszuständen anhand von wenigstens einem Teil der angezeigten Vorhersage von Speicherleistungsnutzung für die Rechenplattform, die aus dem Konfigurationsparameter und dem überwachten Betriebsparameter bestimmt wurden, überführt.
  12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass das Bestimmen des Konfigurationsparameters die Logik umfasst, um den Konfigurationsparameter von dem Speicherkontroller zu erhalten, wobei der Konfigurationsparameter wenigstens eine Benutzungskonfiguration für das wenigstens eine Speichermodul aufweist, die aus der folgenden Gruppe ausgewählt ist: Speicher-Interleaving; Speicherspiegelung, Speichersparen und Rangordnungsallokation.
  13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass das Überwachen des Betriebsparameters die Logik umfasst, den Betriebsparameter zu überwachen, indem Information von wenigstens einem Speicherregister an einem von einem Bearbeitungselement, dem Speicherkontroller, einer Netzwerkschnittstelle oder dem wenigstens einen Speichermodul erhalten wird.
  14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass das Erhalten von Information von dem wenigstens einen Speicherregister an dem Speicherkontroller die Information umfasst, Speicherzugriffsmuster für den Speicherkontroller einzuschließen, wobei die Speicherzugriffsmuster die Anzahl von Lese- und Schreibanforderungen aufweist, die der Speicherkontroller für die Rechenplattform in einer gegebenen Zeitspanne abschließt.
  15. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass der Speicherleistungsnutzungsmanager es umfasst, dass der Speicherleistungsnutzungsmanager auf einem eigenen Verwaltungsmikrokontroller untergebracht ist, der auf der Rechenplattform liegt.
  16. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass der Speicherleistungsnutzungsmanager es umfasst, dass der Speicherleistungsnutzungsmanager auf dem Speicherkontroller untergebracht ist.
  17. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass der Speicherleistungsnutzungsmanager es umfasst, dass wenigstens ein Teil eines Servicebetriebssystems auf einem eigenen getrennten Kern oder einem Teil eines Kerns für ein Bearbeitungselement läuft, das unter Verwendung von Virtualisierungstechnologie arbeitet.
  18. Eine Rechenplattform, umfassend: ein Bearbeitungselement; eine Vielzahl von Speichermodulen; einen Speicherkontroller für die Speichermodule; eine Netzwerkschnittstelle zum Empfangen und Weiterleiten von Daten; und einen Speicherleitungsnutzungsmanager, der Logik umfasst, um ein oder mehrere statistische Vorhersagemodelle zu implementieren, um Speicherleistungsnutzung für die Rechenplattform vorherzusagen, wobei das Implementieren es einschließt, dass die Logik: einen Konfigurationsparameter für die Rechenplattform bestimmt, indem Betriebsmittel, die auf der Rechenplattform vorliegen, identifiziert werden; einen Betriebsparameter identifiziert, der mit wenigstens einem der Betriebsmittel, die auf der Rechenplattform vorliegen, assoziiert ist; den Betriebsparameter der Rechenplattform während der Laufzeit der Rechenplattform überwacht, indem wenigstens eine Speichertabelle oder ein Speicherregister, das durch das Betriebsmittel der Rechenplattform während der Laufzeit der Rechenplattform aktualisiert wird, inspiziert wird; und Speicherleistungsnutzung für die Rechenplattform während der Laufzeit der Rechenplattform anhand des bestimmten Konfigurationsparameters und des überwachten Betriebsparameters vorhersagt, wobei der Speicherleistungsnutzungsmanager die vorhergesagte Speicherleistungsnutzung dem Speicherkontroller anzeigt, damit der Speicherkontroller einen gegenwärtigen Leistungszustand eines Speichermoduls der Speichermodule in einen aus einer Vielzahl von Leistungszuständen anhand wenigstens eines Teils der angezeigten Vorhersage von Speicherleistungsnutzung für die Rechenplattform überführt.
  19. Rechenplattform nach Anspruch 18, dadurch gekennzeichnet, dass das Bestimmen des Konfigurationsparameters die Logik umfasst, um den Konfigurationsparameter von dem Speicherkontroller zu erhalten, wobei der Konfigurationsparameter wenigstens eine Benutzungskonfiguration für die Vielzahl von Speichermodulen einschließt, die aus der folgenden Gruppe ausgewählt ist: Speicher-Interleaving, Speicherspiegeln, Speichersparen und Rangordnungsallokation.
  20. Rechenplattform nach Anspruch 19, dadurch gekennzeichnet, dass das Überwachen des Betriebsparameters die Logik umfasst, um den Betriebsparameter zu überwachen, indem Information von wenigstens einem Speicherregister an einem von einem Bearbeitungselement, dem Speicherkontroller, der Netzwerkschnittstelle und den Speichermodulen erhaltem wird.
  21. Rechenplattform nach Anspruch 20, dadurch gekennzeichnet, dass das Erhalten von Information von dem wenigstens einen Speicherregister an der Netzwerkschnittstelle die Information umfasst, um Netzwerkverkehrsstatistiken für paketbasierte Daten einzuschließen, die von einem Netzwerk, das mit der Rechenplattform durch die Netzwerkschnittstelle verbunden ist, empfangen und dorthin weitergeleitet werden.
  22. Ein maschinenzugängliches Medium, das Inhalt umfasst, welcher, wenn er von einer Maschine, die auf einer Rechenplattform liegt, ausgeführt wird, die Maschine veranlasst: wenigstens ein statistisches Vorhersagemodell zu implementieren, um Speicherleistungsnutzung vorherzusagen und Leistungsverbrauch für eine Rechenplattform zu reduzieren, wobei das Implementieren einschließt: Bestimmen eines Konfigurationsparameters für die Rechenplattform, indem Betriebsmittel, die auf der Rechenplattform vorliegen, identifiziert werden; Identifizieren eines Betriebsparameters, der mit wenigstens einer der Ressourcen, die auf der Rechenplattform vorliegen, assoziiert ist; Überwachen des Betriebsparameters der Rechenplattform während der Laufzeit der Rechenplattform, indem wenigstens eine Speichertabelle oder ein Speicherregister, das durch das Betriebsmittel der Rechenplattform während der Laufzeit der Rechenplattform aktualisiert wird, inspiziert wird; und Vorhersagen von Speicherleistungsnutzung für die Rechenplattform anhand des bestimmten Konfigurationsparameters und des überwachten Betriebsparameters; und Überführen eines gegenwärtigen Leistungszustands von wenigstens einem Speichermodul, das auf der Rechenplattform liegt, in einen aus einer Vielzahl von Leistungszuständen, wobei das Überführen des gegenwärtigen Leistungszustands wenigstens zum Teil auf einer statistischen Vorhersage von Speicherleistungsnutzung basiert, die aus dem Konfigurationsparameter und dem überwachten Betriebsparameter bestimmt wurde.
  23. Maschinenzugängliches Medium nach Anspruch 22, dadurch gekennzeichnet, dass das Bestimmen des Konfigurationsparameters Erhalten des Konfigurationsparameters von einem Speicherkontroller für das wenigstens eine Speichermodul umfasst, wobei der Konfigurationsparameter wenigstens eine Benutzungskonfiguration für das wenigstens eine Speichermodul einschließt, die aus der folgenden Gruppe ausgewählt ist: Speicher-Interleaving, Speicherspiegeln, Speichersparen und Rangordnungsallokation.
  24. Maschinenzugängliches Medium nach Anspruch 23, dadurch gekennzeichnet, dass das Überwachen des Betriebsparameters das Überwachen des Betriebsparameters durch Erhalten von Information von wenigstens einem Speicherregister an einem von einem Bearbeitungselement, dem Speicherkontroller, einer Netzwerkschnittstelle oder dem wenigstens einen Speichermodul umfasst.
  25. Maschinenzugängliches Medium nach Anspruch 24, dadurch gekennzeichnet, dass das Erhalten von Information von dem wenigstens einen Speicherregister an dem Bearbeitungselement umfasst, dass die Information wenigstens ein aus der folgenden Gruppe ausgewähltes Element einschließt: Bearbeitungselementnutzung, Bearbeitungselementleistung und ein Bearbeitungselementleistungszustand.
DE112007001215T 2006-06-06 2007-05-31 Vorhersage der Leistungsnutzung von Rechenplattformspeicher Expired - Fee Related DE112007001215B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/447,701 US7752468B2 (en) 2006-06-06 2006-06-06 Predict computing platform memory power utilization
US11/447,701 2006-06-06
PCT/US2007/070052 WO2007146601A2 (en) 2006-06-06 2007-05-31 Predict computing platform memory power utilization

Publications (2)

Publication Number Publication Date
DE112007001215T5 DE112007001215T5 (de) 2009-04-02
DE112007001215B4 true DE112007001215B4 (de) 2013-07-04

Family

ID=38791800

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112007001215T Expired - Fee Related DE112007001215B4 (de) 2006-06-06 2007-05-31 Vorhersage der Leistungsnutzung von Rechenplattformspeicher

Country Status (5)

Country Link
US (2) US7752468B2 (de)
CN (1) CN100594467C (de)
DE (1) DE112007001215B4 (de)
TW (1) TWI344589B (de)
WO (1) WO2007146601A2 (de)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799687B2 (en) 2005-12-30 2014-08-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates
US7752468B2 (en) * 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7721130B2 (en) * 2006-11-27 2010-05-18 Qimonda Ag Apparatus and method for switching an apparatus to a power saving mode
DE102007028870A1 (de) * 2007-06-22 2009-01-02 Qimonda Ag Speicherbauteil, Datenverarbeitungssystem, Verfahren zum Einstellen von Betriebsparametern eines Speichers und Computerprogramms
US7957335B2 (en) * 2007-08-23 2011-06-07 Cisco Technology, Inc. Dynamic power usage management based on historical traffic pattern data for network devices
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
JP4973490B2 (ja) * 2007-12-26 2012-07-11 富士通株式会社 消費電力監視プログラム
US8281166B2 (en) * 2008-03-10 2012-10-02 Virdiem Corporation System and method for computer power control
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8024594B2 (en) * 2008-03-31 2011-09-20 Intel Corporation Method and apparatus for reducing power consumption in multi-channel memory controller systems
JP2009294802A (ja) * 2008-06-03 2009-12-17 Hitachi Ltd ストレージ装置およびストレージ装置の起動制御方法
US8230238B2 (en) * 2008-08-25 2012-07-24 International Business Machines Corporation Estimating power consumption in a computing environment
US20100077240A1 (en) * 2008-09-22 2010-03-25 Sun Microsystems, Inc. Methods and apparatuses for reducing power consumption of fully-buffered dual inline memory modules
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US8707060B2 (en) * 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
US8683250B2 (en) * 2009-06-25 2014-03-25 International Business Machines Corporation Minimizing storage power consumption
US20110153978A1 (en) * 2009-12-21 2011-06-23 International Business Machines Corporation Predictive Page Allocation for Virtual Memory System
US8504855B2 (en) 2010-01-11 2013-08-06 Qualcomm Incorporated Domain specific language, compiler and JIT for dynamic power management
US9235251B2 (en) * 2010-01-11 2016-01-12 Qualcomm Incorporated Dynamic low power mode implementation for computing devices
US8335938B2 (en) * 2010-06-11 2012-12-18 Kevin Howard Orr Method and device for activation of components
US8412972B2 (en) 2010-06-28 2013-04-02 Intel Corporation Method and apparatus for reducing power consumption for memories
DE112010005779T5 (de) * 2010-08-31 2013-05-08 Hewlett-Packard Development Company, L.P. Bestimmung des Leistungsverbrauchs einer Anzeigevorrichtung
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
CN101995823B (zh) * 2010-09-28 2012-12-12 吴伪亮 基于统计预测技术的节能控制方法
US8843775B2 (en) * 2010-10-08 2014-09-23 Intel Corporation Energy optimization techniques in a computing system
WO2012054019A1 (en) * 2010-10-19 2012-04-26 Hewlett-Packard Development Company, L.P. Systems and methods for predictive control of power efficiency
US8806254B2 (en) * 2011-02-01 2014-08-12 Dell Products L.P. System and method for creating and dynamically maintaining system power inventories
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8793515B2 (en) 2011-06-27 2014-07-29 Intel Corporation Increasing power efficiency of turbo mode operation in a processor
US20130124891A1 (en) * 2011-07-15 2013-05-16 Aliphcom Efficient control of power consumption in portable sensing devices
CN102902334A (zh) * 2011-07-28 2013-01-30 鸿富锦精密工业(深圳)有限公司 Cpu供电调节方法及***
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
US8914650B2 (en) 2011-09-28 2014-12-16 Intel Corporation Dynamically adjusting power of non-core processor circuitry including buffer circuitry
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
CN103035301A (zh) * 2011-10-06 2013-04-10 鸿富锦精密工业(深圳)有限公司 内存条参数的测试方法及其测试设备
US8650423B2 (en) * 2011-10-12 2014-02-11 Qualcomm Incorporated Dynamic voltage and clock scaling control based on running average, variant and trend
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
CN102511188B (zh) * 2011-11-14 2014-06-04 华为技术有限公司 一种降低芯片功耗的方法及设备
CN103946765B (zh) * 2011-11-22 2017-11-17 英特尔公司 协同处理器以及***性能和功率管理
US9239611B2 (en) 2011-12-05 2016-01-19 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme
US8972763B2 (en) 2011-12-05 2015-03-03 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
US9052901B2 (en) 2011-12-14 2015-06-09 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including configurable maximum processor current
US9098261B2 (en) 2011-12-15 2015-08-04 Intel Corporation User level control of power management policies
US9372524B2 (en) 2011-12-15 2016-06-21 Intel Corporation Dynamically modifying a power/performance tradeoff based on processor utilization
CN103246559B (zh) * 2012-02-10 2016-12-14 联想(北京)有限公司 应用处理方法和电子设备
US9436245B2 (en) 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
CN104169832B (zh) 2012-03-13 2017-04-19 英特尔公司 提供处理器的能源高效的超频操作
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
US9547027B2 (en) 2012-03-30 2017-01-17 Intel Corporation Dynamically measuring power consumption in a processor
US9311228B2 (en) 2012-04-04 2016-04-12 International Business Machines Corporation Power reduction in server memory system
WO2013162589A1 (en) 2012-04-27 2013-10-31 Intel Corporation Migrating tasks between asymmetric computing elements of a multi-core processor
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US9063727B2 (en) 2012-08-31 2015-06-23 Intel Corporation Performing cross-domain thermal control in a processor
US9342122B2 (en) 2012-09-17 2016-05-17 Intel Corporation Distributing power to heterogeneous compute elements of a processor
US9423858B2 (en) 2012-09-27 2016-08-23 Intel Corporation Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain
US9336164B2 (en) * 2012-10-04 2016-05-10 Applied Micro Circuits Corporation Scheduling memory banks based on memory access patterns
US9575543B2 (en) 2012-11-27 2017-02-21 Intel Corporation Providing an inter-arrival access timer in a processor
US9183144B2 (en) 2012-12-14 2015-11-10 Intel Corporation Power gating a portion of a cache memory
US9405351B2 (en) 2012-12-17 2016-08-02 Intel Corporation Performing frequency coordination in a multiprocessor system
US9292468B2 (en) 2012-12-17 2016-03-22 Intel Corporation Performing frequency coordination in a multiprocessor system based on response timing optimization
US9317212B2 (en) 2012-12-18 2016-04-19 Intel Corporation Method and apparatus for controlling a storage device
US9235252B2 (en) 2012-12-21 2016-01-12 Intel Corporation Dynamic balancing of power across a plurality of processor domains according to power policy control bias
US9075556B2 (en) 2012-12-21 2015-07-07 Intel Corporation Controlling configurable peak performance limits of a processor
US9164565B2 (en) 2012-12-28 2015-10-20 Intel Corporation Apparatus and method to manage energy usage of a processor
US9081577B2 (en) 2012-12-28 2015-07-14 Intel Corporation Independent control of processor core retention states
US9335803B2 (en) 2013-02-15 2016-05-10 Intel Corporation Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores
US9367114B2 (en) 2013-03-11 2016-06-14 Intel Corporation Controlling operating voltage of a processor
KR20140111896A (ko) * 2013-03-12 2014-09-22 삼성전자주식회사 애플리케이션 프로세서 및 이의 동작 방법
JP6030987B2 (ja) * 2013-04-02 2016-11-24 ルネサスエレクトロニクス株式会社 メモリ制御回路
US9170639B2 (en) 2013-04-09 2015-10-27 International Business Machines Corporation Method and apparatus for mitigating effects of memory scrub operations on idle time power savings modes
US9395784B2 (en) 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
US9377841B2 (en) 2013-05-08 2016-06-28 Intel Corporation Adaptively limiting a maximum operating frequency in a multicore processor
US9823719B2 (en) 2013-05-31 2017-11-21 Intel Corporation Controlling power delivery to a processor via a bypass
US9348401B2 (en) 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor
US9471088B2 (en) 2013-06-25 2016-10-18 Intel Corporation Restricting clock signal delivery in a processor
US9348407B2 (en) 2013-06-27 2016-05-24 Intel Corporation Method and apparatus for atomic frequency and voltage changes
US9377836B2 (en) 2013-07-26 2016-06-28 Intel Corporation Restricting clock signal delivery based on activity in a processor
US9495001B2 (en) 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US10386900B2 (en) 2013-09-24 2019-08-20 Intel Corporation Thread aware power management
US9405345B2 (en) 2013-09-27 2016-08-02 Intel Corporation Constraining processor operation based on power envelope information
US9594560B2 (en) 2013-09-27 2017-03-14 Intel Corporation Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain
GB2519351A (en) * 2013-10-18 2015-04-22 St Microelectronics Sa A method and apparatus for use with different memory maps
TWI481881B (zh) * 2013-11-22 2015-04-21 Inst Information Industry 耗電預測裝置、方法及其電腦程式產品
US9494998B2 (en) 2013-12-17 2016-11-15 Intel Corporation Rescheduling workloads to enforce and maintain a duty cycle
US9459689B2 (en) 2013-12-23 2016-10-04 Intel Corporation Dyanamically adapting a voltage of a clock generation circuit
US9851771B2 (en) * 2013-12-28 2017-12-26 Intel Corporation Dynamic power measurement and estimation to improve memory subsystem power performance
US9323525B2 (en) 2014-02-26 2016-04-26 Intel Corporation Monitoring vector lane duty cycle for dynamic optimization
US10108454B2 (en) 2014-03-21 2018-10-23 Intel Corporation Managing dynamic capacitance using code scheduling
US9665153B2 (en) 2014-03-21 2017-05-30 Intel Corporation Selecting a low power state based on cache flush latency determination
US10180828B2 (en) * 2014-04-29 2019-01-15 Significs And Elements, Llc Systems and methods for power optimization of processors
US10417149B2 (en) 2014-06-06 2019-09-17 Intel Corporation Self-aligning a processor duty cycle with interrupts
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
US9513689B2 (en) 2014-06-30 2016-12-06 Intel Corporation Controlling processor performance scaling based on context
US9606602B2 (en) 2014-06-30 2017-03-28 Intel Corporation Method and apparatus to prevent voltage droop in a computer
US9367442B2 (en) * 2014-07-12 2016-06-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Allocating memory usage based on voltage regulator efficiency
US9575537B2 (en) 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
US9760136B2 (en) 2014-08-15 2017-09-12 Intel Corporation Controlling temperature of a system memory
US9671853B2 (en) 2014-09-12 2017-06-06 Intel Corporation Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency
US10339023B2 (en) 2014-09-25 2019-07-02 Intel Corporation Cache-aware adaptive thread scheduling and migration
US9977477B2 (en) 2014-09-26 2018-05-22 Intel Corporation Adapting operating parameters of an input/output (IO) interface circuit of a processor
US9684360B2 (en) 2014-10-30 2017-06-20 Intel Corporation Dynamically controlling power management of an on-die memory of a processor
US9703358B2 (en) 2014-11-24 2017-07-11 Intel Corporation Controlling turbo mode frequency operation in a processor
US20160147280A1 (en) 2014-11-26 2016-05-26 Tessil Thomas Controlling average power limits of a processor
US10048744B2 (en) 2014-11-26 2018-08-14 Intel Corporation Apparatus and method for thermal management in a multi-chip package
US9710043B2 (en) 2014-11-26 2017-07-18 Intel Corporation Controlling a guaranteed frequency of a processor
US10877530B2 (en) 2014-12-23 2020-12-29 Intel Corporation Apparatus and method to provide a thermal parameter report for a multi-chip package
US20160224098A1 (en) 2015-01-30 2016-08-04 Alexander Gendler Communicating via a mailbox interface of a processor
US9639134B2 (en) 2015-02-05 2017-05-02 Intel Corporation Method and apparatus to provide telemetry data to a power controller of a processor
US9910481B2 (en) 2015-02-13 2018-03-06 Intel Corporation Performing power management in a multicore processor
US10234930B2 (en) 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US9874922B2 (en) 2015-02-17 2018-01-23 Intel Corporation Performing dynamic power control of platform devices
US9842082B2 (en) 2015-02-27 2017-12-12 Intel Corporation Dynamically updating logical identifiers of cores of a processor
US9710054B2 (en) 2015-02-28 2017-07-18 Intel Corporation Programmable power management agent
KR102464801B1 (ko) 2015-04-14 2022-11-07 삼성전자주식회사 반도체 장치의 동작 방법 및 반도체 시스템
US9760160B2 (en) 2015-05-27 2017-09-12 Intel Corporation Controlling performance states of processing engines of a processor
US9418712B1 (en) 2015-06-16 2016-08-16 Sandisk Technologies Llc Memory system and method for power management using a token bucket
US9401184B1 (en) 2015-06-16 2016-07-26 Sandisk Technologies Llc Memory system and method for power management
US9502082B1 (en) * 2015-06-24 2016-11-22 Intel Corporation Power management in dual memory platforms
US9710041B2 (en) 2015-07-29 2017-07-18 Intel Corporation Masking a power state of a core of a processor
US10001822B2 (en) 2015-09-22 2018-06-19 Intel Corporation Integrating a power arbiter in a processor
US9983644B2 (en) 2015-11-10 2018-05-29 Intel Corporation Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance
US9910470B2 (en) 2015-12-16 2018-03-06 Intel Corporation Controlling telemetry data communication in a processor
US10146286B2 (en) * 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
US10289188B2 (en) 2016-06-21 2019-05-14 Intel Corporation Processor having concurrent core and fabric exit from a low power state
US10324519B2 (en) 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
US9760311B1 (en) 2016-06-23 2017-09-12 Sandisk Technologies Llc Storage system and method for adaptive thermal throttling
US10281975B2 (en) 2016-06-23 2019-05-07 Intel Corporation Processor having accelerated user responsiveness in constrained environment
US10379596B2 (en) 2016-08-03 2019-08-13 Intel Corporation Providing an interface for demotion control information in a processor
CN106325243B (zh) * 2016-08-15 2020-02-11 宁波舜宇智能科技有限公司 稼动率的确定方法以及终端
CN106094771A (zh) * 2016-08-15 2016-11-09 宁波舜宇智能科技有限公司 稼动率确定***和方法、以及终端
US10423206B2 (en) 2016-08-31 2019-09-24 Intel Corporation Processor to pre-empt voltage ramps for exit latency reductions
US10379904B2 (en) 2016-08-31 2019-08-13 Intel Corporation Controlling a performance state of a processor using a combination of package and thread hint information
US10234920B2 (en) 2016-08-31 2019-03-19 Intel Corporation Controlling current consumption of a processor based at least in part on platform capacitance
US10168758B2 (en) 2016-09-29 2019-01-01 Intel Corporation Techniques to enable communication between a processor and voltage regulator
US10429919B2 (en) 2017-06-28 2019-10-01 Intel Corporation System, apparatus and method for loose lock-step redundancy power management
WO2019040054A1 (en) 2017-08-23 2019-02-28 Intel Corporation SYSTEM, APPARATUS, AND METHOD FOR ADAPTIVE OPERATING VOLTAGE IN A USER-PROGRAMMED (FPGA) PREDIFFUSED NETWORK
US10620266B2 (en) 2017-11-29 2020-04-14 Intel Corporation System, apparatus and method for in-field self testing in a diagnostic sleep state
US10620682B2 (en) 2017-12-21 2020-04-14 Intel Corporation System, apparatus and method for processor-external override of hardware performance state control of a processor
US10620969B2 (en) 2018-03-27 2020-04-14 Intel Corporation System, apparatus and method for providing hardware feedback information in a processor
US10739844B2 (en) 2018-05-02 2020-08-11 Intel Corporation System, apparatus and method for optimized throttling of a processor
US10955899B2 (en) 2018-06-20 2021-03-23 Intel Corporation System, apparatus and method for responsive autonomous hardware performance state control of a processor
US10976801B2 (en) 2018-09-20 2021-04-13 Intel Corporation System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor
US10860083B2 (en) 2018-09-26 2020-12-08 Intel Corporation System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail
US11656676B2 (en) 2018-12-12 2023-05-23 Intel Corporation System, apparatus and method for dynamic thermal distribution of a system on chip
US11256657B2 (en) 2019-03-26 2022-02-22 Intel Corporation System, apparatus and method for adaptive interconnect routing
US11048313B2 (en) * 2019-03-29 2021-06-29 Intel Corporation System-wide network activity forecasting for performance improvement
US11334786B2 (en) * 2019-04-25 2022-05-17 International Business Machines Corporation System and method for an error-aware runtime configurable memory hierarchy for improved energy efficiency
US11442529B2 (en) 2019-05-15 2022-09-13 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11079829B2 (en) 2019-07-12 2021-08-03 Micron Technology, Inc. Peak power management of dice in a power network
US11454941B2 (en) 2019-07-12 2022-09-27 Micron Technology, Inc. Peak power management of dice in a power network
US11698812B2 (en) 2019-08-29 2023-07-11 Intel Corporation System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor
CN111026328B (zh) * 2019-11-13 2022-04-22 华为技术有限公司 一种能耗控制方法、装置及存储***
US11366506B2 (en) * 2019-11-22 2022-06-21 Intel Corporation System, apparatus and method for globally aware reactive local power control in a processor
US11132201B2 (en) 2019-12-23 2021-09-28 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit
US11175837B2 (en) * 2020-03-16 2021-11-16 Micron Technology, Inc. Quantization of peak power for allocation to memory dice
US11449407B2 (en) 2020-05-28 2022-09-20 Bank Of America Corporation System and method for monitoring computing platform parameters and dynamically generating and deploying monitoring packages
US11418459B1 (en) 2020-12-14 2022-08-16 Cigna Intellectual Property, Inc. Anomaly detection for packet loss
US11592894B2 (en) * 2021-04-12 2023-02-28 Dell Products L.P. Increasing power efficiency for an information handling system
CN113326883B (zh) * 2021-06-03 2022-08-30 中创三优(北京)科技有限公司 充电站功率利用率预测模型的训练方法、装置及介质
US11921564B2 (en) 2022-02-28 2024-03-05 Intel Corporation Saving and restoring configuration and status information with reduced latency

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404543A (en) * 1992-05-29 1995-04-04 International Business Machines Corporation Method and system for reducing an amount of power utilized by selecting a lowest power mode from a plurality of power modes
US20030061383A1 (en) * 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US20030204758A1 (en) * 2002-04-26 2003-10-30 Singh Jitendra K. Managing system power

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866712A (en) * 1988-02-19 1989-09-12 Bell Communications Research, Inc. Methods and apparatus for fault recovery
JP2804125B2 (ja) 1989-11-08 1998-09-24 株式会社日立製作所 情報処理システムの障害監視装置と制御方法
JP2985505B2 (ja) 1991-07-08 1999-12-06 株式会社日立製作所 品質情報収集診断システム及びその方法
US5293323A (en) 1991-10-24 1994-03-08 General Electric Company Method for fault diagnosis by assessment of confidence measure
JPH05126872A (ja) 1991-11-01 1993-05-21 Seiko Epson Corp 消費電力予測装置
US5500940A (en) 1994-04-25 1996-03-19 Hewlett-Packard Company Method for evaluating failure in an electronic data storage system and preemptive notification thereof, and system with component failure evaluation
SE511614C2 (sv) 1996-10-22 1999-10-25 Ericsson Telefon Ab L M Sätt att mäta QOS
US6473659B1 (en) * 1998-04-10 2002-10-29 General Electric Company System and method for integrating a plurality of diagnostic related information
EP1142279B1 (de) 1998-12-21 2004-09-22 Siemens Aktiengesellschaft Verfahren zum erfassen von in wenigstens einer elektrischen einheit, insbesondere einer vermittlungstechnischen einrichtung, auftretenden fehlern
US6947797B2 (en) 1999-04-02 2005-09-20 General Electric Company Method and system for diagnosing machine malfunctions
US6643801B1 (en) 1999-10-28 2003-11-04 General Electric Company Method and system for estimating time of occurrence of machine-disabling failures
US6324659B1 (en) 1999-10-28 2001-11-27 General Electric Company Method and system for identifying critical faults in machines
US6845472B2 (en) * 2000-01-25 2005-01-18 Hewlett-Packard Development Company, L.P. Memory sub-system error cleansing
US7035989B1 (en) * 2000-02-16 2006-04-25 Sun Microsystems, Inc. Adaptive memory allocation
US6596137B2 (en) * 2000-02-25 2003-07-22 Tokoyama Corporation Bipolar membrane
US6651190B1 (en) 2000-03-14 2003-11-18 A. Worley Independent remote computer maintenance device
US7412369B1 (en) * 2000-06-09 2008-08-12 Stmicroelectronics, Inc. System and method for designing and optimizing the memory of an embedded processing system
US6981182B2 (en) 2002-05-03 2005-12-27 General Electric Company Method and system for analyzing fault and quantized operational data for automated diagnostics of locomotives
US7020786B2 (en) * 2002-07-23 2006-03-28 Dell Products L.P. System and method for selecting a voltage output reference
US6734811B1 (en) * 2003-05-21 2004-05-11 Apple Computer, Inc. Single-ended balance-coded interface with embedded-timing
US20050050310A1 (en) 2003-07-15 2005-03-03 Bailey Daniel W. Method, system, and apparatus for improving multi-core processor performance
US7412614B2 (en) * 2004-04-29 2008-08-12 Hewlett-Packard Development Company, L.P. Power management using a pre-determined thermal characteristic of a memory module
US20050289323A1 (en) 2004-05-19 2005-12-29 Kar-Lik Wong Barrel shifter for a microprocessor
US7409594B2 (en) * 2004-07-06 2008-08-05 Intel Corporation System and method to detect errors and predict potential failures
US7421598B2 (en) * 2005-02-09 2008-09-02 International Business Machines Corporation Dynamic power management via DIMM read operation limiter
US7496777B2 (en) * 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling in a memory system
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404543A (en) * 1992-05-29 1995-04-04 International Business Machines Corporation Method and system for reducing an amount of power utilized by selecting a lowest power mode from a plurality of power modes
US20030061383A1 (en) * 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US20030204758A1 (en) * 2002-04-26 2003-10-30 Singh Jitendra K. Managing system power

Also Published As

Publication number Publication date
TW200809469A (en) 2008-02-16
US20100191997A1 (en) 2010-07-29
WO2007146601A2 (en) 2007-12-21
US7752468B2 (en) 2010-07-06
DE112007001215T5 (de) 2009-04-02
WO2007146601A3 (en) 2008-04-10
TWI344589B (en) 2011-07-01
CN100594467C (zh) 2010-03-17
US20070283178A1 (en) 2007-12-06
US9104409B2 (en) 2015-08-11
CN101086679A (zh) 2007-12-12

Similar Documents

Publication Publication Date Title
DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
DE602005005557T2 (de) Modul zur Verminderung der Leistungsaufnahme eines Festplattenlaufwerks
DE112011103193B4 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
DE102007061448B4 (de) Informationsverarbeitungssystem, Verfahren und Verarbeitungsmodul zum Reduzieren von Leistungszuständen für Speichergeräte und zugehörige logische Speichermedien
DE112007001922B4 (de) System und Verfahren zur Begrenzung der Prozessorleistung
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE102010054337B4 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE102009015495B4 (de) Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE102009051387A1 (de) Power Management für Mehrprozessorkerne
DE102009058426A1 (de) Verfahren und Vorrichtung zum Power-Management eines Prozessors
DE102016010505A1 (de) Dienststufenbasierte Steuerung von Speichersystemen
DE102005063122A1 (de) System und Verfahren zum Power Management von mehreren Informationsverarbeitungssystemen
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE112007001056T5 (de) PRO-Chip-Spannungsprogammierung für den Energie-Effizienten integrierten Schaltkreis (IC) Betrieb
HUE028928T2 (en) Hybrid write-through / write-back cache router managers and related systems and procedures
DE112006002835T5 (de) Verfahren und System zum Optimieren der Latenz bei dynamischer Speichereinteilung
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102014001914A1 (de) Dynamische Steuerung einer maximalen Betriebsspannung für einen Prozessor
DE102018129330A1 (de) System, Vorrichtung und Verfahren zur prozessorexternen Überschreibung der Hardwareleistungszustandssteuerung eines Prozessors
DE112013005081T5 (de) Ausführen der Frequenzkoordination in einem Mehrprozessorsystem
DE102021117226A1 (de) Konfigurierbarer reduzierter speicherstart

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20131005

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee