DE112012004601T5 - Verringern der gesamten Kühl- und Verlustleistung auf ein Mindestmass bei schneller Angleichung - Google Patents

Verringern der gesamten Kühl- und Verlustleistung auf ein Mindestmass bei schneller Angleichung Download PDF

Info

Publication number
DE112012004601T5
DE112012004601T5 DE201211004601 DE112012004601T DE112012004601T5 DE 112012004601 T5 DE112012004601 T5 DE 112012004601T5 DE 201211004601 DE201211004601 DE 201211004601 DE 112012004601 T DE112012004601 T DE 112012004601T DE 112012004601 T5 DE112012004601 T5 DE 112012004601T5
Authority
DE
Germany
Prior art keywords
value
temperature threshold
potential
system performance
current
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
DE201211004601
Other languages
English (en)
Other versions
DE112012004601B4 (de
Inventor
c/o IBM Corp. Carter John B.
c/o IBM Corp. Huang Wei
c/o IBM Corp. Lefurgy Charles R.
c/o IBM Corp. Silva Guillermo J.
c/o IBM Corp. Allen-Ware Malcolm S.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012004601T5 publication Critical patent/DE112012004601T5/de
Application granted granted Critical
Publication of DE112012004601B4 publication Critical patent/DE112012004601B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D23/00Control of temperature
    • G05D23/19Control of temperature characterised by the use of electric means
    • G05D23/1902Control of temperature characterised by the use of electric means characterised by the use of a variable reference value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D23/00Control of temperature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Power Sources (AREA)
  • Cooling Or The Like Of Electrical Apparatus (AREA)

Abstract

Es wird ein Mechanismus zum Verringern der Systemleistung in dem Datenverarbeitungssystem (300) mit schneller Angleichung auf ein Mindestmaß bereitgestellt. Unter Verwendung eines aktuellen Temperaturschwellenwertes (320) wird ein aktueller Wert der Gesamtsystemleistung ermittelt. Für jeden potenziellen Temperaturschwellenwert in einer Reihe potenzieller Temperaturschwellenwerte (320) wird ermittelt, ob es einen potenziellen Temperaturschwellenwert (320) gibt, der zu einem potenziellen Wert der Gesamtsystemleistung führt, der kleiner als der aktuelle Wert der Gesamtsystemleistung ist (916). Als Reaktion auf das Ermitteln eines optimalen potenziellen Temperaturschwellenwertes aus der Reihe potenzieller Temperaturschwellenwerte (320), der zu einem Mindestwert der Gesamtsystemleistung führt, der kleiner als der aktuelle Wert der Gesamtsystemleistung ist (924), wird der optimale potenzielle Temperaturschwellenwert als neuer Temperaturschwellenwert festgelegt (926).

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein eine verbessere Vorrichtung und ein verbessertes Verfahren zur Datenverarbeitung und insbesondere Mechanismen zum Verringern der gesamten Kühl- und Verlustleistung auf ein Mindestmaß mit schneller Angleichung.
  • ZUGRUNDE LIEGENDE TECHNIK
  • Während die Leistungsfähigkeit von Computern und anderen elektronischen Systemen im Laufe der Zeit zugenommen hat, ist der zum Erzielen dieser Leistungsfähigkeit erforderliche Stromverbrauch drastisch angestiegen. Bis vor kurzem hat sich die Leistungssteuerung vor allem mit den höchstzulässigen Temperaturen befasst, denen Komponenten und Teilbaugruppen ausgesetzt sein können. Ein Systemverhalten, bei dem in Zeiten hoher Auslastung viel Strom benötigt, im Leerlauf oder bei geringer Auslastung hingegen sehr wenig Strom verbraucht wird, führt jedoch je nach der Beschaffenheit der Kühlkanäle und der Auslastung des Systems zu starken Temperaturschwankungen. Diese Temperaturschwankungen können aufgrund Ermüdung infolge mechanischer Spannungen und Belastungen zum Ausfall von Strukturen führen, die aus Werkstoffen mit veränderlichen thermischen Ausdehnungskoeffizienten bestehen.
  • Wenn ein System bei einer hohen Temperatur arbeitet, wird vor allem infolge der thermisch verursachten parasitären Leistung wie beispielsweise der Verlustleistung mehr Strom verbraucht. In heutigen Systemen wird die Verlustleistung durch Festlegen eines Temperaturschwellenwertes auf ungefähr 70 Grad Celsius gesteuert. Wenn die Temperatur überschritten wird, erhöhen diese Systeme die Drehzahl des Lüfters, senken die Spannung, verringern die Frequenz und/oder verringern die Auslastung, und wenn die Temperatur den Schwellenwert unterschreitet, verringern diese Systeme die Drehzahl des Lüfters, erhöhen die Spannung, erhöhen die Frequenz und/oder erhöhen die Auslastung. Solche Änderungen können wie oben beschrieben aufgrund von Ermüdung infolge mechanischer Spannungen und Belastungen zum Ausfall von Strukturen führen.
  • OFFENBARUNG DER ERFINDUNG
  • Gemäß einer anschaulichen Ausführungsform wird in einem Datenverarbeitungssystem ein Verfahren zum Verringern der Systemleistung auf ein Mindestmaß in dem Datenverarbeitungssystem mit schneller Angleichung bereitgestellt. Gemäß der anschaulichen Ausführungsform wird unter Verwendung eines aktuellen Temperaturschwellenwertes ein aktueller Gesamtleistungswert für das System ermittelt. Für jeden potenziellen Temperaturschwellenwert aus einer Reihe potenzieller Temperaturschwellenwerte wird gemäß der anschaulichen Ausführungsform ermittelt, ob es einen potenziellen Temperaturschwellenwert gibt, der zu einem potenziellen Gesamtleistungswert für das System führt, der niedriger als der aktuelle Gesamtleistungswert des Systems ist. Gemäß der anschaulichen Ausführungsform wird als Reaktion darauf, dass ein optimaler potenzieller Temperaturschwellenwert aus der Reihe potenzieller Temperaturschwellenwerte erkannt wurde, der zu einem Mindestwert der Gesamtsystemleistung führt, der geringer als der aktuelle Leistungswert des Gesamtsystems ist, der optimale potenzielle Temperaturschwellenwert als neuer Temperaturschwellenwert festgelegt.
  • Gemäß anderen anschaulichen Ausführungsformen wird ein Computerprogrammprodukt bereitgestellt, das ein durch Computer nutzbares oder lesbares Medium mit einem computerlesbaren Programm aufweist. Das computerlesbare Programm veranlasst eine Datenverarbeitungseinheit, wenn es auf dieser ausgeführt wird, verschiedene einzelne und Kombinationen der oben in Bezug auf die anschauliche Ausführungsform des Verfahrens dargelegten Operationen auszuführen.
  • Gemäß noch einer weiteren anschaulichen Ausführungsform wird ein System/eine Vorrichtung bereitgestellt. Das System/die Vorrichtung kann einen oder mehrere Prozessoren und einen Speicher aufweisen, der mit dem einen oder den mehreren Prozessoren verbunden ist. Der Speicher kann Anweisungen aufweisen, die bei Ausführung durch den einen oder die mehreren Prozessoren diesen einen oder die mehreren Prozessoren veranlassen, verschiedene einzelne und Kombinationen der oben in Bezug auf die anschauliche Ausführungsform des Verfahrens dargelegten Operationen auszuführen.
  • Diese sowie weitere Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden detaillierten Beschreibung der beispielhaften Ausführungsformen der vorliegenden Erfindung beschrieben oder dem Fachmann anhand dieser klar werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung sowie eine bevorzugte Verwendungsweise sowie weitere ihrer Zielstellungen und Vorteile werden am besten unter Bezugnahme auf die folgende detaillierte Beschreibung anschaulicher Ausführungsformen in Verbindung mit den beiliegenden Zeichnungen verständlich, wobei:
  • 1 eine bildliche Darstellung eines beispielhaften verteilten Datenverarbeitungssystems zeigt, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können;
  • 2 ein Blockschaltbild eines beispielhaften Datenverarbeitungssystems zeigt, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können;
  • 3 ein Funktionsschaubild eines Mechanismus gemäß einer anschaulichen Ausführungsform zeigt, der die Systemleistung ohne Leistungseinbuße auf ein Mindestmaß verringert;
  • die 4A und 4B beispielhafte Diagramme zeigen, die eine Zeit, die zum Erreichen der Angleichung des Stromverbrauchs in einem System nach dem Stand der Technik benötigt wird, im Vergleich zu dem oben beschriebenen System gemäß einer anschaulichen Ausführungsform veranschaulichen;
  • die 5A und 5B beispielhafte Diagramme zeigen, die eine Zeit, die zum Erreichen der Angleichung der Lüfterdrehzahl in einem System nach dem Stand der Technik benötigt wird, im Vergleich zu dem oben beschriebenen System gemäß einer anschaulichen Ausführungsform veranschaulichen;
  • 6 einen Ablaufplan zeigt, der beispielhafte Operationen zum Ableiten eines Skalierungsfaktors Pleak_per_°C für die Verlustleistung gemäß einer anschaulichen Ausführungsform darlegt;
  • 7 einen Ablaufplan zeigt, der beispielhafte Operationen zum Ableiten einer Drehzahländerung als Funktion der Temperaturänderung ΔRPM/°C gemäß einer anschaulichen Ausführungsform darlegt;
  • 8 einen Ablaufplan zeigt, der beispielhafte Operationen zum Ableiten eines Lüfterleistungsmodells gemäß einer anschaulichen Ausführungsform darlegt; und
  • 9 einen Ablaufplan zeigt, der beispielhafte Operationen zum Verringern der Systemleistung in einem Datenverarbeitungssystem ohne Leistungseinbuße und mit schneller Angleichung während der Laufzeit gemäß einer anschaulichen Ausführungsform darlegt.
  • BESTMÖGLICHE VERFAHRENSWEISEN ZUM AUSFÜHREN DER ERFINDUNG
  • Die anschaulichen Ausführungsformen stellen einen Mechanismus zum Verringern der Systemleistung auf ein Mindestmaß ohne Leistungseinbuße mit schneller Angleichung bereit. Mittels des Mechanismus wird eine Lüfterdrehzahl auf der Grundlage eines Temperatursollwerts des Prozessors eingestellt, von dem aus die Systemleistung ohne thermische Störungen auf der Grundlage eines Modellansatzes verringert wird. Unter Verwendung von Modellen für die Prozessorleistung und der zum Erreichen einer gewünschten Temperatur erforderlichen Drehzahl (Umdrehungen pro Minute → min–1|Revolutions Per Minute → RPM) eines Lüfters ermittelt der Mechanismus für einen vorgegebenen Zeitraum einen Gesamtleistungswert Ptotal des Systems aus Systemleistung und Lüfterleistung. Um einen Punkt zu erreichen, an dem die Zunahme der Verlustleistung die Einsparungen bei der Lüfterleistung noch nicht übersteigt, ermittelt der Mechanismus während jedes Zeitraums, ob auf der Grundlage des zu Anfang ermittelten Gesamtleistungswertes Ptotal für das System ein neuer Temperaturschwellenwert für das System gewählt werden sollte. Wenn der Mechanismus einen neuen Temperaturschwellenwert ermittelt, der einen besseren Gesamtwirkungsgrad als der aktuelle Temperaturschwellenwert bietet, aktualisiert der Mechanismus den Temperaturschwellenwert entsprechend. Wenn es einen neuen Temperaturschwellenwert gibt, der die Gesamtsystemleistung verringert, wird die Lüfterdrehzahl ferner auf der Grundlage des verringerten Gesamtleistungswertes Ptotal für das System entsprechend korrigiert. Somit verringern die anschaulichen Ausführungsformen die Systemleistung auf ein Mindestmaß durch Nutzen dieser Beziehung zwischen der Lüfterleistung und der Verlustleistung und erreichen schneller eine optimale Gesamtsystemleistung.
  • Somit können die anschaulichen Ausführungsformen in vielen unterschiedlichen Typen von Datenverarbeitungsumgebungen genutzt werden, darunter eine verteilte Datenverarbeitungsumgebung, eine einzelne Datenverarbeitungseinheit oder dergleichen. Um einen Anhaltspunkt für die Beschreibung der einzelnen Elemente und der Funktionalität der anschaulichen Ausführungsformen bereitzustellen, dienen im Folgenden die 1 und 2 als beispielhafte Umgebungen, in denen Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Die Beschreibung in Verbindung mit den 1 und 2 befasst sich zwar in erster Linie mit dem Implementieren eines Mechanismus auf einer einzelnen Datenverarbeitungseinheit, durch den die Systemleistung ohne Leistungseinbuße verringert wird, jedoch stellt dies lediglich ein Beispiel dar und soll keine Einschränkung der Merkmale der vorliegenden Erfindung geltend machen oder nahelegen. Die anschaulichen Ausführungsformen sollen im Gegenteil auch verteilte Datenverarbeitungsumgebungen und Ausführungsformen beinhalten, in denen die Systemleistung ohne Leistungseinbuße auf ein Mindestmaß verringert werden kann.
  • Nunmehr werden unter Bezugnahme auf die Figuren und insbesondere auf die 1 bis 2 beispielhafte Blockschaltbilder von Datenverarbeitungsumgebungen bereitgestellt, in denen anschauliche Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. Es sollte einsichtig sein, dass die 1 bis 2 nur Beispiele darstellen und keine Einschränkung in Bezug auf die Umgebungen geltend machen oder nahelegen, in denen Aspekte oder Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. An den dargestellten Ausführungsformen können viele Änderungen vorgenommen werden, ohne vom Wesensgehalt und vom Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Unter Bezugnahme auf die Figuren zeigt nunmehr 1 eine bildliche Darstellung eines beispielhaften verteilten Datenverarbeitungssystems, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Ein verteiltes Datenverarbeitungssystem 100 kann ein Computer-Netzwerk beinhalten, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das verteilte Datenverarbeitungssystem 100 enthält mindestens ein Netzwerk 102, das als Medium zum Bereitstellen von Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern dient, die innerhalb des verteilten Datenverarbeitungssystems 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen wie beispielsweise leitungsgebundene, drahtlose Datenübertragungsverbindungen oder Lichtwellenleiter enthalten.
  • In dem gezeigten Beispiel sind ein Server 104 und ein Server 106 sowie eine Speichereinheit 108 mit einem Netzwerk 102 verbunden. Außerdem sind auch Clients 110, 112 und 114 mit dem Netzwerk 102 verbunden. Bei diesen Clients 110, 112 und 114 kann es sich zum Beispiel um Personal Computer, Netzwerk-Computer oder dergleichen handeln. In dem gezeigten Beispiel liefert der Server 104 Daten wie beispielsweise Boot-Dateien, Betriebssystem-Abbilder und Anwendungen an die Clients 110, 112 und 114. Die Clients 110, 112 und 114 dienen in dem gezeigten Beispiel als Clients in Bezug auf den Server 104. Das verteilte Datenverarbeitungssystem 100 kann auch noch weitere nicht gezeigte Server, Clients und andere Einheiten beinhalten.
  • In dem gezeigten Beispiel handelt es sich bei dem verteilten Datenverarbeitungssystem 100 um das Internet, wobei das Netzwerk 102 eine globale Ansammlung von Netzwerken und Gateways bildet, welche die Folge von TCP/IP-(Transmission Control Protocol/Internet Protocol)Protokollen zum Austauschen von Daten untereinander nutzen. Das Kernstück des Internet stellt ein Hauptstrang von Hochgeschwindigkeits-Datenübertragungsleitungen zwischen Hauptknoten oder Host-Computern dar, die aus Tausenden von Unternehmens-, Regierungs-, Universitäts- und anderen Computersystemen bestehen, die Daten und Nachrichten weiterleiten. Das verteilte Datenverarbeitungssystem 100 kann natürlich auch so eingerichtet sein, dass es eine Anzahl verschiedener Typen von Netzwerken beinhaltet, zum Beispiel ein Intranet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN) oder dergleichen. Wie oben erwähnt, soll 1 nur als Beispiel und als nicht architektonische Einschränkung für verschiedene Ausführungsformen der vorliegenden Erfindung dienen, sodass die einzelnen in 1 gezeigten Elemente nicht als Einschränkung in Bezug auf die Ausführungsformen zu verstehen sind, in denen die anschaulichen Ausführungsformen der vorliegenden Erfindung umgesetzt werden können.
  • 2 zeigt nunmehr ein Blockschaltbild eines beispielhaften Datenverarbeitungssystems, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das Datenverarbeitungssystem 200 stellt ein Beispiel eines Computers dar, beispielsweise des Client 110 in Figur, in den durch Computer nutzbarer Code oder Anweisungen geladen werden können, die die Prozesse für anschauliche Ausführungsformen der vorliegenden Erfindung umsetzen.
  • In dem gezeigten Beispiel nutzt das Datenverarbeitungssystem 200 eine Hub-Architektur mit einem NB/MCH (north bridge and memory controller hub) 202 und einem E/A-SB/ICH (south bridge and input/output (I/O) controller hub) 204. Mit dem NB/MCH 202 sind eine Verarbeitungseinheit 206, ein Hauptspeicher 208 und ein Grafikprozessor 210 verbunden. Der Grafikprozessor 210 kann durch einen beschleunigten Grafikanschluss (AGP) mit dem NB/MCH 202 verbunden sein.
  • In dem gezeigten Beispiel ist mit dem SB/ICH 204 ein LAN-(local area network)Adapter 212 verbunden. Mit dem SB/ICH 204 sind durch einen Bus 238 und einen Bus 240 ein Audioadapter 216, ein Tastatur- und Mausadapter 220, ein Modem 222, ein Nur-Lese-Speicher (ROM) 224, ein Festplattenlaufwerk (HDD) 226, ein CD-ROM-Laufwerk 230, USB-(universal serial bus)Anschlüsse und weitere Datenübertragungsanschlüsse 232 und PCI/PCIe-Einheiten 234 verbunden. Als PCI/PCIe-Einheiten kommen zum Beispiel Ethernet-Adapter, Steckkarten und PC-Karten für Notebook-Computer infrage. PCI verwendet einen Kartenbuscontroller, PCIe hingegen nicht Bei dem ROM 224 kann es sich zum Beispiel um ein Flash-BIOS (basic input/output system) handeln.
  • Das HDD-Laufwerk 226 und das CD-ROM-Laufwerk 230 sind durch den Bus 240 mit dem SB/ICH 204 verbunden. Das HDD-Laufwerk 226 und das CD-ROM-Laufwerk 230 können zum Beispiel eine IDE-(integrated drive electronics) oder eine SATA-(serial advanced technology attachment)Schnittstelle verwenden. Mit dem SB/ICH 204 kann eine Super-E/A-(super I/O, SIO)Einheit 236 verbunden sein.
  • Auf der Verarbeitungseinheit 206 wird ein Betriebssystem ausgeführt. Das Betriebssystem koordiniert und steuert verschiedene Komponenten innerhalb des Datenverarbeitungssystems 200 in 2. Für seine Funktion als Client kann es sich bei dem Betriebssystem um ein handelsübliches Betriebssystem wie beispielsweise Microsoft® Windows® XP (Microsoft und Windows sind eingetragene Warenzeichen von Microsoft Corporation in Vereinigten Staaten von Amerika und/oder anderen Ländern). Ein objektorientiertes Programmiersystem wie beispielsweise das Programmiersystem JavaTM kann in Verbindung mit dem Betriebssystem ausgeführt werden und stellt Aufrufe von Java-Programmen oder Anwendungen für das Betriebssystem bereit, die auf dem Datenverarbeitungssystem 200 ausgeführt werden (Java ist ein eingetragenes Warenzeichen von Sun Microsystems, Inc. in den Vereinigten Staaten von Amerika und/oder anderen Ländern).
  • In seiner Funktion als Server kann es sich bei dem Datenverarbeitungssystem 200 zum Beispiel um ein Computersystem IBM® eServerTM System p® handeln, auf dem das Betriebssystem Advanced Interactive Executive (AIX®) oder das Betriebssystem LINUX® ausgeführt wird (eServer, System p und AIX sind eingetragene Warenzeichen von International Business Machines Corporation in den Vereinigten Staaten von Amerika und/oder anderen Ländern, während LINUX ein eingetragenes Warenzeichen von Linus Torvalds in den Vereinigten Staaten von Amerika und/oder anderen Ländern ist). Bei dem Datenverarbeitungssystem 200 kann es sich um ein symmetrisches Multiprozessorsystem (SMP) handeln, das eine Vielzahl von Prozessoren in der Verarbeitungseinheit 206 enthält. Alternativ kann ein Einprozessorsystem verwendet werden.
  • Anweisungen für das Betriebssystem, das objektorientierte Programmiersystem und Anwendungen oder Programme befinden sich auf Speichereinheiten wie beispielsweise dem HDD 226 und können zum Ausführen durch die Verarbeitungseinheit 206 in den Hauptspeicher 208 geladen werden. Die Prozesse für anschauliche Ausführungsformen der vorliegenden Erfindung können durch die Verarbeitungseinheit 206 unter Verwendung eines durch Computer verwendbaren Programmcodes ausgeführt werden, die sich in einem Speicher wie beispielsweise dem Hauptspeicher 208, dem ROM 224 oder zum Beispiel in einer oder mehreren Peripherieeinheiten 226 und 230 befinden können.
  • Ein Bussystem wie beispielsweise der in 2 gezeigte Bus 238 oder der Bus 240 kann aus einem oder mehreren Bussen bestehen. Das Bussystem kann natürlich unter Verwendung eines beliebigen Typs von Datenübertragungsstruktur oder -architektur realisiert werden, die eine Übertragung von Daten zwischen verschiedenen Komponenten oder Einheiten ermöglicht, die an die Struktur oder Architektur angeschlossen sind. Eine Datenübertragungseinheit wie beispielsweise ein Modem 222 oder ein Netzwerkadapter 212 von 2 kann eine oder mehrere zum Senden und Empfangen von Daten beinhalten. Bei einem Speicher kann es sich zum Beispiel um den Hauptspeicher 208, den ROM 224 oder einen Cachespeicher handeln, wie er im NB/MCH 202 in 2 zu finden ist.
  • Dem Fachmann ist einsichtig, dass die Hardware in den 1 bis 2 je nach Implementierung variieren kann. Zusätzlich oder anstelle der in den 1 bis 2 dargestellten Hardware können weitere interne Hardware- oder Peripherieeinheiten wie beispielsweise ein Flash-Speicher, ein gleichwertiger nichtflüchtiger Speicher oder optische Plattenlaufwerke und dergleichen verwendet werden. Ferner können die Prozesse der anschaulichen Ausführungsformen auf einem Multiprozessor-Datenverarbeitungssystem ausgeführt werden, das von dem oben erwähnten SMP-System verschieden ist, ohne vom Wesensgehalt und vom Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Darüber hinaus kann das Datenverarbeitungssystem 200 die Form eines beliebigen aus einer Anzahl verschiedener Datenverarbeitungssysteme annehmen, darunter Client-Datenverarbeitungseinheiten, Server-Datenverarbeitungseinheiten, ein Tablet-Computer, ein Laptop-Computer, eine Telefon- oder eine andere Datenübertragungseinheit, ein persönlicher digitaler Assistent (PDA) oder dergleichen. Bei einigen anschaulichen Beispielen kann es sich bei dem Datenverarbeitungssystem 200 um eine tragbare Datenverarbeitungseinheit handeln, die mit einem Flash-Speicher konfiguriert ist, um einen nichtflüchtigen Speicher zum Speichern beispielsweise von Betriebssystemdateien und/oder durch den Benutzer erzeugten Daten bereitzustellen. Wesentlich ist, dass es sich bei dem Datenverarbeitungssystem 200 um ein beliebiges bekanntes oder später zu entwickelnde Datenverarbeitungssystem ohne Einschränkungen der Architektur handeln kann.
  • Die anschaulichen Ausführungsformen stellen einen Mechanismus zum Verringern der Systemleistung auf einen Mindestwert ohne Leistungseinbuße mit schneller Angleichung bereit. Der Mechanismus ermittelt einen Gesamtleistungswert Ptotal des Systems aus Systemleistung und Lüfterleistung für einen vorgegebenen Zeitraum unter Verwendung von Modellen für die Prozessorleistung und die Drehzahl (RPM), die ein Lüfter benötigt, um eine gewünschte Temperatur zu erreichen. Um einen Punkt zu erreichen, an dem die Zunahme der Verlustleistung die Einsparungen bei der Lüfterleistung noch nicht übersteigt, ermittelt der Mechanismus während jedes Zeitraums, ob auf der Grundlage des ursprünglich ermittelten Gesamtleistungswertes Ptotal für das System ein neuer Temperaturschwellenwert für das System gewählt werden sollte. Wenn der Mechanismus einen neuen Temperaturschwellenwert ermittelt, der einen besseren Gesamtwirkungsgrad als der aktuelle Temperaturschwellenwert bietet, aktualisiert der Mechanismus den Temperaturschwellenwert und regelt die Lüfterdrehzahl entsprechend.
  • 3 zeigt ein Funktionsschaubild eines Mechanismus gemäß einer anschaulichen Ausführungsform, der die Systemleistung ohne Leistungseinbuße auf ein Mindestmaß verringert. Das Datenverarbeitungssystem 300 kann einen oder mehrere Prozessoren 302 aufweisen, die zugehörige Sensoren wie beispielsweise Leistungssensoren 304, Auslastungssensoren 306, Temperatursensoren 308, Drehzahlsensoren (RPM) 307 oder dergleichen aufweisen. Die Leistungssensoren 304 überwachen die durch jeden der Prozessoren 302 und jeden der Lüfter 309 aufgenommene Leistung und senden die detektierten Nutzungswerte der Systemleistung an die Managementsteuereinheit 310. Desgleichen können die Auslastungssensoren 306 die durch jeden der Prozessoren 302 erbrachte Arbeitsleistung überwachen und die detektierten Auslastungswerte an die Managementsteuereinheit 310 senden. Desgleichen können nahe den Bereichen innerhalb des Datenverarbeitungssystems 300, in denen während der Ausführung der meisten Anwendungen die stärksten Temperaturschwankungen auftreten, beispielsweise nahe dem Prozessor 302, Temperatursensoren 308 angeordnet werden. Die Temperatursensoren 308 überwachen die Temperatur dieser Bereiche und senden die detektierten Temperaturwerte an die Managementsteuereinheit 310. Darüber hinaus können Temperatursensoren 308 dafür eingesetzt werden, eine Temperatur sowohl in der Umgebung des Datenverarbeitungssystems 300 als auch in äußerst eng begrenzten Bereichen des Datenverarbeitungssystems 300 wie beispielsweise in den anschaulichen Ausführungsformen zu messen, die folgende Orte aufweisen können: nahe jeder Verarbeitungseinheit, der Speicherflusssteuerung, Speicherplatten oder dergleichen. Drehzahlsensoren 307 können die Drehzahl (RPM) von Lüftern 309 überwachen und die detektierten Drehzahlwerte an die Managementsteuereinheit 310 senden.
  • Die Managementsteuereinheit 310 kann die Nutzungswerte der Systemleistung, die Auslastungswerte, die Temperaturwerte und die Drehzahlwerte zum (direkten oder indirekten) Steuern der Spannung, der Frequenz, der Arbeitslast und/oder der Kühlung jedes der Prozessoren 302 unter Verwendung von Mechanismen wie beispielsweise des Spannungsreglers 312, des Frequenzreglers 314, des Drosselreglers 316 bzw. des Lüfterdrehzahlreglers 318 verwenden. Das heißt, die anschaulichen Ausführungsformen können die Lüfterdrehzahl indirekt regeln, indem sie einen oder mehrere der Temperaturschwellenwerte 320 anpassen, oder die anschaulichen Ausführungsformen können die Lüfterdrehzahl direkt regeln, indem sie Signale direkt an die Lüfterdrehzahlregelung 318 senden. Die Managementsteuereinheit 310 kann einen oder mehrere Temperaturschwellenwerte 320 verwenden, um indirekt eine Anpassung der Spannung, der Frequenz, der Arbeitslast und/oder der Kühlung jedes der Prozessoren 302 auf der Grundlage eines der detektierten Werte der Nutzung der Systemleistung, der Auslastung und der Temperatur zu veranlassen.
  • Während der Initialisierung des Datenverarbeitungssystems 300 führt die Managementsteuereinheit 310 eine Kalibrierung durch, um charakteristische Daten für das Datenverarbeitungssystem 300 zu gewinnen. Das heißt, die Managementsteuereinheit 310 weist den Prozessoren 302 zu Anfang eine konstante und unveränderliche Arbeitslast zu und hält dabei die Spannungs- und Frequenzwerte konstant. Die Managementsteuereinheit 310 ermittelt über Leistungssensoren 304 einen aktuellen Gesamtleistungswert Pmeas für die Prozessoren 302, um einen charakteristischen Leistungswert Pproc_char des Prozessors zu gewinnen. Außerdem gewinnt die Managementsteuereinheit 310 eine Reihe von Temperaturwerten Tmeas, die von den Temperatursensoren 308 für die Prozessoren 302 gelesen werden, sowie einen Umgebungstemperaturwert Tamb für das Datenverarbeitungssystem 300, um einen charakteristischen Temperaturwert Tthr_char für die Prozessoren 302 und einen charakteristischen Umgebungstemperaturwert Tamb_char für das Datenverarbeitungssystem 300 zu erhalten. Ferner ermittelt die Managementsteuereinheit 310 aktuelle von den Drehzahlsensoren 307 gelesene Drehzahlwerte für die Lüfter 309, um einen charakteristischen Drehzahlwert RPM_char zu erhalten. Unter Verwendung dieser charakteristischen Daten ist die Managementsteuereinheit 310 in der Lage, weitere charakteristische Daten abzuleiten, beispielsweise einen Skalierungsfaktor Pleak_per_°C für die Verlustleistung und eine Drehzahländerung als Funktion einer Temperaturänderung ΔRPM/°C sowie ein Lüftermodell, das die Drehzahlen in Beziehung zur gemessenen Leistung setzt.
  • Die Managementsteuereinheit 310 leitet den Skalierungsfaktor Pleak_per_°C der Verlustleistung bei konstanter Arbeitslast auf den Prozessoren 302 ab, indem sie einen aktuellen Temperaturschwellenwert Tthr_c der Temperaturschwellenwerte 320 an einem unteren Ende einer Reihe von potenziellen Temperaturschwellenwerten Tthr platziert, zum Beispiel würde die Managementsteuereinheit 310 für einen Bereich von 65°C bis 80°C zu Anfang den Wert Tthr gleich 65°C setzen und dadurch einen Wert Tthr1 bilden. Dann verarbeitet das Datenverarbeitungssystem 300 die aktuelle Arbeitslast, bis sich die Temperatur an den Prozessoren 302 stabilisiert hat. Sobald sich die Temperatur in dem Datenverarbeitungssystem 300 stabilisiert hat, misst die Managementsteuereinheit 310 einen ersten Gesamtleistungswert P1 des Prozessors. Dann platziert die Managementsteuereinheit 310 den aktuellen Temperaturschwellenwert Tthr_c an einem oberen Ende eines Bereichs potenzieller Temperaturschwellenwerte Tthr, zum Beispiel würde die Managementsteuereinheit 310 für einen Bereich von 65°C bis 80°C den Wert Tthr_c gleich 80°C setzen und dadurch einen Wert Tthr2 bilden. Dann verarbeitet das Datenverarbeitungssystem 300 die aktuelle Arbeitslast, bis sich die Temperatur an den Prozessoren 302 stabilisiert hat. Sobald sich die Temperatur in dem Datenverarbeitungssystem 300 stabilisiert hat, misst die Managementsteuereinheit 310 einen zweiten Gesamtleistungswert P2 des Prozessors. Dann berechnet die Managementsteuereinheit 310 den Skalierungsfaktor Pleak_per_°C unter Verwendung der folgenden Gleichung für den Skalierungsfaktor Pleak_per_°C: Pleak_per_°C = (P2 – P1)/(Tthr2 – Tthr1).
  • Somit kann der Skalierungsfaktor Pleak_per_°C zum Beispiel ½ Watt pro Grad Celsius, 3/8 Watt pro Grad Celsius, 1/4 Watt pro Grad Celsius oder dergleichen betragen. Zwar dient bei dem aktuellen Beispiel die Celsius-Skala als Grundlage für die Temperaturmessung, jedoch sind die anschaulichen Ausführungsformen darüber hinaus nicht ausschließlich auf Temperaturmessungen gemäß der Celsius-Skala beschränkt. Das heißt, für die Temperatur kann eine beliebige Maßeinheit verwendet werden, beispielsweise Fahrenheit, Kelvin oder dergleichen.
  • Die Managementsteuereinheit 310 leitet die Drehzahländerung als Funktion der Temperaturänderung ΔRPM/°C ab, indem sie bei konstanter Arbeitslast auf den Prozessoren 302 den aktuellen Temperaturschwellenwert Tthr_c an einem unteren Ende eines Bereichs potenzieller Temperaturschwellenwerte Tthr platziert, zum Beispiel würde die Managementsteuereinheit 310 für einen Bereich von 65°C bis 80°C dem Wert Tthr zu Anfang gleich 65°C setzen und dadurch einen Wert Tthr1 bilden. Dann verarbeitet das Datenverarbeitungssystem 300 die aktuelle Arbeitslast, bis sich die Temperatur an den Prozessoren 302 stabilisiert hat. Sobald sich die Temperatur in dem Datenverarbeitungssystem 300 stabilisiert hat, misst die Managementsteuereinheit 310 über die RPM-Sensoren 307 eine erste Lüfterdrehzahl in Umdrehungen pro Minute RPM1. Dann platziert die Managementsteuereinheit 310 den aktuellen Temperaturschwellenwert Tthr_c an einem oberen Ende des Bereichs potenzieller Temperaturschwellenwerte Tthr, zum Beispiel würde die Managementsteuereinheit 310 für einen Bereich von 65°C bis 80°C den Wert Tthr_c gleich 80°C setzen und dadurch einen Wert Tthr2 bilden. Dann verarbeitet das Datenverarbeitungssystem 300 die aktuelle Arbeitslast, bis sich die Temperatur an den Prozessoren 302 stabilisiert hat. Sobald sich die Temperatur in dem Datenverarbeitungssystem 300 stabilisiert hat, misst die Managementsteuereinheit 310 über die Drehzahlsensoren 307 eine zweite Lüfterdrehzahl RPM2 in Umdrehungen pro Minute. Dann berechnet die Managementsteuereinheit 310 die Drehzahländerung als Funktion des Wertes der Temperaturänderung ΔRPM/°C unter Verwendung der Gleichung der Drehzahländerung: ΔRPM/°C = (RPM2 – RPM1)/(Tthr2 – Tthr1)
  • Mittels der gewonnenen und abgeleiteten charakteristischen Daten ist die Managementsteuereinheit 310 dann in der Lage, einen optimalen Temperaturschwellenwert und eine optimale Lüfterleistung zu wählen, wodurch die Systemleistung ohne Leistungseinbuße und mit schneller Angleichung während der Laufzeit auf einen Mindestwert verringert wird. Das heißt, die Managementsteuereinheit 310 ruft während der Laufzeit von den Temperaturschwellenwerten 320 einen aktuellen Temperaturschwellenwert Tthr_c, der zum ersten zu bewertenden Temperaturschwellenwert wird, über die Leistungssensoren 304 einen aktuellen Gesamtleistungswert Pmeas für die Prozessoren 302, eine Reihe von den Temperatursensoren für die Prozessoren 302 gelesenen Temperaturwerten Tmeas und einen Umgebungstemperaturwert Tamb für das Datenverarbeitungssystem 300 ab.
  • Die Managementsteuereinheit 310 verwendet den aktuellen Gesamtleistungswert Pmeas der Prozessoren, einen höchsten Temperaturwert Tmax aus der Reihe der Temperaturwerte Tmeas, den aktuellen Temperaturschwellenwert Tthr_c und den Skalierungsfaktor Pleak_er_°C, um unter Berücksichtigung des Wertes Pproc@Tthr_c unter Verwendung der folgenden Gleichung des Modells der Gesamtleistung für die Prozessoren den Gesamtleistungswert der Prozessoren bei dem aktuellen Temperaturschwellenwert zu berechnen: Pproc@Tthr_c = Pmeas + (Tthr_c – Tmax)·Pleak_per°C.
  • Nachdem Pproc@Tthr_c ermittelt wurde, ermittelt die Managementsteuereinheit 310 einen Drehzahlwert (RPM) für den Lüfter, der erforderlich ist, um den aktuellen Temperaturschwellenwert Tthr zu erreichen. Die Managementsteuereinheit 310 verwendet den zuvor berechneten Gesamtleistungswert der Prozessoren bei dem aktuellen Temperaturschwellenwert Pproc@Tthr_c, den aktuellen Umgebungstemperaturwert Tamb für das Datenverarbeitungssystem 300, den aktuellen Temperaturschwellenwert Tthr_c und die Drehzahländerung als Funktion des Wertes der Temperaturänderung ΔRPM/°C, um unter Verwendung der folgenden Drehzahlmodellgleichung einen Drehzahlwert zu ermitteln: RPM = ((((Pproc@Tthr_c/Pproc_char)·(Tthr_char – Tamb_char)) + Tamb) – Tthr_c)·ΔRPM/°C + RPMchar.
  • Auf der Grundlage des für den Lüfter ermittelten Drehzahlwertes RPM sucht die Managementsteuereinheit 310 unter Verwendung einer Suchtabelle nach einem Leistungswert Pfan des Lüfters oder leitet, wenn für den betreffenden Lüfter keine Suchtabelle verfügbar ist, ihre eigene Lüfterleistungstabelle ab. Das heißt, normalerweise gibt es ausgehend von dem in das Datenverarbeitungssystem 300 eingebauten Lüftermodell für jede Lüfterdrehzahl einen bekannten Nennleistungswert. Somit sucht die Managementsteuereinheit 310 unter Verwendung der ermittelten Drehzahl, die ein Lüfter benötigt, um eine gewünschte Temperatur zu erreichen, in der Suchtabelle nach dem Leistungswert Pfan des Lüfters, der für die ermittelte Drehzahl infrage kommt. In manchen Fällen kann es jedoch vorkommen, dass keine Suchtabellen verfügbar sind. Somit kann die Managementsteuereinheit 310 ein Modell der Lüfterleistung ableiten, indem sie für die Drehzahlwerte eines Lüfters zu Anfang gleich einem Mindestdrehzahlwert für den Lüfter setzt und wartet, bis der Lüfter den festgelegten Drehzahlwert erreicht. Sobald der Lüfter den gewählten Drehzahlwert erreicht hat, misst die Managementsteuereinheit 310 die durch den Lüfter aufgenommene Leistung und speichert den gemessenen Leistungswert in einer Lüfterleistungstabelle oder in einer anderen Datenstruktur. Dann erhöht die Managementsteuereinheit 310 die aktuelle Drehzahl, indem sie einen Steigerungswert ΔRPM wählt, und ermittelt, ob die neu gewählte Drehzahl größer als oder gleich der höchstzulässigen Nenndrehzahl des Lüfters ist. Wenn der neue Drehzahlwert nicht größer oder gleich dem Wert der höchstzulässigen Nenndrehzahl des Lüfters ist, setzt die Managementsteuereinheit 310 für die Drehzahlen eines Lüfters gleich der neuen Drehzahl und wartet, bis der Lüfter den festgelegten Drehzahlwert erreicht hat. Sobald der Lüfter den eingestellten Drehzahlwert RPM erreicht hat, misst die Managementsteuereinheit 310 wiederum die durch den Lüfter aufgenommene Leistung und speichert den gemessenen Leistungswert in der Lüfterleistungstabelle oder in einer anderen Datenstruktur, wobei der Prozess so lange wiederholt wird, bis die neu eingestellte Drehzahl größer als oder gleich dem höchstzulässigen Nenndrehzahlwert des Lüfters ist. Wenn der Steigerungswert so bemessen ist, dass die Lüfterleistungstabelle für bestimmte Drehzahlwerte keine Leistungswerte aufweist, kann die Managementsteuereinheit 310 vorhandene Algorithmen als Funktion der Drehzahl verwenden, um die unbekannten Leistungswerte ausgehend von anderen Drehzahl- und Leistungswerten in der Lüfterleistungstabelle abzuleiten. Deshalb kann die Managementsteuereinheit 310 auf der Grundlage des ermittelten Drehzahlwertes für den Lüfter den Leistungswert Pfan für den Lüfter aus der abgeleiteten Lüfterleistungstabelle ermitteln.
  • Die Managementsteuereinheit 310 berechnet einen Gesamtleistungswert Ptotal_c des Systems für den aktuellen Temperaturschwellenwert Tthr_c, indem sie den Gesamtleistungswert Pproc_@Tthr_c der Prozessoren für den aktuellen Zeitraum und den ermittelten Leistungswert Pfan der Lüfter addiert. Ausgehend von dem ermittelten Gesamtleistungswert Ptotal_c des Systems und ohne den aktuellen Temperaturschwellenwert Tthr_c kurzfristig zu ändern, führt die Managementsteuereinheit 310 eine Reihe von Berechnungen aus, um zu ermitteln, ob es einen anderen Temperaturschwellenwert Tthr_i gibt, bei dem die Gesamtleistung des System verringert würde. Das heißt, die Managementsteuereinheit 310 wiederholt jede der vorhergehenden Berechnungen für einen Bereich potenzieller Temperaturschwellenwerte Tthr, zum Beispiel 65°C bis 80°C, um unter Verwendung des aktuellen Gesamtleistungswertes Pmeas der Prozessoren und eines höchsten Temperaturwertes Tmax aus der Temperaturreihe Tmeas einen potenziellen Gesamtleistungswert Ptotal_i des Systems zu berechnen. Zu Anfang setzt die Managementsteuereinheit 310 den Gesamtleistungswert Ptotal_c des Systems gleich einem Mindestleistungswert Ptotal_min des Gesamtsystems. Nach dem Berechnen jedes potenziellen Gesamtleistungswertes Ptotal_i des Systems ermittelt die Managementsteuereinheit 310, ob der potenzielle Gesamtleistungswert Ptotal_i des Systems kleiner als der Mindestleistungswert Ptotal_min des Gesamtsystems ist.
  • Wenn der dem potenziellen Temperaturschwellenwert Tthr_i zugehörige potenzielle Gesamtleistungswert Ptotal_i des Systems nicht kleiner als der kleinste Gesamtleistungswert Ptotal_min des Systems ist, fährt die Managementsteuereinheit 310 mit dem Berechnen des nächsten potenziellen Gesamtleistungswerts Ptotal_i des Systems für den nächsten potenziellen Temperaturschwellenwert Tthr_i fort und ermittelt, ob der potenzielle Gesamtleistungswert Ptotal_i des Systems kleiner als der Mindestleistungswert Ptotal_min des Gesamtsystems ist. Wenn der potenzielle Gesamtleistungswert Ptotal_i des Systems kleiner als der Mindestleistungswert Ptotal_min des Gesamtsystems ist, legt die Managementsteuereinheit 310 den potenziellen Gesamtleistungswert Ptotal_i des Systems als neuen Mindestleistungswert Ptotal_min des Gesamtsystems fest und speichert den potenziellen Temperaturschwellenwert Tthr_i als aktuellen Temperaturschwellenwert Tthr_o, bei dem die Gesamtleistung des Systems verringert wird, obwohl noch nicht alle potenziellen Temperaturschwellenwerte Tthr geprüft worden sind.
  • Der Prozess wird so lange fortgesetzt, bis alle potenziellen Temperaturschwellenwerte Tthr geprüft worden sind. Sobald alle potenziellen Temperaturschwellenwerte Tthr geprüft sind, aktualisiert die Managementsteuereinheit 310 den aktuellen Temperaturschwellenwert Tthr_c in den Temperaturschwellenwerten 320 durch den aktuellen optimalen Temperaturschwellenwert Tthr_o, bei dem die Gesamtleistung des Systems verringert wird. Durch Aktualisieren des aktuellen Temperaturschwellenwerts Tthr_c kann/können die Lüfterdrehzahl/en zunehmen, abnehmen oder konstant bleiben. Dann wartet die Managementsteuereinheit 310 eine vorgegebene Zeit lang, um sicherzustellen, dass der Lüfter eine konstante Drehzahl erreicht hat. Nach Ablauf des vorgegebenen Zeitraums wiederholt die Managementsteuereinheit 310 den Prozess, indem sie einen aktuellen oberen Temperaturschwellenwert Tthr von den Temperaturschwellenwerten 320 abruft, über die Leistungssensoren 304 einen aktuellen Gesamtleistungswert Pmeas für die Prozessoren 302, eine von den Temperatursensoren 308 für die Prozessoren 302 gelesene Reihe von aktuellen Temperaturwerten Tmeas und einen aktuellen Umgebungstemperaturwert Tamb für das Datenverarbeitungssystem 300 erhält.
  • Die Managementsteuereinheit 310 kann zur Verwaltung sowohl der Systemleistung als auch der Temperatur für jede kritische Komponente (oder ein Teilsystem auf einem Chip wie beispielsweise bei Mehrkernprozessoren) eingesetzt werden, sodass das Managementsteuersystem 310 direkt die Grenzen der thermischen Belastbarkeit und der Systemleistung ansteuern und einhalten kann. Zwar wird gezeigt, dass die Managementsteuereinheit 310 Werte von Leistungssensoren 304, Auslastungssensoren 306 und Temperatursensoren 308 zum Ansteuern des Lüfterdrehzahlreglers 318 verwendet, jedoch legen die anschaulichen Ausführungsformen nahe, dass ein beliebiger Sensortyp Werte an die Managementsteuereinheit 310 senden und die Managementsteuereinheit 310 jeden beliebigen Reglertyp verwenden kann, um einem Abblättern von Kunststoffgehäusen in einem Datenverarbeitungssystem aufgrund thermischer Spannungen vorzubeugen und gleichzeitig so viel Systemleistung wie möglich in dem Datenverarbeitungssystem einzusparen, indem beispielsweise ein Spannungsregler 312, ein Frequenzregler 314 und/oder ein Durchsatzregler 316 verwendet wird.
  • Die 4A und 4B zeigen beispielhafte Diagramme, die eine Zeit veranschaulichen, die zum Angleichen der Systemleistung in einem System nach dem Stand der Technik im Vergleich zu dem oben beschriebenen System gemäß einer anschaulichen Ausführungsform benötigt wird. 4A zeigt ein Diagramm eines Systems nach dem Stand der Technik, bei dem die Zeit zum Angleichen und zum Einstellen der Leistung ungefähr 9 Minuten beträgt. Im Vergleich dazu zeigt 4B ein Diagramm des veranschaulichten Systems, bei dem die Zeit zum Angleichen und zum Einstellen der Leistung nur 4,5 Minuten beträgt.
  • Die 5A und 5B zeigen beispielhafte Diagramme, die eine Zeit veranschaulichen, die zum Angleichen der Lüfterdrehzahl in einem System nach dem Stand der Technik im Vergleich zu einem oben beschriebenen System gemäß einer anschaulichen Ausführungsform benötigt wird. 5A zeigt ein Diagramm eines Systems nach dem Stand der Technik, bei dem die Zeit zum Angleichen und Einstellen der Lüfterdrehzahl ungefähr 8 Minuten beträgt. Im Vergleich hierzu zeigt 5B ein Diagramm des veranschaulichten Systems, bei dem die Zeit zum Angleichen und Einstellen der Lüfterdrehzahl 1 Minute beträgt.
  • Somit bewirken die anschaulichen Ausführungsformen eine mehr als doppelt so schnelle Angleichung als in Systemen nach dem Stand der Technik. Sobald die thermischen Bedingungen in einem Datenverarbeitungssystem unter Verwendung der anschaulichen Ausführungsform stabilisiert sind, arbeitet das Datenverarbeitungssystem mit geringstmöglicher Gesamtleistung, die sich aus der Lüfterleistung und der Verlustleistung in den Prozessoren zusammensetzt. Die Modelle der anschaulichen Ausführungsformen werden von den Kennwerten des Systems abgeleitet, die im Vergleich mit den Messungen der aktuellen Lüfterdrehzahl möglicherweise nicht ganz optimal sind. Die Verwendung von modellgestützten Kennwerten führt jedoch zu einer praktischen Lösung, die in einer Umgebung mit dynamischem Lastaufkommen und innerhalb der thermischen Reaktionszeiten von Gehäusen innerhalb des Datenverarbeitungssystems umgesetzt werden können.
  • Dem Fachmann ist einsichtig, dass die vorliegende Erfindung als System, Verfahren oder Computerprogrammprodukt umgesetzt werden kann. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer kompletten Hardwareausführungsform, einer kompletten Softwareausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte in sich vereint und die hierin sämtlich allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren beliebigen computerlesbaren Medien verkörpert sind, auf denen ein durch Computer verwendbarer Programmcode gespeichert ist.
  • Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine entsprechende Vorrichtung oder Einheit oder eine beliebige geeignete Kombination derselben handeln. Als konkrete Beispiele (eine nicht erschöpfende Aufzählung) für das computerlesbare Medium kommen infrage: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination derselben. In Verbindung mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal mit einem darin verkörperten computerlesbaren Programmcode enthalten, zum Beispiel in einem Basisband oder als Teil einer Trägerwelle. Ein solches sich ausbreitendes Signal kann eine beliebige Vielfalt von Formen annehmen, darunter, ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder eine beliebige geeignete Kombination derselben. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten oder transportieren kann.
  • Ein auf einem computerlesbaren Medium verkörperter Computercode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter, ohne darauf beschränkt zu sein, drahtlos, leitungsgebunden, Lichtwellenleiter, Hochfrequenz (HF) usw. oder eine beliebige geeignete Kombination derselben.
  • Ein Computerprogramm zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie beispielsweise JavaTM, SmalltalkTM, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann komplett auf dem Computer eines Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder komplett auf dem fernen Computer oder Server ausgeführt werden. Im letzteren Szenario kann der ferne Computer durch einen beliebigen Typ von Netzwerk mit dem Computer des Benutzers verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstleisters) zu einem externen Computer hergestellt werden.
  • Im Folgenden werden Aspekte der vorliegenden Erfindung unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den anschaulichen Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block in dem Ablaufplänen und/oder Blockschaltbildern und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaltbildern durch Anweisungen eines Computerprogramms umgesetzt werden können. Diese Anweisungen des Computerprogramms können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine derart zu erzeugen, dass die durch den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebenen Funktionen/Aktionen erzeugen.
  • Diese Anweisungen des Computerprogramms können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten veranlassen kann, in einer bestimmten Weise so zu funktionieren, dass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt erzeugen, das Anweisungen zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds angegebenen Funktionen/Aktionen enthält.
  • Die Anweisungen des Computerprogramms können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Folge von Arbeitsschritten zu veranlassen, die auf dem Computer, einer anderen programmierbaren Vorrichtung oder anderen Einheiten ausgeführt werden sollen, sodass sie einen computergestützten Prozess derart erzeugen, dass die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebenen Funktionen/Aktionen bereitstellen.
  • 6 zeigt einen Ablaufplan, der beispielhafte Operationen zum Ableiten eines Skalierungsfaktors Pleak_per°C für die Verlustleistung gemäß einer anschaulichen Ausführungsform darstellt. In einem ersten Schritt weist die Managementsteuereinheit einer Reihe von Prozessoren in einem Datenverarbeitungssystem eine konstante Arbeitslast zu (Schritt 602). Die Managementsteuereinheit platziert einen aktuellen Temperaturschwellenwert Tthr_c aus einem Speicher von Temperaturschwellenwerten an einem unteren Ende eines Bereichs potenzieller Temperaturschwellenwerte Tthr_i (Schritt 604). Zum Beispiel setzt die Managementsteuereinheit für einen Bereich von 65°C bis 80°C zu Anfang den Wert Tthr_c gleich 65°C und bildet dadurch den Wert Tthr1. Dann verarbeitet das Datenverarbeitungssystem die aktuelle Arbeitslast, bis sich die den Prozessoren zugehörige Temperatur stabilisiert hat (Schritt 606). Die Managementsteuereinheit ermittelt, ob sich die Temperatur stabilisiert hat, indem sie durch einen Temperatursensor die Umgebungstemperatur des Datenverarbeitungssystems überwacht (Schritt 608). Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 608 noch nicht stabilisiert hat, kehrt der Prozess zurück zu Schritt 606. Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 608 stabilisiert hat, misst die Managementsteuereinheit einen ersten Gesamtleistungswert P1 der Prozessoren (Schritt 610).
  • Dann platziert die Managementsteuereinheit den aktuellen Temperaturschwellenwert Tthr_c an einem oberen Ende eines Bereichs potenzieller Temperaturschwellenwerte Tthr_i (Schritt 612). Zum Beispiel kann die Managementsteuereinheit für einen Bereich von 65°C bis 80°C den Wert Tthr gleich 80°C setzen und dadurch den Wert Tthr2 bilden. Dann verarbeitet das Datenverarbeitungssystem die aktuelle Arbeitslast, bis sich die den Prozessoren zugehörige Temperatur stabilisiert hat (Schritt 614). Die Managementsteuereinheit ermittelt, ob sich die Temperatur stabilisiert hat, indem sie durch einen Temperatursensor die Umgebungstemperatur des Datenverarbeitungssystems überwacht (Schritt 616). Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 616 noch nicht stabilisiert hat, kehrt der Prozess zurück zu Schritt 614. Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 616 stabilisiert hat, misst die Managementsteuereinheit einen zweiten Gesamtleistungswert P2 der Prozessoren (Schritt 618). Dann berechnet die Managementsteuereinheit den Skalierungsfaktor Pleak_per_°C (Schritt 620) unter Verwendung der folgenden Gleichung für den Skalierungsfaktor Pleak_per_°C: Pleak_per_°C = (P2 – P1)/(Tthr2 – Tthr1).
  • Somit kann der Skalierungsfaktor Pleak_per_°C zum Beispiel ½ Watt pro Grad Celsius, 3/8 Watt pro Grad Celsius, 1/4 Watt pro Grad Celsius oder dergleichen betragen. Zwar dient bei dem aktuellen Beispiel die Celsius-Skala als Grundlage für die Temperaturmessung, jedoch sind die anschaulichen Ausführungsformen darüber hinaus nicht ausschließlich auf Temperaturmessungen gemäß der Celsius-Skala beschränkt. Das heißt, für die Temperatur kann eine beliebige Maßeinheit verwendet werden, beispielsweise Fahrenheit, Kelvin oder dergleichen. Nach Schritt 620 ist der Prozess beendet.
  • 7 zeigt einen Ablaufplan, der beispielhafte Operationen zum Ableiten der Drehzahländerung als Funktion der Temperaturänderung ΔRPM/°C gemäß einer anschaulichen Ausführungsform darstellt. In einem ersten Schritt weist eine Managementsteuereinheit einer Reihe von Prozessoren in einem Datenverarbeitungssystem eine konstante Arbeitslast zu (Schritt 702). Die Managementsteuereinheit platziert einen aktuellen Temperaturschwellenwert Tthr_c aus einem Speicher von Temperaturschwellenwerten an einem unteren Ende eines Bereichs potenzieller Temperaturschwellenwerte Tthr_i (Schritt 704). Zum Beispiel würde die Managementsteuereinheit für einen Bereich von 65°C bis 80°C zu Anfang den Wert Tthr_c gleich 65°C setzen und dadurch den Wert Tthr1 bilden. Dann verarbeitet das Datenverarbeitungssystem die aktuelle Arbeitslast, bis sich die den Prozessoren zugehörige Temperatur stabilisiert hat (Schritt 706). Die Managementsteuereinheit ermittelt, ob sich die Temperatur stabilisiert hat, indem sie durch einen Temperatursensor die Umgebungstemperatur des Datenverarbeitungssystems überwacht (Schritt 708). Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 708 noch nicht stabilisiert hat, kehrt der Prozess zurück zu Schritt 706. Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 708 stabilisiert hat, misst die Managementsteuereinheit 310 durch eine Reihe von Drehzahlsensoren eine erste Lüfterdrehzahl RPM1 in Umdrehungen pro Minute (Schritt 710).
  • Dann platziert die Managementsteuereinheit den aktuellen Temperaturschwellenwert Tthr_c an einem oberen Ende eines Bereichs potenzieller Temperaturschwellenwerte Tthr_i (Schritt 712). Zum Beispiel würde die Managementsteuereinheit für einen Bereich von 65°C bis 80°C den Wert Tthr gleich 80°C setzen und dadurch den Wert Tthr2 bilden. Dann verarbeitet das Datenverarbeitungssystem die aktuelle Arbeitslast, bis sich die den Prozessoren zugehörige Arbeitslast stabilisiert hat (Schritt 714). Die Managementsteuereinheit ermittelt, ob sich die Temperatur stabilisiert hat, indem sie durch einen Temperatursensor die Umgebungstemperatur des Datenverarbeitungssystems überwacht (Schritt 716). Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 716 noch nicht stabilisiert hat, kehrt der Prozess zurück zu Schritt 714. Wenn sich die Temperatur des Datenverarbeitungssystems in Schritt 716 stabilisiert hat, misst die Managementsteuereinheit durch eine Reihe von Drehzahlsensoren eine zweite Lüfterdrehzahl RPM2 in Umdrehungen pro Minute (Schritt 718). Die Managementsteuereinheit berechnet die Drehzahländerung als Funktion des Wertes der Temperaturänderung ΔRPM/°C (Schritt 720) unter Verwendung der folgenden Gleichung für die Drehzahländerung: ΔRPM/°C = (RPM2 – RPM1)/(Tthr2 – Tthr1).
  • Nach Schritt 720 ist der Prozess beendet.
  • 8 zeigt einen Ablaufplan, der beispielhafte Operationen zum Ableiten eines Modells für die Lüfterleistung gemäß einer anschaulichen Ausführungsform darstellt. In einem ersten Schritt setzt die Managementsteuereinheit zu Anfang die Drehzahl (RPMs) eines Lüfters gleich einem kleinsten Drehzahlnennwert (RPM) für den Lüfter (Schritt 802). Dann wartet die Managementsteuereinheit, bis der Lüfter den festgelegten Drehzahlwert erreicht hat (Schritt 804). Die Managementsteuereinheit ermittelt anhand der Messung durch einen Drehzahlsensor, ob die Drehzahlen des Lüfters den festgelegten Drehzahlwert erreicht haben (Schritt 806). Wenn die Drehzahlen des Lüfters in Schritt 806 den Drehzahlwert noch nicht erreicht haben, kehrt der Prozess wieder zurück zu Schritt 804. Wenn die Drehzahlen des Lüfters in Schritt 806 den festgelegten Drehzahlwert erreicht haben, misst die Managementsteuereinheit die durch den Lüfter aufgenommene Leistung (Schritt 808) und speichert den gemessenen Leistungswert in einer Lüfterleistungstabelle oder in einer anderen Datenstruktur (Schritt 810). Dann erhöht die Managementsteuereinheit den aktuellen Drehzahlwert um einen Steigerungswert ΔRPM (Schritt 812). Die Managementsteuereinheit ermittelt, ob der neue Drehzahlwert größer als oder gleich einem höchstzulässigen Nennwert der Lüfterdrehzahl ist (Schritt 814). Wenn der neue Drehzahlwert in Schritt 814 nicht größer als oder gleich dem höchstzulässigen Nennwert der Lüfterdrehzahl ist, setzt die Managementsteuereinheit die Drehzahlen eines Lüfters gleich dem neuen Drehzahlwert (Schritt 816), worauf der Prozess wieder zu Schritt 804 zurückkehrt. Wenn der neue Drehzahlwert in Schritt 814 größer als oder gleich dem höchstzulässigen Nennwert der Lüfterdrehzahl ist, ermittelt die Managementsteuereinheit, ob in der Lüfterleistungstabelle oder einer anderen Struktur noch Drehzahlwerte fehlen (Schritt 818). Wenn in Schritt 818 noch Drehzahlwerte fehlen, kann die Managementsteuereinheit vorhandene Algorithmen als Funktion der Drehzahl nutzen, um die unbekannten Leistungswerte auf der Grundlage anderer Drehzahl- und Leistungswerte in der Lüfterleistungstabelle abzuleiten (Schritt 820), worauf der Prozess endet. Wenn in Schritt 818 keine Drehzahlwerte mehr fehlen, ist der Prozess beendet.
  • 9 zeigt einen Ablaufplan, der beispielhafte Operationen zum Verringern der Systemleistung in einem Datenverarbeitungssystem während der Laufzeit ohne Leistungseinbuße und mit schneller Angleichung auf ein Mindestmaß gemäß einer anschaulichen Ausführungsform darstellt. In einem ersten Schritt ruft die Managementsteuereinheit einen aktuellen Temperaturschwellenwert Tth_c ab (Schritt 902). Die Managementsteuereinheit gewinnt mittels Leistungssensoren einen aktuellen Gesamtleistungswert Pmeas der Prozessoren, eine Reihe von Temperatursensoren der Prozessoren gelesenen Temperaturwerten Tmeas und einen Umgebungstemperaturwert Tamb für das Datenverarbeitungssystem (Schritt 904). Die Managementsteuereinheit verwendet den aktuellen Gesamtleistungswert Pmeas der Prozessoren, einen höchsten Temperaturwert Tmax aus der Reihe von Temperaturwerten Tmeas, den aktuellen Temperaturschwellenwert Tthr_c und den Skalierungsfaktor Pleak_per_°C, um unter Berücksichtigung des Wertes Pproc@Tthr_c und unter Verwendung der folgenden Modellgleichung für die Gesamtleistung der Prozessoren einen Gesamtleistungswert der Prozessoren zu berechnen (Schritt 906): Pproc@Tthr_c = Pmeas + (Tthr_c – Tmax)· Pleak_per_°C.
  • Nach Ermitteln des Wertes Pproc@Tthr_c ermittelt die Managementsteuereinheit eine Drehzahl (RPM), die ein Lüfter zum Erreichen des aktuellen Temperaturschwellenwerts Tthr_c benötigt (Schritt 908), unter Verwendung des zuvor berechneten Gesamtleistungswertes der Prozessoren bei dem aktuellen Temperaturschwellenwert Pproc@Tthr_c, des aktuellen Umgebungstemperaturwertes Tamb für das Datenverarbeitungssystem 300, des aktuellen Temperaturschwellenwerts Tthr_c und der Drehzahländerung als Funktion des Wertes der Temperaturänderung ΔRPM/°C, um einen Drehzahlwert unter Verwendung der folgenden Drehzahlmodellgleichung zu ermitteln: RPM = ((((Pproc@Tthr_c/Pproc_char)·(Tthr_char – Tamb_char)) + Tamb) – Tthr_c)·ΔRPM/°C + RPMchar.
  • Auf der Grundlage des für den Lüfter ermittelten Drehzahlwertes ermittelt die Managementsteuereinheit unter Verwendung einer Suchtabelle oder einer abgeleiteten Lüfterleistungstabelle einen Leistungswert Pfan für den Lüfter (Schritt 910). Dann berechnet die Managementsteuereinheit einen Gesamtleistungswert Ptotal_c des Systems für den aktuellen Temperaturschwellenwert Tthr_c durch Addieren des Gesamtleistungswertes Pproc_@Tthr_c der Prozessoren für den aktuellen Zeitraum und des ermittelten Leistungswertes Pfan des Lüfters (Schritt 912). Die Managementsteuereinheit setzt den Gesamtleistungswert Ptotal_c des Systems gleich einem Mindestwert der Gesamtsystemleistung Ptotal_min (Schritt 914). Für jeden potenziellen Temperaturschwellenwert Tthr_i in einem Bereich potenzieller Temperaturschwellenwerte führt die Managementsteuereinheit eine Reihe von Berechnungen durch, um zu ermitteln, ob es noch einen anderen Temperaturschwellenwert gibt, der die Gesamtleistung verringern würde (Schritt 916). Nach dem Berechnen jedes potenziellen Gesamtleistungswertes Ptotal_i des Systems ermittelt die Managementsteuereinheit, ob der potenzielle Gesamtleistungswert Ptotal_i des Systems kleiner als der Mindestwert der Gesamtsystemleistung Ptotal_min ist (Schritt 918).
  • Wenn in Schritt 918 der dem potenziellen Temperaturschwellenwert Tthr_i zugehörige potenzielle Wert der Gesamtsystemleistung Ptotal_i nicht kleiner als der Mindestwert der Gesamtsystemleistung Ptotal_min ist, ermittelt die Managementsteuereinheit, ob es in dem Bereich potenzieller Temperaturschwellenwerte Tthr_i noch einen weiteren potenziellen Temperaturschwellenwert Tthr_i gibt (Schritt 920). Wenn es in Schritt 920 noch einen weiteren potenziellen Temperaturschwellenwert Tthr_i gibt, kehrt der Prozess wieder zu Schritt 906 zurück.
  • Wenn in Schritt 918 der potenzielle Wert der Gesamtsystemleistung Ptotal_i kleiner als der Mindestwert der Gesamtsystemleistung Ptotal_min ist, setzt die Managementsteuereinheit den potenziellen Wert der Gesamtsystemleistung Ptotal_i gleich dem neuen Mindestwert der Gesamtsystemleistung Ptotal_min (Schritt 922). Dann speichert die Managementsteuereinheit den potenziellen Temperaturschwellenwert Tthr_i als aktuellen optimalen Temperaturschwellenwert Tthr_o, bei dem die Gesamtsystemleistung verringert wird (Schritt 924). Daraufhin geht der Prozess weiter zu Schritt 920. Wenn es in Schritt 920 keinen weiteren potenziellen Temperaturschwellenwert Tthr_i gibt, aktualisiert die Managementsteuereinheit den aktuellen Temperaturschwellenwert Tthr_c durch den aktuellen optimalen Temperaturschwellenwert Tthr_o, durch den die Gesamtsystemleistung verringert wird (Schritt 926). Durch Aktualisieren des aktuellen Temperaturschwellenwertes Tthr_c kann/können die Lüfterdrehzahl/en zunehmen, abnehmen oder konstant bleiben. Dann wartet die Managementsteuereinheit eine vorgegebene Zeit lang, um sicherzustellen, dass der Lüfter eine konstante Drehzahl erreicht hat (Schritt 928). Die Managementsteuereinheit ermittelt, ob der vorgegebene Zeitraum abgelaufen ist (Schritt 930). Wenn der vorgegebene Zeitraum in Schritt 930 nicht abgelaufen ist, kehrt der Prozess wieder zurück zu Schritt 928. Wenn der vorgegebene Zeitraum in Schritt 930 abgelaufen ist, kehrt der Prozess wieder zurück zu Schritt 902.
  • Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Arbeitsweise möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Demgemäß kann jeder Block in dem Ablaufplan oder in den Blockschaltbildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion/en aufweist. Zu beachten ist, dass bei einigen alternativen Ausführungsformen die in dem Block angegebenen Funktionen in einer von den Figuren angegebenen Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander gezeigte Blöcke je nach vorgesehener Funktionalität in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können mitunter in der umgekehrten Reihenfolge ausgeführt werden. Ferner ist zu beachten, dass jeder Block der Blockschaltbilder und/oder des Ablaufplans und Kombinationen von Blöcken in den Blockschaltbildern und/oder dem Ablaufplan durch spezielle Hardwaresysteme, die die angegebenen Funktionen oder Aktionen ausführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können.
  • Somit stellen die anschaulichen Ausführungsformen Mechanismen zum Verringern der Systemleistung auf ein Mindestmaß ohne Leistungseinbuße bei schneller Angleichung bereit. Durch den Mechanismus wird eine Lüfterdrehzahl auf der Grundlage eines Temperatursollwertes des Prozessors unter Verwendung eines modellgestützten Ansatzes geregelt, von welchem aus die Systemleistung ohne thermische Störungen auf ein Mindestmaß verringert wird. Unter Verwendung von Modellen für die Prozessorleistung und die Drehzahl in Umdrehungen pro Minute (RPM), die ein Lüfter zum Erreichen einer gewünschten Temperatur benötigt, ermittelt der Mechanismus einen Gesamtleistungswert Ptotal des Systems und eine Leistung des Lüfters für einen vorgegebenen Zeitraum. Um einen Punkt zu erreichen, an dem die Verlustleistung die Einsparungen an Lüfterleistung noch nicht übersteigen, ermittelt der Mechanismus während jedes Zeitraums zunächst auf der Grundlage des ermittelten Wertes der Gesamtsystemleistung Ptotal, ob ein neuer Temperaturschwellenwert festgelegt werden sollte. Wenn der Mechanismus einen neuen Temperaturschwellenwert ermittelt, der einen besseren Gesamtwirkungsgrad als der aktuelle Temperaturschwellenwert bietet, aktualisiert der Mechanismus den Temperaturschwellenwert. Wenn es einen neuen Temperaturschwellenwert gibt, bei dem die Gesamtsystemleistung verringert wird, wird die Lüfterdrehzahl außerdem auf der Grundlage des verringerten Wertes der Gesamtsystemleistung Ptotal entsprechend angepasst. Somit verringern die anschaulichen Ausführungsformen die Systemleistung durch Nutzen der Beziehung zwischen der Lüfterleistung und der Verlustleistung auf ein Mindestmaß und erreichen schneller eine optimale Gesamtsystemleistung.
  • Wie oben erwähnt sollte einsichtig sein, dass die anschaulichen Ausführungsformen die Form einer kompletten Hardwareausführungsform, einer kompletten Softwareausführungsform oder einer Ausführungsform annehmen können, die sowohl Hardware- als auch Softwareelemente enthalten. Gemäß einer beispielhaften Ausführungsform werden die Mechanismen der anschaulichen Ausführungsformen in einem Software- oder Programmcode umgesetzt, der unter anderem, ohne darauf beschränkt zu sein, Firmware, residente Software, Mikrocode usw. enthält.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, beinhaltet mindestens einen Prozessor, der durch einen Systembus direkt oder indirekt mit Speicherelementen verbunden ist. Die Speicherelemente können einen lokalen Speicher, der während der Ausführung des Programmcodes selbst genutzt wird, einen Massenspeicher und Cachespeicher beinhalten, die zur temporären Speicherung zumindest eines Teils des Programmcodes dienen, um die Anzahl der erforderlichen Zugriffe auf den Code vom Massenspeicher während der Ausführung zu verringern.
  • Eingabe/Ausgabe- oder EIA-Einheiten (darunter, ohne darauf beschränkt zu sein, Tastaturen, Bildschirme, Zeigereinheiten usw.) können entweder direkt oder durch zwischengeschaltete EIA-Steuereinheiten mit dem System verbunden sein. Mit dem System können auch Netzwerkadapter verbunden sein, damit das Datenverarbeitungssystem durch zwischengeschaltete private oder öffentliche Netzwerke mit anderen Datenverarbeitungssystemen oder fernen Druckern oder Speichereinheiten verbunden werden kann. Modems, Kabelmodems und Ethernet-Karten stellen lediglich einige wenige zurzeit verfügbare Typen von Netzwerkadaptern dar.
  • Die Beschreibung der vorliegenden Erfindung ist zur Veranschaulichung und Beschreibung vorgelegt worden und erhebt nicht den Anspruch auf Vollständigkeit oder Beschränkung auf die Erfindung in der offenbarten Form. Dem Fachmann sind viele Änderungen und Varianten offensichtlich. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung bestmöglich zu erläutern und anderen Fachleuten das Verständnis der Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu erleichtern, die für die jeweils vorgesehene Verwendung geeignet sind.

