DE112007001922T5 - System und Verfahren zur Begrenzung der Prozessorleistung - Google Patents

System und Verfahren zur Begrenzung der Prozessorleistung Download PDF

Info

Publication number
DE112007001922T5
DE112007001922T5 DE112007001922T DE112007001922T DE112007001922T5 DE 112007001922 T5 DE112007001922 T5 DE 112007001922T5 DE 112007001922 T DE112007001922 T DE 112007001922T DE 112007001922 T DE112007001922 T DE 112007001922T DE 112007001922 T5 DE112007001922 T5 DE 112007001922T5
Authority
DE
Germany
Prior art keywords
processor
state
maximum
response
housing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112007001922T
Other languages
English (en)
Other versions
DE112007001922B4 (de
Inventor
Francisco L. Austin Duran
Paul W. Austin Montgomery
David F. Pflugerville Tobias
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.)
MediaTek Inc
Original Assignee
Advanced Micro Devices Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38819602&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE112007001922(T5) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE112007001922T5 publication Critical patent/DE112007001922T5/de
Application granted granted Critical
Publication of DE112007001922B4 publication Critical patent/DE112007001922B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)

Abstract

Verfahren zum Verwalten eines Prozessorleistungsverhaltens, wobei das Verfahren umfasst:
Speichern eines Wertes, der einen maximalen Prozessorleistungszustand angibt;
Erfassen einer Anforderung (200) für einen Übergang in einen ersten Prozessorleistungszustand;
Überführen des Prozessors in den ersten Prozessorleistungszustand (212, 214, 216) in Reaktion darauf, dass bestimmt wird, dass der erste Prozessorzustand niedriger ist als der oder gleich ist dem maximalen Prozessorleistungszustand (202); und
Überführen des Prozessors in den maximalen Prozessorleistungszustand (222, 224, 226) in Reaktion darauf, dass bestimmt wird, dass der erste Prozessorzustand höher als der maximale Prozessorzustand (202) ist.

