DE112007001922T5 - System und Verfahren zur Begrenzung der Prozessorleistung - Google Patents
System und Verfahren zur Begrenzung der Prozessorleistung Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000007704 transition Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 51
- 230000008859 change Effects 0.000 description 20
- 230000015654 memory Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000000969 carrier Substances 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002918 waste heat Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
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
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äuse110 gezeigt, das vier Prozessorplatinen120a bis120d enthält. In einer Ausführungsform umfasst das Gehäuse110 ein Trägergehäuse und jede der Platinen120 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. In1 ist ferner ein Dienstleistungsprozessor132 gezeigt, der mit dem Gehäuse110 über eine Verbindung142 gekoppelt ist. Die Ver bindung142 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 Prozessorplatinen120a bis120d gemeinsam als Prozessorplatinen120 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 in1 das Gehäuse102 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 Verwaltungssteuerung150 . In einer Ausführungsform umfasst die Verwaltungssteuerung150 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 Platinen120b bis120d können ähnlich zur Platine120a 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 Platine120a so gezeigt, dass diese mit einem Stecker122a verbunden ist, der wiederum dazu dient, die Platine120a mit einer Busleiterplatine zu verbinden. Auch sind in der Ausführungsform aus1 Sensoren170 und172 gezeigt. Die Sensoren170 sind so gezeigt, dass sie auf der Platine120a angebracht sind, und die Sensoren172 sind so dargestellt, dass sie außerhalb der Platinen120 angebracht sind. Die Sensoren172 sind beispielsweise mit einer Busleiterplatte oder einer anderen Platine verbunden oder sind innerhalb des Gehäuses110 untergebracht. Die Sensoren170 ,172 sind ausgebildet, diverse Betriebsbedingungen des Systems100 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 Systems100 über die Sensoren170 und/oder172 zu überwachen. Des weiteren ist die Steuerung150 so gezeigt, dass diese über einen Bus152 mit der Verbindung142 gekoppelt ist. Auf diese Weise kann der Dienstleistungsprozessor132 auf die Steuerung150 zugreifen (sowie auf andere Steuerungen innerhalb des Gehäuses110 ), um die Betriebsbedingungen zu überwachen. In der gezeigten Ausführungsform ist die Steuerung150 mit der CPU130 über den Bus154 gekoppelt. In einer Ausführungsform umfasst der Bus154 eine bandexterne Kommunikationsverbindung, etwa einen SM-Bus. Jedoch kann auch eine beliebige andere geeignete Kommunikationsverbindung zwischen der Steuerung150 und anderen Komponenten oder Geräten innerhalb des Gehäuses110 eingesetzt werden. - In der gezeigten Ausführungsform enthält die CPU
130 Register180 und182 . Das Register180 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 Register180 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 Register180 eine Änderung eines p-Zustands der CPU130 . In diversen Ausführungsformen kann auf das Register180 nicht von Einheiten außerhalb der CPU130 zugegriffen werden. Das Register182 umfasst ein Prozessorleistungs-„Begrenzungs”-Register, auf das von Einheiten außerhalb der CPU120 zugegriffen werden kann. In einer Ausführungsform enthält die CPU130 beide Register180 und182 für das Verwalten der Leistungszustände (p-Zustände) des Prozessors. In dem gezeigten Beispiel wird auf das Register182 von der Steuerung150 zugegriffen. Da auf die Steuerung150 durch den Dienstleistungsprozessor122 zugegriffen werden kann und/oder durch andere Geräte innerhalb des Gehäuses110 (beispielsweise über die Busleiterplatte), kann auf das Register182 im Allgemeinen durch eine Vielzahl von Einheiten außerhalb der CPU130 über die Steuerung150 zugegriffen werden. Zu beachten ist, dass obwohl zwei unterschiedliche Register180 und182 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 CPU130 zugreifen oder diesen steuern. Jedoch kann in der gezeigten Ausführungsform die Steuerung150 die p-Zustände der CPU130 indirekt über das Register182 beeinflussen. Insbesondere kann, wie nachfolgend beschrieben ist, die Steuerung150 den p-Zustand der CPU120 begrenzen, indem ein maximaler p-Zustand festgelegt wird. Das Register182 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 Datenzentrums102 arbeiten. Beispielsweise kann das Datenzentrum102 Leistungsbeschränkungen aufweisen, die wiederum p-Zustandsgrenzen für die Systeme auferlegen, die innerhalb des Datenzentrums102 arbeiten. In anderen Fällen kann der Dienstleistungsprozessor132 Bedingungen innerhalb des Datenzentrums102 erkennen, die so sind, dass ein reduzierter p-Zustand für Systeme in dem Datenzentrum wünschenswert ist. Beispielsweise kann der Dienstleistungsprozessor132 Berichte diverser Dienstleistungsrechner (beispielsweise des Serverrechners110 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 Datenzentrum102 ü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 (Entscheidungsblock200 ), das Betriebssystem dann die Änderung des p-Zustands initiieren (Block202 ). In Reaktion darauf bestimmt der Prozessor, ob der angeforderte neue p-Zustand tiefer oder gleich ist zu einer p-Zustandsgrenze, die gesetzt ist (Entscheidungsblock204 ). 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ährend2 einen Ablauf darstellt, in welchem ein Betriebssystem eine p-Zustandsänderung initiiert, zeigt3 einen Ablauf, in welchem eine neue p-Zustandsgrenze in einem Prozessor durch eine externe Einheit „eingeprägt” wird. Beispielsweise prägt die Steuerung150 aus1 eine p-Zustandsgrenze in die CPU130 durch Ausführen eines Schreibvorgangs in das Register182 ein. In Reaktion auf das Einprägen einer p-Zustandsgrenze (Entscheidungsblock300 ) 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 (Entscheidungsblock302 ). 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 (Block400 ). Wenn der angeforderte p-Zustand nicht größer ist als eine aktuelle p-Zustandsgrenze (Entscheidungsblock402 ), 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 (Entscheidungsblock402 ), 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 (Block408 ). 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 (Entscheidungsblock500 ). Beispielsweise erkennt eine Steuerung (etwa die Steuerung150 in1 ) 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 (Block504 ). 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 Computersystems10 , in welchem die zuvor beschriebenen Verfahren und Mechanismen eingerichtet sind. Das Computersystem10 umfasst mehrere Verarbeitungsknoten12a ,12b ,12c und12d . Jeder Verarbeitungsknoten ist mit einem entsprechenden Speicher14a bis14d über eine zugeordnete Speichersteuerung16a bis16d verbunden. Des weiteren umfasst jeder Verarbeitungsknoten12a bis12d eine Schnittstellenlogik18a bis18d , die zur Kommunikation mit anderen der Verarbeitungsknoten12a bis12d verwendet wird. Beispielsweise enthält der Verarbeitungsknoten12a die Schnittstellenlogik18a zur Kommunikation mit den Verarbeitungsknoten12d und12c . In ähnlicher Weise enthält der Verarbeitungsknoten12b die Schnittstellenlogik18b zur Kommunikation mit dem Verarbeitungsknoten12a und12b usw. In der Ausführungsform aus6 ist der Verarbeitungsknoten12d so gezeigt, dass dieser zur Kommunikation mit einer Eingabe/Ausgabe-(I/O)Einrichtung20a über die Schnittstellenlogik18d verbunden ist, und die I/O-Einrichtung20a ist ferner mit einer zweiten I/O-Einrichtung20b 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 Leitungen24a verwendet, um Pakete von dem Verarbeitungsknoten12a zu dem Verarbeitungsknoten12b zu senden, und Leitungen24b werden verwendet, um Pakete von dem Verarbeitungsknoten12b zu dem Verarbeitungsknoten12a zu senden) eingerichtet. Andere Gruppen an Leitungen24c bis24h werden verwendet, um Pakete zwischen anderen Verarbeitungsknoten auszutauschen, wie dies in6 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-Einrichtungen20a bis20b (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 Verarbeitungsknoten12a zu dem Verarbeitungsknoten12d gesendet wird, durch den Verarbeitungsknoten12b oder den Verarbeitungsknoten12c , wie dies in6 gezeigt ist. Es kann ein beliebiger geeigneter Signalführungsalgorithmus verwendet werden. In anderen Ausführungsformen des Computersystems10 sind mehr oder weniger Verarbeitungsknoten als in der in6 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 bis12d 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 bis14d umfassen beliebig geeignete Speichereinrichtungen. Beispielswiese enthalten die Speicher14a bis14d einen oder mehrere RAMBUS (RDRAM's), synchrone DRAM's (SDRAM's), DRAM, statische RAM, etc. Der Adressenraum des Computersystems10 ist auf die Speicher14a bis14d aufgeteilt. Jeder Verarbeitungsknoten12a bis12d enthält eine Speicherzuordnung, die verwendet wird, um zu bestimmen, welche Adressen welchen Speichern14a bis14b zugeordnet sind und welchem Verarbeitungsknoten12a bis12d 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 Computersystems10 die Speichersteuerung16a bis16d , die mit dem Speicher zur Speicherung von Bytes entsprechend der Adresse verbunden ist. Die Speichersteuerungen16a bis16d enthalten Steuerschaltungen zur Kommunikation mit den Speichern14a bis14d . Des weiteren enthalten die Speichersteuerungen16a bis16d Anforderungswarteschlagen, um Speicheranforderungen zu speichern. - Im Allgemeinen umfasst die Schnittstellenlogik
18a bis18d Puffer zum Empfangen von Paketen aus der Verbindung und zur Pufferung von Paketen, die über die Verbindung zu senden sind. Das Computersystem10 kann einen beliebigen geeigneten Flusssteuerungsmechanismus für die Verbindungsebenen zum Senden von Paketen in zuverlässiger Weise anwenden. Die Kommunikation zwischen dem Verarbeitungsknoten12a bis12d des Computersystems10 kann unter diversen speziellen paketbasierten Nachrichtentechniken nach Bedarf erfolgen. - Die I/O-Einrichtungen
20a bis20b sind lediglich anschaulicher Natur für beliebige gewünschte periphere Einrichtungen. Beispielsweise umfassen die I/O-Einrichtungen20a bis20b 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)
- 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. - 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. - Verfahren nach Anspruch 2, wobei die Betriebsumgebungsbedingung nicht in dem zweiten Teil des Gehäuses erfasst wird.
- System zur Verwaltung eines Prozessorleistungsverhaltens, wobei das System umfasst: ein Gehäuse (
102 ) mit einer ersten Verarbeitungsplatine (120a bis120d ), die einen Prozessor (130 ) aufweist, und mit einer zweiten Verarbeitungsplatine (120a bis120d ), 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. - System nach Anspruch 4, wobei die Betriebsumgebungsbedingung in dem zweiten Bereich des Gehäuses nicht erkannt wird.
- 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 ). - System nach Anspruch 6, wobei die Steuerung ausgebildet ist, einen Wert, der den maximalen Prozessorleistungszustand angibt, in Reaktion auf eine erfasste Betriebsumgebungsbedingung zu speichern.
- System nach Anspruch 7, wobei die Bedingung eine thermische Bedingung umfasst.
- 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.
- 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.
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)
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)
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 | 制御装置およびマルチプロセッサ制御方法 |
-
2006
- 2006-08-14 US US11/503,700 patent/US7747881B2/en active Active
-
2007
- 2007-08-14 CN CN2007800303498A patent/CN101512462B/zh active Active
- 2007-08-14 DE DE112007001922T patent/DE112007001922B4/de active Active
- 2007-08-14 WO PCT/US2007/017997 patent/WO2008021365A1/en active Application Filing
- 2007-08-14 TW TW096129928A patent/TWI411913B/zh active
- 2007-08-14 GB GB0902377A patent/GB2454400B/en not_active Expired - Fee Related
- 2007-08-14 JP JP2009524666A patent/JP2010500693A/ja active Pending
- 2007-08-14 KR KR1020097004821A patent/KR20090057006A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
TWI411913B (zh) | 2013-10-11 |
GB2454400A (en) | 2009-05-06 |
GB0902377D0 (en) | 2009-04-01 |
CN101512462B (zh) | 2011-07-06 |
CN101512462A (zh) | 2009-08-19 |
US7747881B2 (en) | 2010-06-29 |
DE112007001922B4 (de) | 2012-10-11 |
TW200817892A (en) | 2008-04-16 |
KR20090057006A (ko) | 2009-06-03 |
WO2008021365A1 (en) | 2008-02-21 |
GB2454400B (en) | 2011-02-23 |
US20080040622A1 (en) | 2008-02-14 |
JP2010500693A (ja) | 2010-01-07 |
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 | |
DE60128396T2 (de) | Computer-peripheriegerät, das betreibbar bleibt, wenn die operationen des zentralprozessors suspendiert werden | |
DE102007061448B4 (de) | Informationsverarbeitungssystem, Verfahren und Verarbeitungsmodul zum Reduzieren von Leistungszuständen für Speichergeräte und zugehörige logische Speichermedien | |
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 | |
DE112017004663T5 (de) | Mehrfachverbinder-unterstützung für usb-c | |
DE102015102678A1 (de) | Startabbild- discovery und -bereitstellung | |
DE112005002672T5 (de) | Dynamische Neukonfiguration eines Cache-Speichers | |
DE102004025921A1 (de) | Speichersystem mit mehreren Schnittstellen sowie Datenzugriffsverfahren in einem derartigen Speichersystem | |
DE102004039237A1 (de) | Lüfter-Steuerungssystem | |
DE102013103293A1 (de) | Serverschrank und Verfahren für gleichzeitiges Aktualisieren der Basisdatenaustauschsysteme | |
DE102007021258A1 (de) | Leistungszuweisungsmanagement in einem Informationsverarbeitungssystem | |
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 | |
DE112017003302T5 (de) | Verfahren, Vorrichtung und System für dynamische Optimierung der Signalintegrität an einem Bus | |
DE102018005759A1 (de) | Verbinden von beschleunigerressourcen unter verwendung einesswitches |
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 |