Claims (20)

  1. Verfahren in einem Datenverarbeitungssystem (300) zum Verringern der Systemleistung in dem Datenverarbeitungssystem (300) bei schneller Angleichung auf ein Mindestmaß, wobei das Verfahren aufweist: Ermitteln (912) eines aktuellen Wertes der Gesamtsystemleistung durch eine Managementsteuereinheit (310) in dem Datenverarbeitungssystem (300) unter Verwendung eines aktuellen Temperaturschwellenwertes (320); Ermitteln durch die Managementsteuereinheit (310) für jeden potenziellen Temperaturschwellenwert (320) in einer Reihe potenzieller Temperaturschwellenwerte (320), ob es einen potenziellen Temperaturschwellenwert (320) gibt, der zu einem potenziellen Wert der Gesamtsystemleistung führt, der niedriger als der aktuelle Wert der Gesamtsystemleistung ist (916); und Festlegen eines optimalen potenziellen Temperaturschwellenwertes durch die Managementsteuereinheit (310) als neuen Temperaturschwellenwert (926) als Reaktion auf ein Ermitteln eines optimalen potenziellen Temperaturschwellenwertes aus der Reihe potenzieller Temperaturschwellenwerte (320), der zu einem Mindestwert der Gesamtsystemleistung führt, der kleiner als der aktuelle Wert der Gesamtsystemleistung ist (924).
  2. Verfahren nach Anspruch 1, wobei die aktuelle Gesamtsystemleistung durch das Verfahren ermittelt wird, das aufweist: Berechnen eines Gesamtleistungswertes der Prozessoren durch die Managementsteuereinheit (906); Berechnen einer Drehzahl durch die Managementsteuereinheit, die ein Lüfter benötigt, um den aktuellen Temperaturschwellenwert zu erreichen (908); Verwenden der Drehzahl durch die Managementsteuereinheit, um einen Wert der Lüfterleistung zu ermitteln (910); und Berechnen des aktuellen Gesamtleistungswertes des Systems durch die Managementsteuereinheit durch Addieren des Gesamtleistungswertes der Prozessoren und des Wertes der Lüfterleistung (912).
  3. Verfahren nach Anspruch 2, wobei der Gesamtleistungswert der Prozessoren unter Verwendung einer Modellgleichung für die Gesamtleistung der Prozessoren wie folgt berechnet wird (906): Pproc@Tthr_c = Pmeas + (Tthr_c – Tmax)·Pleak_per_°C wobei Pproc@Tthr_c ein Gesamtleistungswert der Prozessoren bei dem vorliegenden aktuellen Temperaturschwellenwert, Pmeas eine aktuelle Gesamtleistung der Prozessoren, Tmax eine höchste Temperatur aus der für einen Satz von Prozessoren in dem Datenverarbeitungssystem erhaltenen Reihe von Temperaturen T, Tthr_c der aktuelle Temperaturschwellenwert und Pleak_per_°C ein Skalierungsfaktor für die Verlustleistung in Form einer in Grad Celsius gemessenen Temperatur ist.
  4. Verfahren nach Anspruch 2, wobei die Drehzahl, die der Lüfter benötigt, um den aktuellen Temperaturschwellenwert zu erreichen, unter Verwendung einer Modellgleichung für die Drehzahl (RPM) wie folgt berechnet wird (908): RPM = ((((Pproc@Tthr_c/Pproc_char)·(Tthr_char – Tamb_char)) + Tamb) – Tthr_c)·ΔRPM/°C + RPMchar wobei Pproc@Tthr_c eine Gesamtleistung der Prozessoren bei dem vorliegenden Temperaturschwellenwert, Pproc_char ein charakteristischer Leistungswert der Prozessoren, der für eine Reihe von Prozessoren in dem Datenverarbeitungssystem während der Kalibrierung des Datenverarbeitungssystems gewonnen wurde, Tthr_char ein charakteristischer Temperaturwert, der für die Reihe von Prozessoren in dem Datenverarbeitungssystem während der Kalibrierung des Datenverarbeitungssystems gewonnen wurde, Tthr_amb ein charakteristischer Umgebungstemperaturwert, der für das Datenverarbeitungssystem während der Kalibrierung des Datenverarbeitungssystems gewonnen wurde, Tamb die aktuelle Umgebungstemperatur des Datenverarbeitungssystems, Tthr_c der aktuelle vorliegende Temperaturschwellenwert, ΔRPM/°C eine Drehzahländerung als Funktion der Temperaturänderung und RPM_char ein charakteristischer Drehzahlwert ist, der für das Datenverarbeitungssystem während der Kalibrierung des Datenverarbeitungssystems gewonnen wurde.
  5. Verfahren nach Anspruch 2, wobei der Wert der Lüfterleistung unter Verwendung der Drehzahl in einer Suchtabelle (810) ermittelt wird, in der die Drehzahl auf der Grundlage des Lüftermodells der Lüfterleistung zugeordnet ist.
  6. Verfahren nach Anspruch 2, wobei der Wert der Lüfterleistung unter Verwendung der Drehzahl in einer abgeleiteten Lüftertabelle ermittelt wird (810).
  7. Verfahren nach Anspruch 1, wobei das Ermitteln, ob es den potenziellen Temperaturschwellenwert gibt, der zu einer potenziellen Gesamtsystemleistung führt, die geringer als die aktuelle Gesamtsystemleistung ist (916), aufweist: Festlegen eines Mindestwertes der Gesamtsystemleistung (914) durch die Managementsteuereinheit (310) als aktueller Wert der Gesamtsystemleistung; Ermitteln eines ersten potenziellen Wertes der Gesamtsystemleistung für einen ersten potenziellen Temperaturschwellenwert in der Folge potenzieller Temperaturschwellenwerte (320) unter Verwendung des ersten potenziellen Temperaturschwellenwertes durch die Managementsteuereinheit (310); Ermitteln, ob der erste potenzielle Wert der Gesamtsystemleistung kleiner als der Mindestwert der Gesamtsystemleistung ist (918); Festlegen des ersten potenziellen Wertes der Gesamtsystemleistung als Mindestwert der Gesamtsystemleistung durch die Managementsteuereinheit als Reaktion darauf, dass der erste potenzielle Wert der Gesamtsystemleistung kleiner als der Mindestwert der Gesamtsystemleistung ist (922); Speichern des ersten potenziellen Temperaturschwellenwertes durch die Managementsteuereinheit (310) als optimalen potenziellen Temperaturschwellenwert (924); unverändertes Beibehalten des Mindestwertes der Gesamtsystemleistung durch die Managementsteuereinheit (310) als Reaktion darauf, dass der erste potenzielle Wert der Gesamtsystemleistung größer als oder gleich dem Mindestwert der Gesamtsystemleistung ist (918); und Wiederholen des Prozesses durch die Managementsteuereinheit für jeden folgenden potenziellen Temperaturschwellenwert in der Reihe der potenziellen Temperaturschwellenwerte (920).
  8. Verfahren nach Anspruch 1, wobei durch ein Festlegen des optimalen potenziellen Temperaturschwellenwertes, der zu einem Mindestwert der Gesamtsystemleistung führt, als neuen Temperaturschwellenwert für den aktuellen Zeitraum (926) die Lüfterdrehzahl entweder zunimmt, abnimmt oder konstant bleibt.
  9. Computerprogrammprodukt, das ein computerlesbares Speichermedium mit einem darin gespeicherten computerlesbaren Programm aufweist, wobei das computerlesbare Programm bei Ausführung auf einer Datenverarbeitungseinheit (300) diese veranlasst: unter Verwendung eines aktuellen Temperaturschwellenwertes (320) einen aktuellen Wert der Gesamtsystemleistung zu ermitteln (912); für jeden potenziellen Temperaturschwellenwert (320) in einer Reihe potenzieller Temperaturschwellenwerte (320) zu ermitteln, ob es einen potenziellen Temperaturschwellenwert (320) gibt, der zu einem potenziellen Wert der Gesamtsystemleistung führt, der kleiner als der aktuelle Wert der Gesamtsystemleistung ist (916); und als Reaktion auf das Ermitteln des optimalen potenziellen Temperaturschwellenwertes aus der Reihe potenzieller Temperaturschwellenwerte (320) den optimalen potenziellen Temperaturschwellenwertes als neuen Temperaturschwellenwert (926) festzulegen, der zu einem Mindestwert der Gesamtsystemleistung führt, der geringer als der aktuelle Wert der Gesamtsystemleistung ist (924).
  10. Computerprogrammprodukt nach Anspruch 9, wobei das computerlesbare Programm zum Ermitteln der aktuellen Gesamtsystemleistung die Datenverarbeitungseinheit ferner veranlasst: einen Gesamtleistungswert der Prozessoren zu berechnen (906); eine Drehzahl zu berechnen, die ein Lüfter benötigt, um den aktuellen Temperaturschwellenwert zu erreichen (906); unter Verwendung des Drehzahlwertes einen Wert der Lüfterleistung zu ermitteln (910); und den aktuellen Wert der Gesamtsystemleistung durch Addieren des Gesamtleistungswertes der Prozessoren und des Wertes der Lüfterleistung zu berechnen (912).
  11. Computerprogrammprodukt nach Anspruch 10, wobei das computerlesbare Programm den Gesamtleistungswert der Prozessoren (906) unter Verwendung der Modellgleichung für die Gesamtleistung der Prozessoren wie folgt berechnet: Pproc@Tthr_c = Pmeas + (Tthr_c – Tmax)·Pleak_per_°C wobei Pproc@Tthr_c ein Gesamtleistungswert der Prozessoren bei dem vorliegenden aktuellen Temperaturschwellenwert, Pmeas eine aktuelle Gesamtleistung der Prozessoren, Tmax eine höchste Temperatur, die der Reihe von Temperaturen T zugehörig ist, die für eine Reihe von Prozessoren in dem Datenverarbeitungssystem gewonnen wurden, Tthr_c der aktuelle Temperaturschwellenwert und Pleak_per_°C ein Skalierungsfaktor für die Verlustleistung in Form einer in Grad Celsius gemessenen Temperatur ist.
  12. Computerprogrammprodukt nach Anspruch 10, wobei das Computerprogrammprodukt die Drehzahl, die der Lüfter benötigt, um den aktuellen Temperaturschwellenwert zu erreichen (908), unter Verwendung einer Modellgleichung für die Drehzahl (RPM) wie folgt berechnet: RPM = ((((Pproc@Tthr_c/Pproc_char)·(Tthr_char – Tamb_char)) + Tamb) – Tthr_c)·ΔRPM/°C + RPMchar wobei Pproc@Tthr_c eine Gesamtleistung der Prozessoren bei dem vorliegenden Temperaturschwellenwert, Pproc_char ein charakteristischer Leistungswert der Prozessoren, der während einer Kalibrierung des Datenverarbeitungssystems für eine Reihe von Prozessoren in dem Datenverarbeitungssystem gewonnen wurde, Tthr_char ein charakteristischer Temperaturwert, der während einer Kalibrierung des Datenverarbeitungssystems für eine Reihe von Prozessoren in dem Datenverarbeitungssystem gewonnen wurde, Tthr_amb ein charakteristischer Wert der Umgebungstemperatur, der während einer Kalibrierung des Datenverarbeitungssystems für das Datenverarbeitungssystem gewonnen wurde, Tamb die aktuelle Umgebungstemperatur des Datenverarbeitungssystems, Tthr_c der vorliegende aktuelle Temperaturschwellenwert, ΔRPM/°C eine Drehzahländerung als Funktion einer Temperaturänderung und RPM_char ein charakteristischer Drehzahlwert ist, der während einer Kalibrierung des Datenverarbeitungssystems für das Datenverarbeitungssystem gewonnen wurde.
  13. Computerprogrammprodukt nach Anspruch 10, wobei das computerlesbare Programm den Leistungswert des Lüfters unter Verwendung der Drehzahl in einer Suchtabelle (810) ermittelt, die die Drehzahl auf der Grundlage des Fertigungsmodells des Lüfters der Lüfterleistung zuordnet.
  14. Computerprogrammprodukt nach Anspruch 9, wobei das computerlesbare Programm ermittelt, ob es den potenziellen Temperaturschwellenwert gibt, der zu einer potenziellen Gesamtsystemleistung führt, die geringer als die aktuelle Gesamtsystemleistung (916) ist, indem es die Datenverarbeitungseinheit (300) ferner veranlasst: den aktuellen Wert der Gesamtsystemleistung als Mindestwert der Gesamtsystemleistung festzulegen (914); für einen ersten potenziellen Temperaturschwellenwert in der Reihe potenzieller Temperaturschwellenwerte unter Verwendung des ersten potenziellen Temperaturschwellenwertes einen ersten potenziellen Wert der Gesamtsystemleistung zu ermitteln; zu ermitteln, ob der erste potenzielle Wert der Gesamtsystemleistung kleiner als der Mindestwert der Gesamtsystemleistung ist (918); als Reaktion darauf, dass der erste potenzielle Wert der Gesamtsystemleistung kleiner als der Mindestwert der Gesamtsystemleistung ist, den ersten potenziellen Wert der Gesamtsystemleistung als Mindestwert der Gesamtsystemleistung festzulegen (922); den potenziellen Temperaturschwellenwert als aktuellen optimalen Temperaturschwellenwert zu speichern (924); als Reaktion darauf, dass der erste potenzielle Wert der Gesamtsystemleistung größer als oder gleich dem Mindestwert der Gesamtsystemleistung ist, den Mindestwert der Gesamtsystemleistung unverändert beizubehalten (918); und den Prozess für jeden folgenden potenziellen Temperaturschwellenwert in der Reihe potenzieller Temperaturschwellenwerte zu wiederholen (920).
  15. Vorrichtung, die aufweist: einen Prozessor (206); und einen mit dem Prozessor (206) verbundenen Speicher (208), wobei der Speicher (208) Anweisungen aufweist, die bei Ausführung durch den Prozessor (206) diesen veranlassen; unter Verwendung eines aktuellen Temperaturschwellenwertes (320) einen aktuellen Wert der Gesamtsystemleistung zu ermitteln (912); für jeden potenziellen Temperaturschwellenwert (320) in einer Reihe potenzieller Temperaturschwellenwerte (320) zu ermitteln, ob es einen potenziellen Temperaturschwellenwert (320) gibt, der zu einem potenziellen Wert der Gesamtsystemleistung führt, der kleiner als der aktuelle Wert der Gesamtsystemleistung ist (916); und als Reaktion auf das Ermitteln eines optimalen potenziellen Temperaturschwellenwertes aus der Reihe potenzieller Temperaturschwellenwerte (320), der zu einem Mindestwert der Gesamtsystemleistung führt, der kleiner als der aktuelle Wert der Gesamtsystemleistung ist (924), den optimalen potenziellen Temperaturschwellenwert als neuen Temperaturschwellenwert festzulegen (926).
  16. Vorrichtung nach Anspruch 15, wobei die Anweisungen zum Ermitteln der aktuellen Gesamtsystemleistung den Prozessor (206) ferner veranlassen: einen Gesamtleistungswert der Prozessoren zu berechnen (906); eine Drehzahl zu berechnen, die ein Lüfter benötigt, um den aktuellen Temperaturschwellenwert zu erreichen (908); unter Verwendung der Drehzahl einen Leistungswert des Lüfters zu ermitteln (910); und den aktuellen Gesamtsystemleistung durch Addieren des Gesamtleistungswertes der Prozessoren und des Leistungswertes des Lüfters zu berechnen (912).
  17. Vorrichtung nach Anspruch 16, wobei durch die Anweisungen der Gesamtleistungswert der Prozessoren unter Verwendung einer Modellgleichung für die Gesamtleistung der Prozessoren wie folgt berechnet wird (906): Pproc@Tthr_c = Pmeas + (Tthr_c – Tmax)·Pleak_per_°C wobei Pproc@Tthr_c ein Gesamtleistungswert der Prozessoren bei dem vorliegenden aktuellen Temperaturschwellenwert, Pmeas eine aktuelle Gesamtleistung der Prozessoren, Tmax eine höchste Temperatur, die der für eine Reihe von Prozessoren in dem Datenverarbeitungssystem gewonnenen Reihe von Temperaturen T zugehörig ist, Tthr_c ein aktueller Temperaturschwellenwert und Pleak_per_°C ein Skalierungsfaktor für die Verlustleistung ist, der sich auf eine in Grad Celsius gemessene Temperatur bezieht.
  18. Vorrichtung nach Anspruch 16, wobei durch die Anweisungen die Drehzahl, die der Lüfter benötigt, um den aktuellen Temperaturschwellenwert zu erreichen, unter Verwendung einer Modellgleichung für die Drehzahl (RPM) wie folgt berechnet wird: RPM = ((((Pproc@Tthr_c/Pproc_char)·(Tthr_char – Tamb_char)) + Tamb) – Tthr_c)·ΔRPM/°C + RPMchar wobei Pproc@Tthr_c eine Gesamtleistung der Prozessoren bei dem vorliegenden Temperaturschwellenwert, Pproc_char ein charakteristischer Leistungswert der Prozessoren, der während einer Kalibrierung des Datenverarbeitungssystems für eine Reihe von Prozessoren in dem Datenverarbeitungssystem gewonnen wurde, Tthr_char ein charakteristischer Temperaturwert, der während einer Kalibrierung des Datenverarbeitungssystems für die Reihe von Prozessoren in dem Datenverarbeitungssystem gewonnen wurde, Tthr_amb ein charakteristischer Wert der Umgebungstemperatur, der während einer Kalibrierung des Datenverarbeitungssystems für das Datenverarbeitungssystem gewonnen wurde, Tamb die aktuelle Umgebungstemperatur des Datenverarbeitungssystems, Tthr_c der aktuelle vorliegende Temperaturschwellenwert, ΔRPM/°C eine Drehzahländerung als Funktion einer Temperaturänderung, und RPM_char ein charakteristischer Drehzahlwert ist, der während einer Kalibrierung des Datenverarbeitungssystems für das Datenverarbeitungssystem gewonnen wurde.
  19. Vorrichtung nach Anspruch 16, wobei durch die Anweisungen der Wert der Lüfterleistung unter Verwendung der Drehzahl in einer Suchtabelle (810) ermittelt wird, die die Drehzahl auf der Grundlage des Fertigungsmodells des Lüfters der Lüfterleistung zuordnet.
  20. Vorrichtung nach Anspruch 15, wobei durch die Anweisungen ermittelt wird, ob es den potenziellen Temperaturschwellenwert gibt, der zu einer potenziellen Gesamtsystemleistung führt, die geringer als die aktuelle Gesamtsystemleistung ist (916), indem diese den Prozessor (206) ferner veranlassen: den Mindestwert der Gesamtsystemleistung als aktuellen Wert der Gesamtsystemleistung festzulegen (914); für einen ersten potenziellen Temperaturschwellenwert in der Reihe potenzieller Temperaturschwellenwerte unter Verwendung des ersten potenziellen Temperaturschwellenwertes einen ersten Wert der potenziellen Gesamtsystemleistung zu ermitteln; zu ermitteln, ob der erste potenzielle Wert der Gesamtsystemleistung kleiner als der Mindestwert der Gesamtsystemleistung ist (918); als Reaktion darauf, dass der erste potenzielle Wert der Gesamtsystemleistung kleiner als der Mindestwert der Gesamtsystemleistung ist, den Mindestwert der Gesamtsystemleistung als ersten potenziellen Wert der Gesamtsystemleistung festzulegen (922); den potenziellen Temperaturschwellenwert als aktuellen optimalen Temperaturschwellenwert zu speichern (924); als Reaktion darauf, dass der erste potenzielle Wert der Gesamtsystemleistung größer als oder gleich dem Mindestwert der Gesamtsystemleistung ist, den Mindestwert der Gesamtsystemleistung unverändert beizubehalten (918); und den Prozess für jeden folgenden Temperaturschwellenwert in der Reihe potenzieller Temperaturschwellenwerte zu wiederholen (920).