Description

  • Technisches Gebiet
  • Diese Erfindung betrifft Computersysteme und betrifft insbesondere die Verwaltung der Prozessorleistung.
  • Hintergrund
  • Rechnersysteme enthalten aktuell diverse Mechanismen zum Überwachen einer Betriebsumgebung. Beispielsweise definiert die intelligente Plattformverwaltungsschnittstellen-(IPMI)Spezifikation eine Gruppe gemeinsamer Schnittstellen für Computerhardware- und Firmware, wodurch es für Systemadministratoren möglich ist, den Systemzustand zu beobachten und das System zu steuern. Typischerweise enthält eine Systemhauptplatine oder Mutterplatine einen speziellen Mikrokontroller, etwa eine Basisplatinenverwaltungssteuerung (BMC), die die IPMI-Funktion unterstützt. Die BMC verwaltet die Schnittstelle zwischen der Systemverwaltungssoftware und der Plattformgerätekonfiguration. Die IPMI arbeitet unabhängig vom Betriebssystem (OS) und erlaubt es Administratoren, ein System durch Fernzugriff selbst ohne das Betriebssystem oder die Systemverwaltungssoftware zu verwalten. Die IPMI funktioniert so, dass ermittelt wird, wie die BMC-Verwaltungsressourcen im Server-System bzw. Dienstleistungssystem erweitert wurden, und arbeitet unabhängig vom Hauptprozessor, indem die platineninterne Konfiguration beobachtet wird, etwa in Form von Temperatursensoren, Lüftergeschwindigkeiten und Spannungen. Über die BMC ermöglicht es die IPMI auch den Administratoren, die Leistung für den Server zu steuern, und unter Fernzugriff auf BIOS-Konfigurations- und Betriebssystemkonsoleninformation zuzugreifen.
  • Allgemein gesagt, sind Sensoren in das Computersystem eingebaut und werden im Hinblick auf entsprechende Daten von der BMC abgefragt. Diverse Bedingungen oder Parameter, etwa Temperatur, die Geschwindigkeit des Kühlungslüfters, der Leistungsmodus, der Betriebssystem-(OS)Status, können überwacht und mitgeteilt werden. In Reaktion auf das Erkennen diverser Bedingungen kann die BMC einen Systemadministrator über das Netzwerk alarmieren. Der Administrator kann dann mit der BMC in Verbindung treten, um eine Korrekturaktion zu veranlassen, etwa das Zurücksetzen oder ein An- und Abschalten des Systems, um ein hängen gebliebenes Betriebssystem wieder lauffähig zu machen.
  • Heutzutage enthalten Prozessoren häufig die Fähigkeit, bei verschiedenen Stufen des Leistungsverhaltens zu arbeiten, wobei durch das Betriebssystem gesteuerte Techniken eingesetzt werden. Unterschiedliche Prozessorleistungsstufen werden häufig als Teil eines Leistungs- und/oder thermischen Verwaltungs- bzw. Steuerungsschema eingesetzt. Wenn beispielsweise ein System Batterie gespeist arbeitet, dann wird eine reduzierte Prozessorleistungsebene angewendet, um eine längere Laufzeit zu ermöglichen. Wenn in ähnlicher Weise erkannt wird, dass die Prozessorbetriebstemperatur einen vorbestimmten Schwellwert übersteigt, dann wird ein geringerer Prozessorleistungspegel eingestellt, um die Betriebstemperatur zu verringern. Diverse Prozessorleistungspegel bzw. Performancepegel werden häufig als „p-Zustände” bezeichnet. Da im Allgemeinen die Betriebssysteme am besten geeignet sind zu bestimmen, ob ein gegebener Prozessor untätig ist oder gerade ausgelastet ist (und zu welchem Grade), steuern die Betriebssysteme die p-Zustandswerte eines Prozessors. Beispielsweise sind Prozessoren kompatibel mit der fortschrittlichen Konfigurations- und Leistungsschnittstellenspezifikation (ACPI) als Teil eines Leistungsverwaltungsschemas. Nachteiligerweise ist das Betriebssystem jedoch schlecht gerüstet, um andere Betriebsbedingungsumgebungen zu erkennen.
  • Beispielsweise ist die Steuerung der Gehäuseleistung für Einschübe und Trägersysteme und Steuerung der Kühlung ein wesentlicher Aspekt für eine korrekte Funktion. Jedoch kann das Betriebssystem auf einem einzelnen System in dem Gehäuse nicht erkennen, dass andere Systeme übermäßige Beträge an Leistung während der Hochlaufzeit fordern und dass der p-Zustand abgesenkt werden müsste, bevor die Anforderung nach Leistung im ehäuse einen spezifizierten Pegel übersteigt. In ähnlicher Weise erkennt das Betriebssystem eines einzelnes Systems an der Unterseite eines Gehäuses unter Umständen nicht, dass Systeme in höheren Lagen des Gehäuses ausgeprägte Wärmeprobleme erfahren, und dass der eigene p-Zustand reduziert werden muss, um das Problem zu lösen (obwohl die eigene Betriebstemperatur innerhalb normaler Parameterwerte liegt). Des weiteren ist das Betriebssystem eine komplexe Mischung aus Softwarekomponenten von unterschiedlichen Anbietern. Als Folge davon ist das Betriebssystem nicht immun gegenüber den Zusammenbruch, der eine p-Zustandssteuerung verhindert. Wenn dies geschieht, gibt es aktuell kein Verfahren zum Ändern des p-Zustands des Prozessors.
  • Im Lichte dessen sind Systeme und Verfahren zur Verwaltung des Prozessorleistungsverhaltens wünschenswert.
  • Überblick über die Erfindung
  • Es werden Systeme und Verfahren zum Verwalten der Leistungszustände bzw. Performancezustände eines Prozessors bereitgestellt.
  • In einer Ausführungsform umfasst ein Gehäuse eine erste Verarbeitungsplatine mit einem Prozessor und eine zweite Verarbeitungsplatine mit einem Prozessor. Jede der Verarbeitungsplatinen umfasst mehrere Servereinschübe bzw. Dienstleistungsträger innerhalb eines einzelnen Gehäuses. Unter einer derartigen Konzentration an Systemen in einem einzelnen Gehäuse können die Betriebsumgebungsbedingungen in einem Teil des Gehäuses andere Bereiche des Gehäuses beeinflussen. In einer Ausführungsform ist ein Dienstleistungsprozessor mit dem Gehäuse über eine Verbindung gekoppelt. Die zweite Verarbeitungsplatine ist ausgebildet, einen Wert zu speichern, der einen maximalen Prozessorleistungszustand für einen Prozessor auf der zweiten Platine angibt. In Reaktion auf eine erkannte Anforderung für einen Übergang in einen ersten Prozessorleistungszustand ist der Prozessor auf der zweiten Platine ausgebildet, in den ersten Prozessorleistungszustand überzugehen, wenn der erste Prozessorzustand niedriger oder gleich ist zu dem maximalen Prozessorleistungszustand; der Prozessor ist ferner ausgebildet, in den maximalen Prozessorleistungszustand überzugehen, wenn der erste Prozessorzustand höher als der maximale Prozessorzustand liegt. Die zweite Prozessorplatine kann den Wert speichern, wenn eine Betriebsumgebungsbedingung an anderer Stelle des Gehäuses erkannt wird.
  • In einer Ausführungsform wird die Betriebsumgebungsbedingung durch die erste Verarbeitungsplatine erfasst und an den Dienstleistungsprozessor berichtet. In Reaktion auf die berichtete Bedingung überträgt der Dienstleistungsprozessor einen Befehl an die zweite Verarbeitungsplatine, die ausgebildet ist, den Wert daraufhin zu speichern, dass der Befehl empfangen wird. Des weiteren berichtet der Prozessor auf der zweiten Verarbeitungsplatine an ein Betriebssystem, dass er in den ersten Prozessorzustand übergegangen ist, selbst wenn der Prozessor tatsächlich in einen Zustand mit maximaler Prozessorleistung übergegangen ist, der sich von dem ersten Prozessorzustand unterscheidet.
  • Diese und weitere Ausführungsformen sind hierin mit eingeschlossen und gehen auch aus dem Studium der folgenden Beschreibung und der Figuren hervor.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Aufgaben und Vorteile der Erfindung gehen aus dem Studium der folgenden detaillierten Beschreibung unter Bezugnahme auf die begleitenden Zeichnungen hervor, in denen:
  • 1 eine Blockansicht einer Ausführungsform eines Computersystems ist;
  • 2 eine Ausführungsform für die Verwaltung von Prozessorleistungszuständen zeigt;
  • 3 eine Ausführungsform eines Verfahrens zum Einprägen einer Leistungszustandsgrenze in einem Prozessor zeigt;
  • 4 eine Ausführungsform eines Verfahrens zum Verwalten von Prozessorleistungszuständen in einem System zeigt;
  • 5 eine Ausführungsform eines Verfahrens zum Verwalten von Prozessorleistungszuständen in einem System darstellt;
  • 6 eine Blockansicht einer Ausführungsform eines Computersystems ist.
  • Obwohl die Erfindung diversen Modifizierungen und alternativen Formen unterliegen kann, sind dennoch spezielle Ausführungsformen beispielhaft in den Zeichnungen gezeigt und werden hierin detailliert beschrieben. Es sollte jedoch beachtet werden, dass die Zeichnungen und die detaillierte Beschreibung nicht beabsichtigen, die Erfindung auf spezielle offenbarte Form einzuschränken, sondern es sollen alle Modifizierungen, Äquivalente und Alternativen abgedeckt werden, die innerhalb des Grundgedankens und des Schutzbereichs der vorliegenden Erfindung liegen, wie sie durch die angefügten Patentansprüche definiert ist.
  • Arten zum Ausführen der Erfindung
  • Wie zuvor erläutert ist, können Bedingungen in einem Teil eines Gehäuses in anderen Teilen des Gehäuses unbeobachtet bleiben. Während etwa die thermischen Bedingungen in einem ersten Teil eines Gehäuses ein nicht akzeptables Niveau erreichen, können Prozessoren in einem anderen Teil des Gehäuses weiterhin mit voller Prozessorleistung arbeiten. Folglich ist das Lösen des Problems der nicht akzeptablen thermischen Verhältnisse schwierig. Es ist daher wünschenswert, andere Einrichtungen zu schaffen, die außerhalb des Betriebssystems oder der Software liegen und die in der Lage sind, eine Änderung von Prozessorleistungszustandswerten (p-Zustand) herbeizuführen. Diese Einheit kann als eine p-Zustandsbegrenzung bezeichnet werden. In einer Ausführungsform umfasst die p-Zustandsbegrenzung ein von extern zugreifbares Steuerregister in dem Prozessor, das den höchsten p-Zustandswert enthält, den der Prozessorkern erreichen kann. Wenn eine Einheit außerhalb des Betriebssystems eine p-Zustandsbegrenzung über die Schnittstelle für externe Befehle installiert, bleibt der aktuelle p-Zustand des Kerns gleich, wenn dieser Zustand gleich oder unterhalb dem Leistungspegel der p-Zustandsbegrenzung selbst liegt. Wenn der aktuelle p-Zustand eines Kerns sich in einem höheren Leistungsmodus als dem durch die p-Zustandsbegrenzung vorgegebenen befindet, wird der p-Zustand des Kerns so geändert, dass dieser mit der p-Zustandsbegrenzung übereinstimmt. Solange die p-Zustandsbegrenzung nicht angehoben wird, kann das Betriebssystem oder eine Software den tatsächlichen p-Zustandswert des Kerns als die p-Zustandsbegrenzung wählen. Jedoch kann der p-Zustand auf einen geringeren Leistungszustand gesetzt werden. In diversen Ausführungsformen ist eine Möglichkeit zur Verriegelung einer p-Zustandsbegrenzung vorgesehen. Beispielsweise ist ein spezielles Bit vorgesehen, um zu bestimmen, ob die p-Zustandsbegrenzung den p-Zustand des Kerns auf den p-Zustandsbegrenzungswert festlegen soll oder nicht. Eine derartige Verriegelungsfähigkeit ermöglicht es, dass eine Leistungsanalyse an einer Maschine ohne den Aufwand von Änderungen der p-Zustände durchgeführt werden kann.
  • 1 zeigt eine Ausführungsform eines Rechnersystems. In der gezeigten Ausführungsform ist ein Gehäuse 110 gezeigt, das vier Prozessorplatinen 120a bis 120d enthält. In einer Ausführungsform umfasst das Gehäuse 110 ein Trägergehäuse und jede der Platinen 120 enthält einen Serverträger bzw. Dienstleistungsträger. Jedoch sind auch Ausführungsformen ohne Trägerelemente unter Anwendung eines Gehäuses mit Prozessorplatinen möglich und sind hierin mit eingeschlossen. In 1 ist ferner ein Dienstleistungsprozessor 132 gezeigt, der mit dem Gehäuse 110 über eine Verbindung 142 gekoppelt ist. Die Ver bindung 142 umfasst beispielsweise ein Nahbereichsnetzwerk, das Internet oder eine andere geeignete Verbindung. Im hierin verwendeten Sinne können Komponenten, die mit einer Zahl gefolgt von einem Buchstaben benannt sind, gemeinsam mit der Zahl alleine bezeichnet werden. Beispielsweise können die Prozessorplatinen 120a bis 120d gemeinsam als Prozessorplatinen 120 bezeichnet werden. Im Folgenden wird im Allgemeinen auf Gehäuse für Server- bzw. Dienstleistungsrechner und diesbezügliche Verfahren und Mechanismen Bezug genommen, um die Erläuterung zu vereinfachen. Es ist jedoch zu beachten, dass ein „Gehäuse” andere Arten von Gehäusen umfasst, als sie für Server-artige Gehäuse eingesetzt werden. Beispielsweise repräsentiert in 1 das Gehäuse 102 ein Datenzentrum. Ein derartiges Datenzentrum enthält mehrere Server- bzw. Dienstleitungsrechner und/oder andere Geräte. Folglich sollte der Begriff „Gehäuse” nicht auf Einrichtungen begrenzt gesehen werden, wie sie in den Figuren dargestellt sind.
  • In dem gezeigten Beispiel enthält die Platine 120a eine zentrale Recheneinheit (CPU) 120, einen Speicher (MEM) 140 und eine Verwaltungssteuerung 150. In einer Ausführungsform umfasst die Verwaltungssteuerung 150 eine Basisplatineverwaltungssteuerung (BMC), die ausgebildet ist, Funktionen entsprechend der intelligente Plattformverwaltungsschnittstellen-(IPMI)Spezifikation zu unterstützen. Allgemein gesagt, ist die IPMI ein Schnittstellenstandard, der verwendet werden kann, um ein Computersystem und dessen Funktionsstatus zu überwachen. Es sind auch andere Ausführungsformen, die nicht auf Basis des IPMI arbeiten, möglich und hierin mit eingeschlossen. Andere Platinen 120b bis 120d können ähnlich zur Platine 120a aufgebaut sein.
  • In einer Ausführungsform ist jede der Platinen 120 mit einer Leiterplatte (nicht gezeigt) in der Art einer Busleiterplatte verbunden. Beispielsweise ist die Platine 120a so gezeigt, dass diese mit einem Stecker 122a verbunden ist, der wiederum dazu dient, die Platine 120a mit einer Busleiterplatine zu verbinden. Auch sind in der Ausführungsform aus 1 Sensoren 170 und 172 gezeigt. Die Sensoren 170 sind so gezeigt, dass sie auf der Platine 120a angebracht sind, und die Sensoren 172 sind so dargestellt, dass sie außerhalb der Platinen 120 angebracht sind. Die Sensoren 172 sind beispielsweise mit einer Busleiterplatte oder einer anderen Platine verbunden oder sind innerhalb des Gehäuses 110 untergebracht. Die Sensoren 170, 172 sind ausgebildet, diverse Betriebsbedingungen des Systems 100 zu erkennen. Derartige Bedingungen beinhalten die Temperatur, die Geschwindigkeit des Kühlergebläses, den Leistungsmodus, den Status des Betriebssystems (OS), und dergleichen.
  • In einer Ausführungsform ist die Steuerung 150 ausgebildet, Betriebsbedingungen des Systems 100 über die Sensoren 170 und/oder 172 zu überwachen. Des weiteren ist die Steuerung 150 so gezeigt, dass diese über einen Bus 152 mit der Verbindung 142 gekoppelt ist. Auf diese Weise kann der Dienstleistungsprozessor 132 auf die Steuerung 150 zugreifen (sowie auf andere Steuerungen innerhalb des Gehäuses 110), um die Betriebsbedingungen zu überwachen. In der gezeigten Ausführungsform ist die Steuerung 150 mit der CPU 130 über den Bus 154 gekoppelt. In einer Ausführungsform umfasst der Bus 154 eine bandexterne Kommunikationsverbindung, etwa einen SM-Bus. Jedoch kann auch eine beliebige andere geeignete Kommunikationsverbindung zwischen der Steuerung 150 und anderen Komponenten oder Geräten innerhalb des Gehäuses 110 eingesetzt werden.
  • In der gezeigten Ausführungsform enthält die CPU 130 Register 180 und 182. Das Register 180 umfasst ein Register zur Verwendung in Verbindung mit der Leistungs- und/oder Leistungsverhaltensverwaltung (beispielsweise für Funktionen im Zusammenhang mit ACPI). Beispielsweise enthält das Register 180 Daten, die einen p-Zustand des Prozessors angeben. In einer Ausführungsform liegen die p-Zustände des Prozessors im Bereich von 0 bis 5, wobei die 0 den höchsten Leistungspegel repräsentiert und 5 den niedrigsten Leistungspegel angibt (beispielsweise einen untätigen Zustand). Jedoch können auch andere Bereiche und Zahlen an p-Zuständen angewendet werden. Des weiteren initiiert ein Schreibvorgang in das Register 180 eine Änderung eines p-Zustands der CPU 130. In diversen Ausführungsformen kann auf das Register 180 nicht von Einheiten außerhalb der CPU 130 zugegriffen werden. Das Register 182 umfasst ein Prozessorleistungs-„Begrenzungs”-Register, auf das von Einheiten außerhalb der CPU 120 zugegriffen werden kann. In einer Ausführungsform enthält die CPU 130 beide Register 180 und 182 für das Verwalten der Leistungszustände (p-Zustände) des Prozessors. In dem gezeigten Beispiel wird auf das Register 182 von der Steuerung 150 zugegriffen. Da auf die Steuerung 150 durch den Dienstleistungsprozessor 122 zugegriffen werden kann und/oder durch andere Geräte innerhalb des Gehäuses 110 (beispielsweise über die Busleiterplatte), kann auf das Register 182 im Allgemeinen durch eine Vielzahl von Einheiten außerhalb der CPU 130 über die Steuerung 150 zugegriffen werden. Zu beachten ist, dass obwohl zwei unterschiedliche Register 180 und 182 gezeigt sind, beliebige geeignete Speichereinrichtungen verwendet werden können. Beispielsweise kann ein einzelnes Speicherbauelement, das Bereiche enthält, die extern abrufbar sind, und Bereiche enthält, die nicht extern abrufbar sind, verwendet werden.
  • Wie zuvor erläutert ist, sind Sensoren in dem Computersystem eingebaut und berichten an die BMC. Es können somit diverse Bedingungen oder Parameter, etwa die Temperatur, die Geschwindigkeit des Lüfters und der Leistungsmodus überwacht und berichtet werden. In Reaktion auf das Erkennen diverser Bedingungen liefert die BMC einen Alarm, der dann zu einem Systemadministrator über das Netzwerk übertragen werden kann. Allgemein gesagt, kann eine externe Einheit, etwa die Steuerung 150, nicht direkt auf den Prozessorstatus der CPU 130 zugreifen oder diesen steuern. Jedoch kann in der gezeigten Ausführungsform die Steuerung 150 die p-Zustände der CPU 130 indirekt über das Register 182 beeinflussen. Insbesondere kann, wie nachfolgend beschrieben ist, die Steuerung 150 den p-Zustand der CPU 120 begrenzen, indem ein maximaler p-Zustand festgelegt wird. Das Register 182 kann ferner Daten enthalten (beispielsweise ein Bit), das angibt, dass die aktuell festgelegte p-Zustandsgrenze an der p-Zustandsbegrenzung zu verriegeln ist. Allgemein gesagt, enthält ein Prozessor ein von außen zugreifbares Register (p-Zustandsgrenzregister), das ausgebildet ist, Daten zu speichern, die einen maximalen p-Zustand angeben, bei welchem der Prozessor betrieben werden kann. Wenn der Prozessor erkennt, dass eine Änderung des p-Zustands angefordert wird (beispielsweise durch das Betriebssystem), wird das p-Zustandsgrenzregister angesprochen, um zu bestimmen, ob der angeforderte p-Zustand mit einem aktuellen maximalen p-Zustand in Konflikt steht. Des weiteren kann eine Änderung in der p-Zustandsgrenze den Prozessor ferner veranlassen, eine Prüfung auszuführen, dass der aktuelle p-Zustand nicht mit der neu festgelegten Grenze in Konflikt ist.
  • Im Gegensatz zu dem Beispiel eines Server-Rechners kann ein Datenzentrum 102 Beschränkungen oder Betriebsbedingungen besitzen, die zu einer Änderung des p-Zustands von Systemen führen, die innerhalb des Datenzentrums 102 arbeiten. Beispielsweise kann das Datenzentrum 102 Leistungsbeschränkungen aufweisen, die wiederum p-Zustandsgrenzen für die Systeme auferlegen, die innerhalb des Datenzentrums 102 arbeiten. In anderen Fällen kann der Dienstleistungsprozessor 132 Bedingungen innerhalb des Datenzentrums 102 erkennen, die so sind, dass ein reduzierter p-Zustand für Systeme in dem Datenzentrum wünschenswert ist. Beispielsweise kann der Dienstleistungsprozessor 132 Berichte diverser Dienstleistungsrechner (beispielsweise des Serverrechners 110 und anderer nicht gezeigter Rechner) empfangen, wodurch thermische Bedingungen innerhalb des Datenzentrums selbst angezeigt werden, die zunehmend problematisch werden. In Reaktion drauf kann der Dienstleistungsprozessor Befehle zu einer geeigneten Anzahl an Dienstleistungsrechnern in dem Datenzentrum 102 übertragen, um deren p-Zustände zu begrenzen. Es sind zahlreiche derartige Alternativen möglich und hierin mit eingeschlossen.
  • 2 zeigt eine Ausführungsform eines Verfahrens zum Verwalten der p-Zustände eines Prozessors. In dem gezeigten Beispiel wird eine Änderung eines p-Zustandes eines Prozessors durch ein Betriebssystem in einem Prozessor initiiert, das ausgebildet ist, p-Zustandsgrenzen zu unterstützen. Wie gezeigt kann, wenn ein Übergang in einen neuen p-Zustand angefordert wird (Entscheidungsblock 200), das Betriebssystem dann die Änderung des p-Zustands initiieren (Block 202). In Reaktion darauf bestimmt der Prozessor, ob der angeforderte neue p-Zustand tiefer oder gleich ist zu einer p-Zustandsgrenze, die gesetzt ist (Entscheidungsblock 204). Wenn der angeforderte p-Zustand kleiner oder gleich der Grenze ist, dann geht der Prozessor in den neuen geforderten p-Zustand über. In einer Ausführungsform beinhaltet der Übergang in einen neuen p-Zustand, dass das Betriebssystem einen Prozessortreiber aufruft, wobei der Treiber eine Spannung des Prozessors ändert, wenn dies für die Vorbereitung für die Änderung des p-Zustands erforderlich ist, und wobei der Treiber den Prozessor in den neuen p-Zustand überführt und eine Änderung der Prozessorspannung, die für den neuen p-Zustand erforderlich herbeiführt.
  • Wenn andererseits der angeforderte p-Zustand nicht kleiner ist als der oder gleich ist dem Grenzwert, dann gibt es einen Konflikt zwischen dem neu angeforderten p-Zustand und der eingerichteten Grenze. In einem derartigen Falle kann der Prozessor den p-Zustand ändern, aber nicht auf einen Wert, der größer als die Grenze ist. Anders ausgedrückt, der Prozessor kann den p-Zustand für einen Wert gleich der Grenze setzen (Block 208). Obwohl das Betriebsystem einen Übergang in einen gewünschten p-Zustand initiieren kann, ist jedoch der aktuelle resultierende p-Zustand begrenzt. Ferner ist dem Betriebssystem unter Umständen nicht bewusst, dass der p-Zustand begrenzt war. Auf diese Weise bildet die p-Zustandsgrenze eine Deckelung des Zustands des Leistungsverhaltens bzw. des Performancezustands des Prozessors.
  • 3 zeigt eine alternative Ausführungsform. Während 2 einen Ablauf darstellt, in welchem ein Betriebssystem eine p-Zustandsänderung initiiert, zeigt 3 einen Ablauf, in welchem eine neue p-Zustandsgrenze in einem Prozessor durch eine externe Einheit „eingeprägt” wird. Beispielsweise prägt die Steuerung 150 aus 1 eine p-Zustandsgrenze in die CPU 130 durch Ausführen eines Schreibvorgangs in das Register 182 ein. In Reaktion auf das Einprägen einer p-Zustandsgrenze (Entscheidungsblock 300) erkennt der Prozessor den eingeprägten p-Zustand (beispielsweise durch Erkennen eines Schreibvorgangs in das Register) und bestimmt, ob der neu eingeprägte p-Zustand tiefer liegt als der aktuelle p-Zustand des Prozessors (Entscheidungsblock 302). Wenn nicht, dann wird keine Änderung in dem Prozessor p-Zustand ausgeführt. Wenn jedoch die eingeprägte p-Zustandsgrenze kleiner ist als der aktuelle p-Zustand, dann initiiert der Prozessor eine Änderung des Prozessor p-Zustands entsprechend dem neu eingeprägten p-Zustand. Auf diese Weise wird der Mechanismus auf Basis des Betriebssystems zur Änderung von p-Zuständen umgangen.
  • In einer Ausführungsform sind die Prozessor-Zustandsgrenzen vollständig transparent für das Betriebssystem. Wenn etwa das Betriebssystem eine Änderung eines p-Zustands auf 3 anfordert, dann kann der Prozess dies bestätigen und dem Betriebssystem berichten, dass der p-Zustand auf einen Zustand 3 geändert wurde – selbst wenn der Prozessor p-Zustand tatsächlich auf einen anderen Wert begrenzt ist. In einer derartigen Ausführungsform arbeitet das Betriebssystem mit Information weiter, die angibt, dass der Prozessor aktuell in einem p-Zustand von 3 arbeitet. Wenn das Betriebssystem eine Änderung auf einen p-Zustand anfordert, der eine aktuelle Grenze übersteigt, dann berichtet der Prozessor, dass er eine derartige Änderung vornimmt, wobei er aber tatsächlich keine Änderung des p-Zustands vornimmt. In anderen Ausführungsformen erhält das Betriebssystem genaue Informationen im Hinblick auf p-Zustandsänderungen.
  • In 4 ist eine Ausführungsform eines Verfahrens gezeigt, das ein Zusammenspiel zwischen einem Mechanismus auf Basis des Betriebssystems und einen Mechanismus auf Basis des Prozessors zur Änderung von p-Zuständen darstellt. In dem gezeigten Beispiel fordert ein Betriebssystem eine p-Zustandsänderung oder initiiert diese anderweitig (Block 400). Wenn der angeforderte p-Zustand nicht größer ist als eine aktuelle p-Zustandsgrenze (Entscheidungsblock 402), dann kann der Prozessor eine Änderung in den angeforderten p-Zustand durchführen. Wenn der angeforderte p-Zustand größer ist als die p- Zustandsgrenze (Entscheidungsblock 402), dann wird der Prozessor p-Zustand auf den Grenz-p-Zustand anstatt auf den angeforderten p-Zustand geändert. Nachfolgend wird eine höhere p-Zustandsgrenze eingeprägt, wie dies zuvor beschrieben ist (Block 408). Wenn der vorhergehende p-Zustand, der von dem Betriebssystem angefordert wurde, höher war als der aktuelle Grenz-p-Zustand, wird der Prozessor in die neu eingeprägte p-Zustandsgrenze oder den zuvor angeforderten p-Zustand übergeführt, je nach dem welcher dieser beiden Zustände kleiner ist. Es sind zahlreiche derartige Szenarien möglich und hierin mit eingeschlossen.
  • 5 zeigt eine Ausführungsform eines Verfahrens zur Anwendung der zuvor beschriebenen Verfahren und Mechanismen in einem System. Wie oben erläutert ist, wissen zuständige gewisse Beobachtungskomponenten in einem Teil eines Gehäuses nicht Bescheid über Bedingungen in anderen Teilen des Gehäuses. Während Bedingungen für einen Prozessor in einem Bereich eines Gehäuses zunehmend problematisch werden, hat ein Prozessor in einem anderen Bereich des Gehäuses ggf. keine Kenntnis über derartige Probleme. Folglich fährt ein Prozessor fort, mit voller Leistungsfähigkeit und zugeführter Leistung zu arbeiten, wodurch eine ausgeprägte Menge an Abwärme erzeugt wird, während ein weiterer Prozessor oberhalb gewünschter thermischer Bedingungen arbeitet. Unter Anwendung der zuvor beschriebenen Lösungen kann das Prozessorleistungsverhalten in diversen Bereichen eines Gehäuses bzw. einer Betriebsumgebung in Reaktion auf Bedingungen, wie sie anderen Ortes innerhalb eines Gehäuses herrschen, geändert werden.
  • In 5 wird eine Bedingung in einem Teil eines Gehäuses erfasst (Entscheidungsblock 500). Beispielsweise erkennt eine Steuerung (etwa die Steuerung 150 in 1) in einem Server-Träger thermische Bedingungen, die nicht akzeptable Werte erreichen. In Reaktion darauf wird das Prozessorleistungsverhalten auf diesem Träger verringert. Gleichzeitig erkennt ein Server-Träger an einem anderen Ort innerhalb des gleichen Gehäuses keine thermischen Probleme auf Grund seiner Sensoren/Monitoren. Folglich arbeitet der Prozessor auf diesen Träger weiterhin mit seinem vollen Leistungsverhalten – wodurch zusätzlich Wärme innerhalb des Gehäuses erzeugt wird.
  • In Reaktion auf die erkannten thermischen Bedingungen auf dem ersten Server- bzw. Dienstleistungsträger werden die Bedingungen an einen Dienstleistungsprozessor und/oder an die Administratorkonsole berichtet (Block 502). Der Dienstleistungsprozessor liefert ei nen Alarm, der dann manuell von einem Administrator oder automatisch durch Software abgearbeitet werden kann. In Reaktion darauf erzeugt der Dienstleistungsrechner Befehle und gibt diese an ein oder mehrere Geräte in dem Gehäuse aus (Block 504). Beispielsweise überträgt in Reaktion auf die berichteten thermischen Bedingungen in einem ersten Teil des Gehäuses der Dienstleistungsrechner einen oder mehrere Befehle zu einem oder mehreren Trägern oder Einschüben, die nicht dem Träger entsprechen, von dem diese Bedingungen berichtet wurden. Diese anderen Träger bzw. Gehäusebereiche liegen in einem anderen Teil des Gehäuses als der Bericht erstattende Träger. Der oder die Befehle enthalten Befehle für die p-Zustandsgrenze, die die Prozessoren auf dem einen oder den mehreren anderen Trägern veranlassen, den p-Zustand auf einen geringeren Wert zu begrenzen. Ein ähnlicher Befehl kann auch zu dem Bericht erstattenden Träger übertragen werden. Auf diese Weise können p-Zustände von anderen Prozessoren als dem Prozessor, der unmittelbar durch die thermische Bedingung beeinflusst ist, geändert werden. Folglich kann eine vollständigere Übersicht über das Gehäuse als ganzes beibehalten werden, und es kann auf die Bedingungen in entsprechender Weise reagiert werden.
  • 6 zeigt eine Ausführungsform eines Computersystems 10, in welchem die zuvor beschriebenen Verfahren und Mechanismen eingerichtet sind. Das Computersystem 10 umfasst mehrere Verarbeitungsknoten 12a, 12b, 12c und 12d. Jeder Verarbeitungsknoten ist mit einem entsprechenden Speicher 14a bis 14d über eine zugeordnete Speichersteuerung 16a bis 16d verbunden. Des weiteren umfasst jeder Verarbeitungsknoten 12a bis 12d eine Schnittstellenlogik 18a bis 18d, die zur Kommunikation mit anderen der Verarbeitungsknoten 12a bis 12d verwendet wird. Beispielsweise enthält der Verarbeitungsknoten 12a die Schnittstellenlogik 18a zur Kommunikation mit den Verarbeitungsknoten 12d und 12c. In ähnlicher Weise enthält der Verarbeitungsknoten 12b die Schnittstellenlogik 18b zur Kommunikation mit dem Verarbeitungsknoten 12a und 12b usw. In der Ausführungsform aus 6 ist der Verarbeitungsknoten 12d so gezeigt, dass dieser zur Kommunikation mit einer Eingabe/Ausgabe-(I/O)Einrichtung 20a über die Schnittstellenlogik 18d verbunden ist, und die I/O-Einrichtung 20a ist ferner mit einer zweiten I/O-Einrichtung 20b verbunden. Andere Verarbeitungsknoten können mit anderen I/O-Einrichtungen in ähnlicher Weise in Verbindung stehen. Alternativ ist ein Verarbeitungsknoten mit einer I/O-Brücke verbunden, die mit einem I/O-Bus verbunden ist.
  • Das Computersystem 10 unterhält eine paketbasierte Verbindung für die Kommunikation zwischen den einzelnen Knoten. In der dargestellten Ausführungsform ist die Verbindung als eine Gruppe aus unidirektionalen Leitungen (beispielsweise werden Leitungen 24a verwendet, um Pakete von dem Verarbeitungsknoten 12a zu dem Verarbeitungsknoten 12b zu senden, und Leitungen 24b werden verwendet, um Pakete von dem Verarbeitungsknoten 12b zu dem Verarbeitungsknoten 12a zu senden) eingerichtet. Andere Gruppen an Leitungen 24c bis 24h werden verwendet, um Pakete zwischen anderen Verarbeitungsknoten auszutauschen, wie dies in 6 gezeigt ist. Die Verbindung kann in einer mit dem Cache-Speicher kohärenten Weise betrieben werden, um eine Kommunikation zwischen dem Verarbeitungsknoten einzurichten, oder kann in einer mit dem Cache – nicht kohärenten Weise als eine Kettenstruktur zwischen den I/O-Einrichtungen 20a bis 20b (und nach Bedarf zwischen weiteren I/O-Einrichtungen) eingerichtet sein. Zu beachten ist, dass ein von einem Verarbeitungsknoten zu einem anderen zu sendendes Paket durch einen oder mehrere Zwischenknoten laufen kann. Beispielsweise läuft ein Paket, das von dem Verarbeitungsknoten 12a zu dem Verarbeitungsknoten 12d gesendet wird, durch den Verarbeitungsknoten 12b oder den Verarbeitungsknoten 12c, wie dies in 6 gezeigt ist. Es kann ein beliebiger geeigneter Signalführungsalgorithmus verwendet werden. In anderen Ausführungsformen des Computersystems 10 sind mehr oder weniger Verarbeitungsknoten als in der in 6 gezeigten Ausführungsform vorgesehen. Des weiteren sind andere Ausführungsformen möglich, in denen jeder Verarbeitungsknoten mit jedem anderen Verarbeitungsknoten durch ein Punkt-zu-Punkt-Netzwerk verbunden ist.
  • Zusätzlich zu der dargestellten Speichersteuerung und der Schnittstellenlogik kann jeder Verarbeitungsknoten 12a bis 12d einen oder mehrere Prozessoren und verbundene Cache-Speicher aufweisen, wie dies nachfolgend beschrieben ist. Allgemein gesagt, umfasst ein Verarbeitungsknoten zumindest einen Prozessor und kann optional eine Speichersteuerung zur Kommunikation mit einem Speicher oder anderer Logik nach Bedarf enthalten. Zu beachten ist, dass die Begriffe „Verarbeitungsknoten” und „Prozessorknoten” hierin synonym verwendet werden.
  • Die Speicher 14a bis 14d umfassen beliebig geeignete Speichereinrichtungen. Beispielswiese enthalten die Speicher 14a bis 14d einen oder mehrere RAMBUS (RDRAM's), synchrone DRAM's (SDRAM's), DRAM, statische RAM, etc. Der Adressenraum des Computersystems 10 ist auf die Speicher 14a bis 14d aufgeteilt. Jeder Verarbeitungsknoten 12a bis 12d enthält eine Speicherzuordnung, die verwendet wird, um zu bestimmen, welche Adressen welchen Speichern 14a bis 14b zugeordnet sind und welchem Verarbeitungsknoten 12a bis 12d eine Speicheranforderung für eine spezielle Adresse zuzuleiten ist. Der spezielle Verarbeitungsknoten, der einer gegebenen Speicheradresse zugeordnet ist, kann im Weiteren als der Basisknoten dieser Adresse bezeichnet werden. In einer Ausführungsform ist der Kohärenzpunkt für eine Adresse innerhalb des Computersystems 10 die Speichersteuerung 16a bis 16d, die mit dem Speicher zur Speicherung von Bytes entsprechend der Adresse verbunden ist. Die Speichersteuerungen 16a bis 16d enthalten Steuerschaltungen zur Kommunikation mit den Speichern 14a bis 14d. Des weiteren enthalten die Speichersteuerungen 16a bis 16d Anforderungswarteschlagen, um Speicheranforderungen zu speichern.
  • Im Allgemeinen umfasst die Schnittstellenlogik 18a bis 18d Puffer zum Empfangen von Paketen aus der Verbindung und zur Pufferung von Paketen, die über die Verbindung zu senden sind. Das Computersystem 10 kann einen beliebigen geeigneten Flusssteuerungsmechanismus für die Verbindungsebenen zum Senden von Paketen in zuverlässiger Weise anwenden. Die Kommunikation zwischen dem Verarbeitungsknoten 12a bis 12d des Computersystems 10 kann unter diversen speziellen paketbasierten Nachrichtentechniken nach Bedarf erfolgen.
  • Die I/O-Einrichtungen 20a bis 20b sind lediglich anschaulicher Natur für beliebige gewünschte periphere Einrichtungen. Beispielsweise umfassen die I/O-Einrichtungen 20a bis 20b Netzwerkschnittstellenkarten, Videobeschleuniger, Audiokarten, Festplatten oder Laufwerke oder Laufwerkssteuerungen, SCSI-(Kleincomputersystemschnittstellen)Adapter und Telefoniekarten, Modems, Klangkarten und eine Vielzahl von Datennahmekarten, etwa GPIB oder Feldbusschnittstellenkarten.
  • Es sind zahlreiche Variationen und Modifikationen für den Fachmann bei Würdigung der vorliegenden Offenbarung ersichtlich. Obwohl die vorhergehende Erläuterung sich auf Leistungsbedingungen oder thermische Bedingungen beruft, können beispielsweise p-Zustandsgrenzen für beliebige gewünschte Gründe angewendet werden. Beispielsweise können die p-Zustandsgrenzen geändert werden, um einem ausgelasteten System mehr Verarbeitungsleistung zuzuführen. Gleichzeitig können p-Zustandsgrenzen geändert werden, um die Verarbeitungsleistung für ein System zu verringern, das nicht vollständig aus gelastet ist. Es sind zahlreiche Szenarien möglicht und hierin mit eingeschlossen. Es ist beabsichtigt, dass die folgenden Patentansprüche so interpretiert werden, dass alle derartigen Variationen und Modifizierungen enthalten sind.
  • Industrielle Anwendbarkeit
  • Diese Erfindung ist allgemein auf Mikroprozessoren anwendbar.
  • Zusammenfassung
  • Ein System und ein Verfahren zur Verwaltung der Leistungszustände eines Prozessors werden bereitgestellt. Ein Gehäuse umfasst eine erste Verarbeitungsplatine mit einem Prozessor und eine zweite Verarbeitungsplatine mit einem Prozessor. Ein Dienstleistungsprozessor ist ebenfalls mit dem Gehäuse über eine Verbindung gekoppelt. Die zweite Verarbeitungsplatine ist ausgebildet, einen Wert zu speichern, der den maximalen Prozessorleistungszustand für einen Prozessor auf der zweiten Platine angibt. In Reaktion auf eine erkannte Anforderung für einen Übergang in einen ersten Prozessorleistungszustand ist der Prozessor auf der zweiten Platine ausgebildet, in den ersten Prozessorleistungszustand überzugehen, wenn der erste Prozessorzustand kleiner oder gleich ist dem maximalen Prozessorleistungszustand; und dieser ist ferner ausgebildet, in den maximalen Prozessorleistungszustand überzugehen, wenn der erste Prozessorzustand größer ist als der maximale Prozessorzustand. Die zweite Bearbeitungsplatine speichert den Wert in Reaktion auf die Betriebsumgebungsbedingung, die an einer anderen Stelle innerhalb des Gehäuses erfasst wird.

Claims (10)

  1. Verfahren zum Verwalten eines Prozessorleistungsverhaltens, wobei das Verfahren umfasst: Speichern eines Wertes, der einen maximalen Prozessorleistungszustand angibt; Erfassen einer Anforderung (200) für einen Übergang in einen ersten Prozessorleistungszustand; Überführen des Prozessors in den ersten Prozessorleistungszustand (212, 214, 216) in Reaktion darauf, dass bestimmt wird, dass der erste Prozessorzustand niedriger ist als der oder gleich ist dem maximalen Prozessorleistungszustand (202); und Überführen des Prozessors in den maximalen Prozessorleistungszustand (222, 224, 226) in Reaktion darauf, dass bestimmt wird, dass der erste Prozessorzustand höher als der maximale Prozessorzustand (202) ist.
  2. Verfahren nach Anspruch 1, das ferner umfasst: Erfassen der Betriebsumgebungsbedingung in einem ersten Teil eines Gehäuses (170, 172); Berichten der Betriebsumgebungsbedingung an einen entfernten Dienstleistungsprozessor (132); Übertragen eines Befehls von dem Dienstleistungsprozessor zu einem zweiten Bereich des Gehäuses; und Speichern des Wertes in Reaktion auf das Empfangen des Befehls.
  3. Verfahren nach Anspruch 2, wobei die Betriebsumgebungsbedingung nicht in dem zweiten Teil des Gehäuses erfasst wird.
  4. System zur Verwaltung eines Prozessorleistungsverhaltens, wobei das System umfasst: ein Gehäuse (102) mit einer ersten Verarbeitungsplatine (120a bis 120d), die einen Prozessor (130) aufweist, und mit einer zweiten Verarbeitungsplatine (120a bis 120d), die einen Prozessor (130) aufweist; und einen Dienstleistungsprozessor (132), der mit dem Gehäuse über eine Verbindung (142) verbunden ist; wobei die zweite Verarbeitungsplatine ausgebildet ist: einen Wert zu speichern, der einen maximalen Prozessorleistungszustand angibt; eine Anforderung für einen Übergang in einen ersten Prozessorleistungszustand zu erfassen; den Prozessor in der zweiten Verarbeitungsplatine in den ersten Prozessorleistungszustand überzuführen in Reaktion auf das Bestimmen, dass der erste Prozessorzustand niedriger ist als der oder gleich ist dem maximalen Prozessorleistungszustand; und den Prozessor in der zweiten Verarbeitungsplatine in den maximalen Prozessorleistungszustand in Reaktion darauf überzuführen, dass bestimmt wird, dass der erste Prozessorzustand größer ist als der maximale Prozessorzustand.
  5. System nach Anspruch 4, wobei die Betriebsumgebungsbedingung in dem zweiten Bereich des Gehäuses nicht erkannt wird.
  6. System (100) zum Verwalten einer Prozessorleistung, wobei das System umfasst: eine Steuerung (132), die ausgebildet ist, Betriebsumgebungsbedingungen zu überwachen; und einen Prozessor (120) mit einem Register (182), auf das von außen zugegriffen werden kann, wobei der Prozessor ausgebildet ist, um: eine Anforderung (200) für einen Übergang in einen ersten Prozessorleistungszustand zu erfassen; auf das Register (202) zuzugreifen, um einen maximalen Leistungszustand zu bestimmen; den Prozessor in den ersten Prozessorleistungszustand (212, 214, 216) in Reaktion darauf überzuführen, dass bestimmt wird, dass der erste Prozessorzustand niedriger ist als der oder gleich ist dem maximalen Prozessorleistungszustand (202); und den Prozessor in den maximalen Prozessorleistungszustand (222, 224, 226) in Reaktion darauf überzuführen, dass bestimmt wird, dass der erste Prozessorzustand größer ist als der maximale Prozessorzustand (202).
  7. System nach Anspruch 6, wobei die Steuerung ausgebildet ist, einen Wert, der den maximalen Prozessorleistungszustand angibt, in Reaktion auf eine erfasste Betriebsumgebungsbedingung zu speichern.
  8. System nach Anspruch 7, wobei die Bedingung eine thermische Bedingung umfasst.
  9. System nach Anspruch 6, wobei die Betriebsbedingungsumgebung durch eine Einrichtung außerhalb des Prozessors und der Steuerung umfasst wird, und wobei die Steuerung ausgebildet ist, den Wert in Reaktion auf einen von dem Dienstleistungsprozessor empfangenen Befehl zu speichern.
  10. System nach Anspruch 6, wobei der Prozessor ausgebildet ist, einem Betriebssystem zu berichten, dass der Prozessor in den ersten Prozessorzustand übergegangen ist in Reaktion darauf, dass bestimmt wird, dass der erste Prozessorzustand größer ist als der maximale Prozessorzustand.
DE112007001922T 2006-08-14 2007-08-14 System und Verfahren zur Begrenzung der Prozessorleistung Active DE112007001922B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/503,700 US7747881B2 (en) 2006-08-14 2006-08-14 System and method for limiting processor performance
US11/503,700 2006-08-14
PCT/US2007/017997 WO2008021365A1 (en) 2006-08-14 2007-08-14 System and method for limiting processor performance

Publications (2)

Publication Number Publication Date
DE112007001922T5 true DE112007001922T5 (de) 2009-09-10
DE112007001922B4 DE112007001922B4 (de) 2012-10-11

Family

ID=38819602

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112007001922T Active DE112007001922B4 (de) 2006-08-14 2007-08-14 System und Verfahren zur Begrenzung der Prozessorleistung

Country Status (8)

Country Link
US (1) US7747881B2 (de)
JP (1) JP2010500693A (de)
KR (1) KR20090057006A (de)
CN (1) CN101512462B (de)
DE (1) DE112007001922B4 (de)
GB (1) GB2454400B (de)
TW (1) TWI411913B (de)
WO (1) WO2008021365A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712597B2 (en) * 2007-06-11 2014-04-29 Hewlett-Packard Development Company, L.P. Method of optimizing air mover performance characteristics to minimize temperature variations in a computing system enclosure
US8001402B2 (en) * 2007-12-05 2011-08-16 International Business Machines Corporation Method for power capping with co-operative dynamic voltage and frequency scaling via shared p-state table
US8103884B2 (en) * 2008-06-25 2012-01-24 International Business Machines Corporation Managing power consumption of a computer
US8458498B2 (en) * 2008-12-23 2013-06-04 Intel Corporation Method and apparatus of power management of processor
GB201019265D0 (en) 2010-11-15 2010-12-29 Empress Internat Ltd Fluorescent tube converter and protection circuit
US8707063B2 (en) * 2010-12-21 2014-04-22 Advanced Micro Devices, Inc. Hardware assisted performance state management based on processor state changes
WO2013077891A1 (en) * 2011-11-22 2013-05-30 Intel Corporation Collaborative processor and system performance and power management
US8719607B2 (en) * 2011-12-01 2014-05-06 International Business Machines Corporation Advanced Pstate structure with frequency computation
US10025686B2 (en) * 2012-10-30 2018-07-17 Intel Corporation Generating and communicating platform event digests from a processor of a system
US9218044B2 (en) * 2012-11-27 2015-12-22 International Business Machines Corporation Computing system frequency target monitor
US9323300B2 (en) * 2012-11-27 2016-04-26 International Business Machines Corporation Computing system voltage control
US20160187958A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Techniques for managing power and performance for a networking device
US10359833B2 (en) * 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
US10462059B2 (en) 2016-10-19 2019-10-29 Intel Corporation Hash table entries insertion method and apparatus using virtual buckets
US10402205B2 (en) * 2017-03-02 2019-09-03 Quanta Computer Inc. System and method for dynamically optimizing hardware frequency for booting

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4191942A (en) 1978-06-08 1980-03-04 National Semiconductor Corporation Single slope A/D converter with sample and hold
US4284906A (en) 1979-10-03 1981-08-18 The United States Of America As Represented By The Secretary Of The Navy Constant amplitude variable frequency synchronized linear ramp generator
US4855622A (en) 1987-12-18 1989-08-08 North American Philips Corporation, Signetics Division TTL compatible switching circuit having controlled ramp output
JPH07319574A (ja) * 1994-05-24 1995-12-08 Nippon Telegr & Teleph Corp <Ntt> 温度異常時の装置保護方法及び回路
US5719800A (en) 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5825218A (en) 1996-10-24 1998-10-20 Stmicroelectronics, Inc. Driver circuit including slew rate control system with improved voltage ramp generator
US6385735B1 (en) * 1997-12-15 2002-05-07 Intel Corporation Method and apparatus for limiting processor clock frequency
US6233531B1 (en) 1997-12-19 2001-05-15 Advanced Micro Devices, Inc. Apparatus and method for monitoring the performance of a microprocessor
US6043692A (en) 1998-07-13 2000-03-28 Xilinx, Inc. Circuit and method for generating clock signals with an incrementally reduced effective frequency
US6941480B1 (en) 2000-09-30 2005-09-06 Intel Corporation Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode
US6826704B1 (en) 2001-03-08 2004-11-30 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
US7058824B2 (en) * 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US6624681B1 (en) 2001-07-30 2003-09-23 Advanced Micro Devices, Inc. Circuit and method for stopping a clock tree while maintaining PLL lock
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US6934864B2 (en) * 2002-01-11 2005-08-23 International Business Machines Corporation System and method for co-operative thermal management of electronic devices within a common housing
US6976182B1 (en) 2002-02-01 2005-12-13 Advanced Micro Devices, Inc. Apparatus and method for decreasing power consumption in an integrated circuit
US6988217B1 (en) * 2002-02-27 2006-01-17 Advanced Micro Devices, Inc. Method and mechanism for generating a clock signal with a relatively linear increase or decrease in clock frequency
US6983386B2 (en) 2002-08-12 2006-01-03 Hewlett-Packard Development Company, L.P. Voltage management of blades in a bladed architecture system based on thermal and power budget allocation
US7089459B2 (en) 2002-09-30 2006-08-08 Intel Corporation Limit interface for performance management
US7051215B2 (en) * 2003-06-13 2006-05-23 Intel Corporation Power management for clustered computing platforms
JP2005202506A (ja) * 2004-01-13 2005-07-28 Hitachi Ltd ブレードサーバにおける電力管理システム
JP3811166B2 (ja) * 2004-05-31 2006-08-16 株式会社東芝 電子機器
US7418608B2 (en) 2004-06-17 2008-08-26 Intel Corporation Method and an apparatus for managing power consumption of a server
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
JP2007102313A (ja) * 2005-09-30 2007-04-19 Toshiba Corp 制御装置およびマルチプロセッサ制御方法

Also Published As

Publication number Publication date
CN101512462A (zh) 2009-08-19
GB0902377D0 (en) 2009-04-01
GB2454400A (en) 2009-05-06
WO2008021365A1 (en) 2008-02-21
DE112007001922B4 (de) 2012-10-11
TWI411913B (zh) 2013-10-11
TW200817892A (en) 2008-04-16
GB2454400B (en) 2011-02-23
US20080040622A1 (en) 2008-02-14
US7747881B2 (en) 2010-06-29
CN101512462B (zh) 2011-07-06
JP2010500693A (ja) 2010-01-07
KR20090057006A (ko) 2009-06-03

Similar Documents

Publication Publication Date Title
DE112007001922B4 (de) System und Verfahren zur Begrenzung der Prozessorleistung
DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
DE102005014727B4 (de) Hardwarekoordination von Power Management-Aktivitäten
DE102007021258B4 (de) Leistungszuweisungsmanagement in einem Informationsverarbeitungssystem
DE60128396T2 (de) Computer-peripheriegerät, das betreibbar bleibt, wenn die operationen des zentralprozessors suspendiert werden
DE112005002672B4 (de) Dynamische Neukonfiguration eines Cache-Speichers
DE102007061448B4 (de) Informationsverarbeitungssystem, Verfahren und Verarbeitungsmodul zum Reduzieren von Leistungszuständen für Speichergeräte und zugehörige logische Speichermedien
DE102012210914B4 (de) Switch-Fabric-Management
DE112010002778B4 (de) Rauschunterdrückung zur Begrenzung von falschem Wecken
DE602005005557T2 (de) Modul zur Verminderung der Leistungsaufnahme eines Festplattenlaufwerks
DE102011085335A1 (de) Auf rack-ebene modulares server- und speicher-framework
DE102006048115A1 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE102004025921A1 (de) Speichersystem mit mehreren Schnittstellen sowie Datenzugriffsverfahren in einem derartigen Speichersystem
DE112017004663T5 (de) Mehrfachverbinder-unterstützung für usb-c
DE102004039237A1 (de) Lüfter-Steuerungssystem
DE112006002056T5 (de) Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren
DE112005002405T5 (de) Fehlerverarbeitung für Direktspeicherzugriffs-Adreßübersetzung
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE112010003136T5 (de) Verfahren und Systeme für eine Zwischenelementplatine
DE112014000442T5 (de) Auf Einzelmikroregler beruhendes Management mehrerer Rechenknoten
DE112018007637T5 (de) Fehlermeldung in Verbindungsverlängerungsvorrichtungen
DE102020106208A1 (de) Erweiterte Cloud-Architekturen für Stromausfallabschwächung und flexible Betriebsmittelnutzung
DE102020113225A1 (de) Aufzählung persistenter Vorrichtungen auf dem USB (Universal Serial Bus)
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE112016005816T5 (de) Verfahren und Vorrichtung zum Bereitstellen von Energiezustandsinformationen mithilfe von Inband-Signalisierung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8128 New person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130112

R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES U.S. INC., SANTA CLARA, US

Free format text: FORMER OWNER: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

Owner name: MEDIATEK INC., TW

Free format text: FORMER OWNER: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Representative=s name: HOEFER & PARTNER PATENTANWAELTE MBB, DE

R081 Change of applicant/patentee

Owner name: MEDIATEK INC., TW

Free format text: FORMER OWNER: GLOBALFOUNDRIES U.S. INC., SANTA CLARA, CA, US

R082 Change of representative

Representative=s name: HOEFER & PARTNER PATENTANWAELTE MBB, DE

R008 Case pending at federal patent court
R039 Revocation action filed
R040 Withdrawal/refusal of revocation action now final