DE112012004601.3T 2011-11-03 2012-11-01 Verringern der gesamten Kühl- und Verlustleistung auf ein Mindestmass bei schneller Angleichung Active DE112012004601B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
USUS-13/288,346 2011-11-03
US13/288,346 US9141159B2 (en) 2011-11-03 2011-11-03 Minimizing aggregate cooling and leakage power with fast convergence
US13/288,346 2011-11-03
PCT/US2012/062919 WO2013067093A1 (en) 2011-11-03 2012-11-01 Minimizing aggregate cooling and leakage power with fast convergence

Publications (2)

Publication Number Publication Date
DE112012004601T5 true DE112012004601T5 (de) 2014-08-14
DE112012004601B4 DE112012004601B4 (de) 2019-07-18

Family

ID=48192736

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012004601.3T Active DE112012004601B4 (de) 2011-11-03 2012-11-01 Verringern der gesamten Kühl- und Verlustleistung auf ein Mindestmass bei schneller Angleichung

Country Status (4)

Country Link
US (2) US9141159B2 (de)
DE (1) DE112012004601B4 (de)
GB (1) GB2509658B (de)
WO (1) WO2013067093A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014138685A2 (en) * 2013-03-08 2014-09-12 Sony Corporation Method and system for voice recognition input on network-enabled devices
US9671767B2 (en) * 2014-05-14 2017-06-06 Advanced Micro Devices, Inc. Hybrid system and method for determining performance levels based on thermal conditions within a processor
US9652019B2 (en) 2014-06-02 2017-05-16 Advanced Micro Devices, Inc. System and method for adjusting processor performance based on platform and ambient thermal conditions
US9791904B2 (en) * 2014-08-15 2017-10-17 Intel Corporation Balanced control of processor temperature
US10877530B2 (en) * 2014-12-23 2020-12-29 Intel Corporation Apparatus and method to provide a thermal parameter report for a multi-chip package
US10394294B2 (en) * 2016-08-25 2019-08-27 Microchip Technology Incorporated Predictive thermal control management using temperature and power sensors

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3750004A (en) 1972-02-23 1973-07-31 Esb Inc Instantaneous current control for static inverters
US4127885A (en) 1977-04-21 1978-11-28 Rca Corporation Over-current protection circuit for voltage regulator
US4835649A (en) 1987-12-14 1989-05-30 United Technologies Corporation Self-latching current limiter
US5268631A (en) 1991-11-06 1993-12-07 Chicago Stage Equipment Co. Power control system with improved phase control
US5581475A (en) 1993-08-13 1996-12-03 Harris Corporation Method for interactively tailoring topography of integrated circuit layout in accordance with electromigration model-based minimum width metal and contact/via rules
JP3442580B2 (ja) 1996-08-20 2003-09-02 オークマ株式会社 電力変換装置
US6163712A (en) 1998-02-04 2000-12-19 Motorola, Inc. Inrush current limiter with output voltage detection for control of input current level and activation of current bypass path
US6539531B2 (en) 1999-02-25 2003-03-25 Formfactor, Inc. Method of designing, fabricating, testing and interconnecting an IC to external circuit nodes
TW499637B (en) * 1999-07-19 2002-08-21 Winbond Electronics Corp Method and apparatus of rotation speed control for heat dissipation fan
JP2001238434A (ja) 2000-02-21 2001-08-31 Yokogawa Electric Corp Dc/dcコンバータ
US7113988B2 (en) 2000-06-29 2006-09-26 International Business Machines Corporation Proactive on-line diagnostics in a manageable network
AU2001279317A1 (en) 2000-09-15 2002-03-26 New York Air Brake Corporation Car control device electronics
US6643128B2 (en) 2001-07-13 2003-11-04 Hewlett-Packard Development Company, Lp. Method and system for controlling a cooling fan within a computer system
US6532570B1 (en) 2001-09-07 2003-03-11 Sun Microsystems, Inc. Designing integrated circuits to reduce temperature induced electromigration effects
US6809538B1 (en) 2001-10-31 2004-10-26 Intel Corporation Active cooling to reduce leakage power
US7281140B2 (en) 2001-12-28 2007-10-09 Intel Corporation Digital throttle for multiple operating points
US7168007B2 (en) 2002-05-17 2007-01-23 Sun Microsystems, Inc. Field replaceable unit (FRU) identification system tool
DE10245452A1 (de) 2002-09-27 2004-04-08 Infineon Technologies Ag Verfahren zum Bestimmen der Anordnung von Kontaktflächen auf der aktiven Oberseite eines Halbleiterchips
US6775997B2 (en) 2002-10-03 2004-08-17 Hewlett-Packard Development Company, L.P. Cooling of data centers
US7203629B2 (en) 2002-10-09 2007-04-10 State Of Oregon Acting By And Through The Oregon State Board Of Higher Education On Behalf Of Oregon State University Modeling substrate noise coupling using scalable parameters
US7321942B2 (en) 2002-11-12 2008-01-22 Arm Limited Performance counter for adding variable work increment value that is dependent upon clock frequency
US6959258B2 (en) * 2003-02-18 2005-10-25 Lsi Logic Corporation Methods and structure for IC temperature self-monitoring
US6836100B2 (en) 2003-05-15 2004-12-28 International Business Machines Corporation Method and phase redundant regulator apparatus for implementing redundancy at a phase level
US20040236560A1 (en) 2003-05-23 2004-11-25 Chen Thomas W. Power estimation using functional verification
US7451332B2 (en) 2003-08-15 2008-11-11 Apple Inc. Methods and apparatuses for controlling the temperature of a data processing system
US7000204B2 (en) 2003-09-02 2006-02-14 Hewlett-Packard Development Company, L.P. Power estimation based on power characterizations
US7577859B2 (en) 2004-02-20 2009-08-18 International Business Machines Corporation System and method of controlling power consumption in an electronic system by applying a uniquely determined minimum operating voltage to an integrated circuit rather than a predetermined nominal voltage selected for a family of integrated circuits
US7050871B2 (en) 2004-02-26 2006-05-23 International Business Machines Corporation Method and apparatus for implementing silicon wafer chip carrier passive devices
US7131096B1 (en) 2004-06-01 2006-10-31 Pulsic Limited Method of automatically routing nets according to current density rules
US7784010B1 (en) 2004-06-01 2010-08-24 Pulsic Limited Automatic routing system with variable width interconnect
JP4152348B2 (ja) 2004-06-03 2008-09-17 株式会社ソニー・コンピュータエンタテインメント 電子デバイス冷却装置、電子デバイスシステムおよび電子デバイス冷却方法
TWI249097B (en) * 2004-08-17 2006-02-11 Compal Electronics Inc Method of auto-regulating rotational speed of a fan
US7117114B2 (en) 2004-08-23 2006-10-03 Intel Corporation On-die temperature control data for communicating to a thermal actuator
US7430672B2 (en) 2004-10-27 2008-09-30 Intel Corporation Method and apparatus to monitor power consumption of processor
US7346869B2 (en) 2004-10-29 2008-03-18 Synopsys, Inc. Power network analyzer for an integrated circuit design
EP1677175B1 (de) 2004-12-31 2013-08-28 ST-Ericsson SA Dynamische Leistungsverwaltung für System-on-Chip (SOC)
US7366997B1 (en) 2005-01-11 2008-04-29 Synplicity, Inc. Methods and apparatuses for thermal analysis based circuit design
US20060168571A1 (en) 2005-01-27 2006-07-27 International Business Machines Corporation System and method for optimized task scheduling in a heterogeneous data processing system
US7253528B2 (en) 2005-02-01 2007-08-07 Avago Technologies General Ip Pte. Ltd. Trace design to minimize electromigration damage to solder bumps
US7194645B2 (en) 2005-02-09 2007-03-20 International Business Machines Corporation Method and apparatus for autonomic policy-based thermal management in a data processing system
US7424666B2 (en) 2005-09-26 2008-09-09 Intel Corporation Method and apparatus to detect/manage faults in a system
WO2007056705A2 (en) 2005-11-03 2007-05-18 Los Alamos National Security Adaptive real-time methodology for optimizing energy-efficient computing
US7487371B2 (en) * 2005-12-16 2009-02-03 Nvidia Corporation Data path controller with integrated power management to manage power consumption of a computing device and its components
US7394273B2 (en) 2006-01-18 2008-07-01 International Business Machines Corporation On-chip electromigration monitoring system
US7802073B1 (en) 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
US7793239B2 (en) 2006-04-24 2010-09-07 International Business Machines Corporation Method and system of modeling leakage
US7644051B1 (en) 2006-07-28 2010-01-05 Hewlett-Packard Development Company, L.P. Management of data centers using a model
US7917772B1 (en) 2006-09-29 2011-03-29 Koniaris Kleanthes G Dynamic chip control
JP4980684B2 (ja) 2006-09-29 2012-07-18 富士通株式会社 基板情報取得変換方法とそのプログラムおよび装置
US20080086708A1 (en) 2006-10-05 2008-04-10 Dan Rittman System and method for automatic elimination of electromigration and self heat violations of a mask layout block, maintaining the process design rules correctness
WO2008048130A1 (en) 2006-10-16 2008-04-24 Freescale Semiconductor, Inc. System and method for electromigration tolerant cell synthesis
US7840825B2 (en) 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
US7340378B1 (en) 2006-11-30 2008-03-04 International Business Machines Corporation Weighted event counting system and method for processor performance measurements
US7702485B2 (en) 2006-12-06 2010-04-20 Oracle America, Inc. Method and apparatus for predicting remaining useful life for a computer system
US20080234953A1 (en) 2007-03-22 2008-09-25 Ignowski James S Power estimation for a semiconductor device
US7495519B2 (en) 2007-04-30 2009-02-24 International Business Machines Corporation System and method for monitoring reliability of a digital system
US20080278905A1 (en) 2007-05-09 2008-11-13 Dell Products, Lp Information handling systems including fan control modules and methods of using the systems
US7447602B1 (en) 2007-06-05 2008-11-04 International Business Machines Corporation System and method for sorting processors based on thermal design point
US7710131B1 (en) 2007-08-18 2010-05-04 Radiation Monitoring Devices, Inc. Non-contact circuit analyzer
US7844568B2 (en) 2007-09-19 2010-11-30 Fein Gene S System and method for data processing and transferring in a multi computer environment for energy reporting and forecasting
US7904287B2 (en) 2007-11-13 2011-03-08 International Business Machines Corporation Method and system for real-time prediction of power usage for a change to another performance state
US8041521B2 (en) 2007-11-28 2011-10-18 International Business Machines Corporation Estimating power consumption of computing components configured in a computing system
US8053748B2 (en) 2007-12-21 2011-11-08 Hewlett-Packard Development Company, L.P. Integrated circuits with phase change devices
US8010824B2 (en) 2008-04-11 2011-08-30 Advanced Micro Devices , Inc. Sampling chip activity for real time power estimation
US8140195B2 (en) 2008-05-30 2012-03-20 International Business Machines Corporation Reducing maximum power consumption using environmental control settings
US8086978B2 (en) 2008-06-20 2011-12-27 Cadence Design Systems, Inc. Method and system for performing statistical leakage characterization, analysis, and modeling
US8214658B2 (en) 2008-08-20 2012-07-03 International Business Machines Corporation Enhanced thermal management for improved module reliability
TWI379182B (en) 2008-10-13 2012-12-11 Holtek Semiconductor Inc Voltage regulator having active foldback current limiting circuit
US8276015B2 (en) 2009-02-23 2012-09-25 International Business Machines Corporation Managing the power-performance range of an application
US8214663B2 (en) 2009-04-15 2012-07-03 International Business Machines Corporation Using power proxies combined with on-chip actuators to meet a defined power target
US8271809B2 (en) 2009-04-15 2012-09-18 International Business Machines Corporation On-chip power proxy based architecture
US8650413B2 (en) 2009-04-15 2014-02-11 International Business Machines Corporation On-chip power proxy based architecture
US8260708B2 (en) 2009-04-17 2012-09-04 Empire Technology Development Llc Usage metering based upon hardware aging
US8181147B2 (en) 2009-06-29 2012-05-15 Lsi Corporation Parametric data-based process monitoring for adaptive body bias control
US8201038B2 (en) 2009-09-29 2012-06-12 International Business Machines Corporation Integrating design for reliability technology into integrated circuits
TWI399635B (zh) * 2009-10-30 2013-06-21 Wistron Corp 電腦系統之過熱保護方法及相關過熱保護系統
US8365131B2 (en) 2010-01-11 2013-01-29 Empire Technology Development Llc Hardware synthesis using thermally aware scheduling and binding
US8266569B2 (en) 2010-03-05 2012-09-11 Advanced Micro Devices, Inc. Identification of critical enables using MEA and WAA metrics
US8532826B2 (en) * 2010-03-10 2013-09-10 Dell Product L.P. System and method for controlling temperature in an information handling system
US8463456B2 (en) 2010-03-18 2013-06-11 International Business Machines Corporation Minimizing aggregate cooling and leakage power
US8412479B2 (en) 2010-06-29 2013-04-02 Intel Corporation Memory power estimation by means of calibrated weights and activity counters
TW201223423A (en) * 2010-11-23 2012-06-01 Inventec Corp Heat dissipating device and method thereof
US9176563B2 (en) 2012-05-14 2015-11-03 Broadcom Corporation Leakage variation aware power management for multicore processors

Also Published As

Publication number Publication date
GB2509658A (en) 2014-07-09
GB2509658B (en) 2015-12-30
GB201407236D0 (en) 2014-06-11
US9141159B2 (en) 2015-09-22
US20130116963A1 (en) 2013-05-09
DE112012004601B4 (de) 2019-07-18
US20130117590A1 (en) 2013-05-09
US9146597B2 (en) 2015-09-29
WO2013067093A1 (en) 2013-05-10

Similar Documents

Publication Publication Date Title
DE112012004601B4 (de) Verringern der gesamten Kühl- und Verlustleistung auf ein Mindestmass bei schneller Angleichung
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE112011103732B4 (de) Energiegewinnung zeitlich variierender Energiequellen durch variieren der Rechenarbeitslast
DE102009051387A1 (de) Power Management für Mehrprozessorkerne
DE102007053796B4 (de) Betreiben integrierter Schaltkreis-Logikblöcke bei unabhängigen Spannungen mit einer einzelnen Spannungsversorgung
DE112012003212T5 (de) Verbessern der Leistungsfähigkeit digitaler Schaltungen mithilfe von Stromverwaltung
DE102014001914B4 (de) Dynamische Steuerung einer maximalen Betriebsspannung für einen Prozessor
DE102013217804A1 (de) System und Verfahren zur Berücksichtigung von Alterungswirkungen in einer Computervorrichtung
DE112007001215T5 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
DE112013000650B4 (de) Datenzwischenspeicherungsbereich
DE202017105834U1 (de) Verwaltung von Anwendungsaktualisierungen
DE112012001357B4 (de) Verwalten einer Portalanwendung
DE112019001480T5 (de) Automatisches Optimieren der Ressourcennutzung in einemZieldatenbankverwaltungssystem zum Erhöhen der Arbeitslastleistung
DE112020004583T5 (de) Adaptiver digitaler on-chip-leistungsschätzer
DE102012215192A1 (de) Verwalten der Wärmeverteilung unter Speichermodulen eines Computersystems
DE112020004651B4 (de) Multi-tenant-etl-ressourcenaufteilung
DE112017001757T5 (de) Verfahren und vorrichtung zum koordinieren und authentifizieren von anfragen nach daten
DE112017001376T5 (de) Erkennen und Vorhersagen von Engpässen in komplexen Systemen
DE112021003294T5 (de) Systemverwaltung auf grundlage von leistung und leistungsfähigkeit
DE102015118075A1 (de) Computersystem mit thermischem Mechanismus und Verfahren zum Betreiben desselben
DE112016003235T5 (de) Ausgangseffizienzoptimierung in Produktionssystemen
DE112011102196T5 (de) Wechselstromnetzteil-Minimisierung durch aktive Plattform-Stromverbrauchsverwaltung
DE112017001012T5 (de) Prozessoren, verfahren und systeme zum einstellen maximaler taktfrequenzen basierend auf dem befehlstyp
DE102012219705B4 (de) Datenpaketverarbeitung im netzwerk
Han Optimal accelerated life tests under a cost constraint with non-uniform stress durations

Legal Events

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