DE102008016181A1 - Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte - Google Patents

Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte Download PDF

Info

Publication number
DE102008016181A1
DE102008016181A1 DE102008016181A DE102008016181A DE102008016181A1 DE 102008016181 A1 DE102008016181 A1 DE 102008016181A1 DE 102008016181 A DE102008016181 A DE 102008016181A DE 102008016181 A DE102008016181 A DE 102008016181A DE 102008016181 A1 DE102008016181 A1 DE 102008016181A1
Authority
DE
Germany
Prior art keywords
processing element
operating point
priority
modifying
priority level
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.)
Ceased
Application number
DE102008016181A
Other languages
English (en)
Inventor
Ramesh Kumar G. Portland Illikkal
Ravishankar Hillsboro Iyer
Jaideep Portland Moses
Donald K. Portland Newell
Tryggve Northborough Fossum
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102008016181A1 publication Critical patent/DE102008016181A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • 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

Abstract

Hierin beschrieben sind ein Verfahren und eine Vorrichtung zum Drosseln von Leistungsaufnahme und/oder Verarbeitungsleistung von Verarbeitungselementen, basierend auf einer Priorität von Software-Entitäten. Prioritätsbewusste Leistungsmanagemetlogik empfängt Prioritätshöhen von Software-Entitäten und modifiziert dementsprechend Arbeitspunkte von Verarbeitungselementen, die den Software-Entitäten zugeordnet sind. Daher werden in einer Leistungssparbetriebsart Verarbeitungselemente, die Anwendungen/Tasks niedriger Priorität ausführen, auf einen niedrigeren Arbeitspunkt reduziert, d. h. auf eine niedrigere Spannung, eine niedrigere Frequenz, eine gedrosselte Befehlsausgabe, gedrosselte Speicherzugriffe und/oder weniger Zugriff auf gemeinsam genutzte Ressourcen. Darüber hinaus verfolgt Nutzungslogik möglicherweise die Nutzung einer Ressource pro Prioritätshöhe, was es dem Leistungsmanager ermöglicht, Arbeitspunkte, basierend auf dem Einfluss jeder Prioritätshöhe aufeinander aus der Perspektive der Ressource, selbst zu bestimmen. Darüber hinaus kann eine Software-Entität selbst Arbeitspunkte zuweisen, die der Leistungsmanager durchsetzt.

Description

  • GEBIET
  • Diese Erfindung betrifft das Gebiet der Prozessoren und insbesondere das Bereitstellen von Dienstgüte (Quality of Service, QoS) in einem Computersystem.
  • HINTERGRUND
  • Fortschritte in der Halbleiter-Prozesstechnik und Logik-Entwicklung haben ein Anwachsen in der Menge an Logik gestattet, die auf integrierten Schaltungsanordnungen vorhanden sein kann. Als Folge davon haben sich Computersystem-Konfigurationen von einer einzelnen integrierten Schaltung oder mehreren integrierten Schaltungen in einem System zu mehreren Kernen und mehreren logischen Prozessoren hin weiterentwickelt, die auf individuellen integrierten Schaltungen vorhanden sind. Ein Prozessor oder eine integrierte Schaltung umfasst typischerweise einen einzelnen Prozessorchip, wobei der Prozessorchip jedwede Anzahl von Verarbeitungsressourcen beinhalten kann, wie z. B. Kerne (cores), Threads und/oder logische Prozessoren.
  • In Prozessoren mit mehreren Threads beeinflusst auf Grund des gemeinsamen Nutzens von Ressourcen, wie z. B. Cachespeichern, Speicher und Stromversorgung, das Verhalten eines Threads möglicherweise das Verhalten eines anderen Threads auf demselben Prozessorkern. Oft erzeugt das Verhalten eines Threads ein Ungleichgewicht in der Nutzung der gemeinsam genutzten Ressourcen und Pipelines. In der Tat tritt, wenn die Verarbeitungsleistung eines Threads sich in Relation zu anderen Threads auf demselben Kern erheblich ändert, oft eine große und nicht vorhersagbare Schwankung in der Verarbeitungsleistung aus der unausgeglichenen Nutzung gemeinsam genutzter Ressourcen auf.
  • Als Folge davon beeinflusst ein Thread oder Kern, der eine Anwendung niedriger Priorität ausführt, möglicherweise nachteilig die Verarbeitungsleistung eines Kerns oder Threads, der eine Anwendung höherer Priorität ausführt. Beispielsweise kann eine Hintergrundanwendung, wie z. B. ein Virenscanner, auf einem ersten Kern unter Nutzung von gemeinsam genutzten Ressourcen in einem solchen Umfang ausgeführt werden, dass die Verarbeitungsleistung eines zweiten Kerns nachteilig beeinflusst wird, der eine Vordergrundanwendung ausführt. Früher ist das Drosseln von Spannung und Frequenz genutzt worden, um Strom zu sparen. Jedoch gehen diese Bemühungen typischerweise mit dem Drosseln von Threads oder Kernen ungeachtet der Priorität aktueller Anwendungen, virtueller Maschinen oder Betriebssystemtasks einher. Im Gegensatz dazu haben sich einige Bemühungen auf das Aufteilen von Ressourcen konzentriert, um allen Anwendungen eine Dienstgüte bereitzustellen. Doch noch immer verursacht das Aufteilen ungeachtet der Priorität oder des Stromverbrauchs möglicherweise nachteilige Verarbeitungsleistung und Leistungsaufnahme.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist als Beispiel dargestellt, und es ist nicht beabsichtigt, dass sie durch die Figuren der beiliegenden Zeichnungen begrenzt ist.
  • 1 stellt eine Ausführungsform eines Mehrfachverarbeitungselementes dar, das einen Prioritätsmanager beinhaltet, um Arbeitspunkte von Verarbeitungselementen basierend auf zugeordneter Anwendungspriorität zu setzen.
  • 2a stellt eine Ausführungsform von Leistungsaufnahme-Verarbeitungsleistungs-Logik dar, die des Modifizieren von Raten von Verarbeitungselementen und der Zuteilung gemeinsam genutzter Ressourcen fähig ist.
  • 2b stellt eine Ausführungsform von Leistungsaufnahme-Verarbeitungsleistungs-Logik dar, die des Modifizierens von Raten von Verarbeitungselementen und der Zuteilung eines Cachespeichers fähig ist.
  • 3 stellt eine Ausführungsform von Leistungsaufnahme-Verarbeitungsleistungs-Logik dar, die des Modifizierens von Raten von Verarbeitungselementen und der Zuteilung von Speicherbandbreite fähig ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind zahlreiche spezifische Details dargelegt, wie z. B. Beispiele spezifischer Ressourcen, spezifischer Logik, um Nutzung von Ressourcen zu verfolgen, spezifischer Übermittlung von Anwendungspriorität usw., um ein gründliches Verständnis der vorliegenden Erfindung bereitzustellen. Für den Fachmann ist es jedoch offensichtlich, daß diese spezifischen Details nicht eingesetzt werden brauchen, um die vorliegende Erfindung auszuführen. In anderen Fällen sind wohlbekannte Komponenten oder Verfahren, wie z. B. Mikroprozessorarchitektur, Monitore/Maschinen virtueller Maschinen, Strom-/Takt-Austastung/-Modulation und spezifische betriebsbezogene Details bekannter Logik nicht im Detail beschrieben worden, um zu vermeiden, daß die vorliegende Erfindung unnötigerweise unanschaulich gemacht wird.
  • Das Verfahren und die Vorrichtung, die hierin beschrieben sind, dienen zum Drosseln von Leistungsaufnahme und/oder Verarbeitungsleistung von Verarbeitungselementen basierend auf einer Priorität von Software-Entitäten, die den Verarbeitungselementen zugeordnet sind. Insbesondere wird das auf Priorität basierende Drosseln in Bezug auf mehrere Kerne in einer Virtualisierungsumgebung diskutiert. Jedoch sind die Verfahren und die Vorrichtung zum auf Priorität basierenden Drosseln nicht derartig begrenzt, da sie auf oder in Verbindung mit jedweder integrierten Schaltungsanordnung oder jedwedem System, wie z. B. Mobiltelefonen, Taschencomputern, Embedded-Controllern, mobilen Plattformen, Desktop-Plattformen und Server-Plattformen sowie in Verbindung mit jedwedem Typ von Verarbeitungselement implementiert sein können, wie z. B. einem Kern, einem Hardware-Thread, einem Software-Thread oder einem logischen Prozessor oder einer anderen Verarbeitungsressource. Darüber hinaus kann auf Priorität basierendes Drosseln in jedweder Hardware-/Software-Umgebung stattfinden, wie z. B. einem herkömmlichen Betriebssystem oder einem Hypervisor, der auf Hardware ausgeführt wird.
  • Bezug nehmend auf 1 ist eine Ausführungsform eines Prozessors dargestellt, der des Drosselns von Verarbeitungselementen basierend auf einer Priorität von Software-Entitäten fähig ist, die den Verarbeitungselementen zugeordnet sind. Hardware 120 beinhaltet Prozessor 125, Hub 150 und Speicher 160. Hub 125 umfasst jedwede Vorrichtung zur Kommunikation zwischen Prozessor 121 und Speicher 130, wie z. B. einen Speichercontroller oder Chipsatz. Man beachte, dass Hub 125 in Prozessor 121 oder Speicher 130 integriert sein kann. Speicher 160 kann für Prozessor 125 zweckbestimmt sein oder mit anderen Geräten in einem System gemeinsam genutzt werden. Zu Beispielen für Speicher 160 zählen dynamische Schreib-Lese-Speicher (Dynamic Random Access Memory, DRAM), statischer RAM (SRAM), nichtflüchtiger Speicher (Non-Volatile Memory, NV-Speicher) und Langzeitspeicher.
  • Typischerweise umfasst Prozessor 125 Ein- und Ausgangspuffer (E/A-Puffer), um Bussignale auf einer Verbindung (interconnect) zu senden und zu empfangen. Zu Beispielen der Verbindung zählen ein GTL-Bus (Gunning Transceiver Logic), ein GTL+-Bus, ein DDR-Bus (Double Data Rate), ein Pumped-Bus, ein differentieller Bus, ein cachekohärenter Bus, ein Punkt-zu-Punkt-Bus, ein Multidrop-Bus oder eine andere bekannte Verbindung (interconnect), die irgendein bekanntes Busprotokoll implementiert.
  • Prozessor 125 umfasst mehrere Verarbeitungselemente, wie z. B. Verarbeitungselemente 130133. Ein Verarbeitungselement bezieht sich auf einen Thread, einen Prozess, einen Kontext, einen logischen Prozessor, einen Hardware-Thread, einen Kern und/oder jedwedes Verarbeitungselement, das Zugriff auf andere gemeinsam genutzte Ressourcen des Prozessors gemeinsam nutzt, wie z. B. Reservierungseinheiten, Ausführungseinheiten und Cache-Speichern/Speicher höherer Ebene. Ein Verarbeitungselement kann auch als eine Threadeinheit bezeichnet werden, d. h. ein Element, das fähig ist, einen Befehl aufzuweisen, der zur Ausführung durch einen Software-Thread unabhängig geplant ist. Ein physikalischer Prozessor bezieht sich typischerweise auf eine integrierte Schaltung, die möglicherweise irgendeine Anzahl anderer Verarbeitungselemente beinhaltet, wie z. B. Kerne oder Hardware-Threads.
  • Ein Kern bezieht sich oft auf Logik, die sich auf einer integrierten Schaltung befindet, fähig des Aufrechterhaltens eines unabhängigen architektonischen Zustands, wobei jeder unabhängig aufrechterhaltene architektonische Zustand mindestens einigen zweckbestimmten Ausführungsressourcen zugeordnet ist. Im Gegensatz zu Kernen bezieht sich ein Hardware-Thread typischerweise auf Logik, die sich auf einer integrierten Schaltung befindet, fähig des Aufrechterhaltens eines unabhängigen architektonischen Zustands, wobei die unabhängig aufrechterhaltenen architektonischen Zustände Zugriff auf Ausführungsressourcen gemeinsam nutzen.
  • Wie man sieht, überlappt sich, wenn gewisse Verarbeitungsressourcen gemeinsam genutzt werden und andere für einen architektonische Zustand zweckbestimmt sind, die Linie zwischen der Nomenklatur eines Hardware-Threads und eines Kerns. Dennoch werden oft ein Kern und ein Hardware-Thread von einem Betriebssystem oder einer Management-Software als individuelle logische Prozessoren angesehen, wobei die Software in der Lage ist, Operationen auf jedem logischen Prozessor individuell zu planen. Anders ausgedrückt, sieht Software zwei Kerne oder Threads auf einem physikalischen Prozessor als zwei unabhängige Prozessoren an. Darüber hinaus beinhaltet jeder Kern möglicherweise mehrere Hardware-Threads zum Ausführen mehrerer Software-Threads. Daher beinhaltet ein Verarbeitungselement jedwede der oben erwähnten Ressourcen, die des Aufrechterhaltens eines Kontextes fähig sind, wie z. B. von Kernen, Threads, Hardware-Threads oder anderen Elementen.
  • Hypervisor 110 dient zum Bereitstellen einer Schnittstelle zwischen Software, wie z. B. virtuellen Maschinen (VMs) 105107, und Hardware, wie z. B. Hardware 120. Oft abstrahiert ein Hypervisor Hardware 120, um zu ermöglichen, dass mehrere virtuelle Maschinen und/oder Gastanwendungen unabhängig auf Hardware 120 laufen. Die virtuellen Maschinen 105107 können ein Betriebssystem, eine Anwendung, Gast-Software oder andere Software sein, die auf Hardware 120 auszuführen ist. Obgleich eine Virtualisierungsumgebung dargestellt ist, kann Hardware 120 in anderen Firmware- und Software-Umgebungen vorhanden sein, wie z. B. einem herkömmlichen Betriebssystem, das auf Hardware 120 ausgeführt wird. Als Folge davon wird jedwede(r, s) Task, Softwareprogramm, Anwendung, Anwendung auf Benutzerebene, Gast-Software, Betriebssystem, virtuelle Maschine, Monitor virtueller Maschinen oder andere ausführbare Code, der fähig ist, dass ihm eine Priorität zugewiesen wird, als Software-Entität bezeichnet.
  • In einer Ausführungsform sind Verarbeitungselemente (VEs) 130133 Software-Entitäten zugeordnet. Als ein erstes Beispiel sind Software-Entitäten, wie z. B. Hypervisor 110 und die virtuellen Maschinen 105108 direkt VEs 130133 zugewiesen, oder VEs 130133 sind für das Ausführen von Hypervisor 110 und den virtuellen Maschinen 105108 zweckbestimmt. Als ein anderes Beispiel sind Software-Entitäten VEs 130133 einfach durch Ausführung von Code/Tasks für die Software-Entitäten durch die VEs 130133 zugeordnet. Zu Beispielen von Verarbeitungselementen 125 zählen, wie oben erklärt, ein Kern, ein Thread, ein Kontext, ein logischer Prozessor und eine Kombination davon.
  • In einer Ausführungsform wird ein Arbeitspunkt eines Verarbeitungselementes, wie z. B. Verarbeitungselement 130, basierend auf einer Prioritätshöhe einer Software-Entität gesetzt, die Verarbeitungselement 130 zugeordnet ist. Ein Arbeitspunkt eines Verarbeitungselementes bezieht sich auf eine Raten-/Leistungsaufnahmehöhe des Verarbeitungselementes, eine Zuteilungs-/Verarbeitungsleistungshöhe einer Ressource, die dem Verarbeitungselement zur Verfügung gestellt wird, oder eine Kombination davon. Als ein Beispiel wird ein Arbeitspunkt eines Verarbeitungselementes durch Modifizieren von Ressourcen geändert, wie z. B. Takten (clocks), Frequenz, Spannung oder Leistungsaufnahme, um die Rate eines Verarbeitungselementes zu ändern. Diese unterschiedlichen Leistungsaufnahme- und Frequenzzustände werden oft als P-Zustände oder T-Zustände bezeichnet, die veranschaulichende Beispiele von Arbeitspunkten sind. Darüber hinaus können für unterschiedliche Arbeitspunkte andere Ratenmechanismen geändert werden, wie z. B. die Rate der Befehlsausgabe und Speicherzugriffsausgabe.
  • Als zusätzliches Beispiel wird ein Arbeitspunkt eines Verarbeitungselementes durch Modifizieren der Zuteilung gemeinsam genutzter Ressourcen geändert, wie z. B. von Speicher, Speicherbandbreite, Cachespeicher, Fetch-Hardware, Decodier-Hardware, Out-of-Order-Hardware, Reservierungs-Hardware und jedwede andere Logik/Hardware, die durch das Verarbeitungselement genutzt wird. Daher beinhaltet ein Arbeitspunkt eines Verarbeitungselementes jedwede Kombination von einer Rate des Verarbeitungselementes und Zuteilung gemeinsam genutzter Ressourcen, die für das Verarbeitungselement verfügbar sind. Anders ausgedrückt, kann ein Arbeitspunkt Zuteilung/Verarbeitungsleistung einer gemeinsam genutzten Ressource, wie z. B. eines Cachespeichers, sowie eine Ratenhöhe, wie z. B. eine Spannung und eine Frequenz, eines Verarbeitungselementes beinhalten.
  • Zur Veranschaulichung sei angenommen, dass ein erster Arbeitspunkt von Verarbeitungselement 130 volle Leistungsaufnahme/Spannung, vollen Takt/volle Frequenz, Zugriff auf alle Wege eines gemeinsam genutzten Cachespeichers und unbegrenzte Tokens/Credits für Zugriff auf Speicher beinhaltet, während ein zweiter Arbeitspunkt von Verarbeitungselement 130 eine reduzierte Leistungsaufnahme/Spannung, reduzierte Taktfrequenz, Zugriff auf nur einen Teil des gemeinsam genutzten Cachespeichers und begrenzte Tokens/Credits für Zugriff auf Speicher beinhaltet. Obgleich dieses Beispiel rein veranschaulichend ist, zeigt es, dass ein Arbeitspunkt jedwede Kombination von Ressourcen bei einer spezifizierten Höhe (level) beinhalten kann.
  • Der prioritätsbewusste Manager 140 dient zum Empfangen einer Prioritätshöhe einer Software-Entität, die Verarbeitungselement 130 zugeordnet ist, und dient zum Modifizieren eines Arbeitspunktes von Verarbeitungselement 130 basierend auf der Prioritätshöhe. In einer Ausführungsform dient der prioritätsbewusste Manager 140 zum Bestimmen eines Arbeitspunktes für Verarbeitungselement 130 basierend auf der Prioritätshöhe. Beispielsweise sei angenommen, dass die virtuelle Maschine (VM) 105 Virenscan-Software ist, die im Hintergrund auszuführen ist und der eine niedrige Priorität zugewiesen ist, und dass VM 105 unter Nutzung von VE 130 auszuführen ist. Hier wird die Priorität von VM 105 in Prioritätsspeicherelement 135 gespeichert, um die Prioritätshöhe von VM 105 anzugeben. Alternativ kann die Prioritätshöhe von VE 130 in Prioritätsspeicherelement 135 gehalten werden, während es mit dem Ausführen von VM 105 beauftragt ist. Basierend auf der niedrigen Priorität von VM 105, die VE 130 zugeordnet ist, modifiziert Manager 140 einen Arbeitspunkt von VE 130 auf einen niedrigen Arbeitspunkt. Wie oben angegeben, kann der niedrigere Arbeitspunkt eine Kombination einer niedrigeren Rate von VE 130, wie z. B. einer niedrigeren Spannung, einer niedrigeren Frequenz oder einer niedrigeren Leistungsaufnahme, sowie eines reduzierten Zugriffs auf gemeinsam genutzte Ressourcen beinhalten, wie z. B. Zugriff auf eine reduzierte Anzahl von Wegen eines Cachespeichers.
  • Um das Beispiel weiterzuführen, sei angenommen, dass Hypervisor 110 eine Anwendung hoher Priorität ist, die zur Ausführung auf VE 133 geplant ist. Der Manager 140 setzt basierend auf der hohen Priorität, die in Prioritätselement 135 für Hypervisor 110 und VE 133 gehalten ist, einen Arbeitspunkt von VE 133 auf einen höheren Arbeitspunkt, wie z. B. eine höhere Spannung, eine höhere Frequenz und/oder gesteigerten Zugriff auf gemeinsam genutzte Ressourcen, verglichen mit dem Arbeitspunkt von VE 130. Andere Beispiele von Arbeitspunkten, wie z. B. Zuteilung von Cachespeicher und Speicherbandbreiten-Höhen, werden nachfolgend unter Bezug auf 2 und 3 diskutiert. Ein Arbeitspunkt kann durch jedwedes bekannte Verfahren zum Ändern von Ressourcen oder Modifizieren von Zugriff auf eine gemeinsam genutzte Ressource gesetzt oder modifiziert werden. Beispielsweise kann Spannung durch Schaltungen oder Austastung (gating) reduziert werden, während Takte (clocks) moduliert, multipliziert, dividiert, ausgetastet oder unterdrückt werden können.
  • Zu beachten ist, dass oben Bezug auf hohe und niedrige Priorität genommen wird. Jedoch können jedwede Höhen oder Anzahl von Höhen der Priorität verwendet werden. Beispielsweise kann es gerade einmal zwei Prioritätshöhen geben oder so viele Prioritätshöhen, wie es Software-Entitäten gibt. Als veranschaulichendes Beispiel sei angenommen, dass es vier Prioritätshöhen für 1 gibt, wobei Hypervisor 110 auf einer Prioritätshöhe von eins liegt, d. h. der höchsten Prioritätshöhe, VM 105 auf der niedrigsten Priorität von vier liegt, VM 106 auf einer Prioritätshöhe von zwei liegt und VM 107 auf einer Prioritätshöhe von drei liegt. Die Übermittlung von Software-Priorität zur Hardware ist ausführlicher in der ebenfalls anhängigen Patentanmeldung mit der laufenden Nummer _______ und dem Aktenzeichen 42.P24869 des Bevollmächtigten diskutiert.
  • In einer anderen Ausführungsform bestimmt eine Software-Entität die Prioritätshöhe anderer Software-Entitäten und weist Verarbeitungselementen, die den anderen Software-Entitäten zugeordnet sind, Arbeitspunkte zu. Beispielsweise plant Hypervisor 110, der ein Monitor für virtuelle Maschinen (Virtual Machine Monitor, VMM) sein kann, Befehle für die VM 105 niedriger Priorität auf Verarbeitungselement 130 und bestimmt, dass Verarbeitungselement 130 zu modifizieren/auf einen niedrigen Arbeitspunkt zu setzen ist. Hier wird der ausgewählte Arbeitspunkt für Verarbeitungselement 130 durch VMM 110 in Prioritätselement 135 geschrieben, das sich auch in Architekturzustandsregistern von VE 130 befinden kann. Dann setzt der Manager 140 den Arbeitspunkt durch Modifizieren der zweckentsprechenden Leistungsaufnahmehöhe, Frequenzhöhe oder Ressourcenzuteilungshöhe durch. Obgleich in diesem Beispiel ein VMM als Software-Entität zum Entscheiden über Priorität und Arbeitspunkte diskutiert wird, kann jedwede Software-Entität, wie z. B. ein Betriebssystem oder spezialisierter Code, Prioritätshöhen und/oder Arbeitspunkte bestimmen.
  • Zusätzlich zum Bestimmen eines Arbeitspunktes basierend auf der Prioritätshöhe bestimmt der Manager 140 möglicherweise auch einen Arbeitspunkt basierend auf Ressourcennutzung. Wie vorstehend ist der Manager 140 in einer Ausführungsform des Steuerns der Rate von Verarbeitungselementen sowie der Zuteilung von Hardware-Ressourcen zu den Verarbeitungselementen fähig. Daher können die Richtlinien (policies) des Managers 140 nicht nur eine Software-Entitäten-Prioritätshöhe, sondern auch den Einfluss der Software-Entitäten auf Software-Entitäten anderer Priorität berücksichtigen. Als Beispiel kann, wenn VM 105, d. h. eine Virenscan-Software, Hypervisor 110 oder eine andere Anwendung hoher Priorität nicht beeinflusst, d. h. zu viel von Ressource 145 nutzt, wie z. B. von Leistungsaufnahme, Frequenz, Cachespeicher, Speicher oder einer anderen Ressource, der Leistungsmanager 140 bestimmen, den Arbeitspunkt von VE 130 nicht zu reduzieren. Im Gegensatz dazu kann, wenn eine Prioritätshöhe, die VM 105 beinhaltet, zu viel von Ressource 145 nutzt, der Leistungsmanager 140 den Arbeitspunkt von VE 130 basierend sowohl auf der Prioritätshöhe von VM 105 als auch der Nutzung von Ressource 145 reduzieren.
  • Daher kann der Leistungsaufnahme-Verarbeitungsleistungs-Manager 140 jedwede Menge an zentralisierter oder verteilter Logik beinhalten, um die Priorität einer Software-Entität/eines Verarbeitungselementes zu bestimmen, eine Rate eines Verarbeitungselementes zu bestimmen, die Verarbeitungsleistung einer Ressource zu bestimmen, eine Rate eines Verarbeitungselementes zu setzen, eine Verarbeitungsleistungs-Zuteilung einer Ressource zu setzen, eine Richtlinie für das Leistungsaufnahme-Verarbeitungsleistungs-Management zu bestimmen oder eine Kombination davon.
  • In einer Ausführungsform beinhaltet Ressource 145 Prioritätsnutzungslogik, um die Nutzung von Ressource 145 im Zusammenhang mit Prioritätshöhen anzugeben. Daher dient, wenn eine niedrigere Prioritätshöhe zu viel von Ressource 145 nutzt, d. h. mehr als eine vordefinierte Menge von Ressource 145, die Nutzungslogik dann dazu, dem Manager 140 jene übermäßige Nutzung anzuzeigen. Als ein erstes Beispiel zeigt Nutzungslogik dem Manager 140 an, wie viel eines Leistungsaufnahme-Budgets für Prozessor 125 jene VE 130 nutzt. Überschreitet jener Betrag an Leistungsaufnahme eine Schwelle, wie z. B. 20%, dann bestimmt die Leistungsmanagerlogik 140, ob ein Arbeitspunkt von VE 130 zu modifizieren ist. Da VM 105 eine Anwendung niedriger Priorität ist, kann der Manager 140 den Arbeitspunkt von VE 130 durch jedwede Anzahl der oben erwähnten Ratensteuer- oder Verarbeitungsleistungssteuermechanismen reduzieren, falls ermittelt wird, dass die Leistungsaufnahme von VE 130 andere Software-Entitäten höherer Priorität beeinflusst. Zu weiteren Beispielen für Ratensteuermechanismen zählen Frequenzskalierung, Taktmodulation, Taktunterdrückung, Drosseln der Befehlsausgabe, Drosseln der Speicherausgabe oder eine andere quellenbasierte Ratenmodulationstechnik.
  • Ein anderes Beispiel für Nutzungslogik beinhaltet Speicherbandbreitenlogik 151. Wie dargestellt, befindet sich Logik 151 in Hub 150, um den Verkehr auf einer Speicherverbindung (memory interconnect) im Zusammenhang mit Prioritätshöhen zu verfolgen. Hier kann, wenn von einer niedrigen Prioritätshöhe zuviel Speicherbandbreite genutzt wird, der Manager 140 dann die Bandbreitenzuteilung an Verarbeitungselemente, wie z. B. Verarbeitungselement 130, reduzieren, die jener niedrigen Prioritätshöhe zugeordnet sind. Obgleich sie in Hub 150 abgebildet ist, kann Logik 151 irgendwo in Hardware 120 vorhanden sein.
  • Wir gehen zu 2a über, einer Ausführungsform von Leistungsaufnahme-Verarbeitungsleistungs-Logik, die des Steuerns von Verarbeitungselementraten und der Zuteilung gemeinsam genutzter Ressourcen fähig ist. Hier dient Ratensteuermodul 255 zum Modifizieren von Raten von Verarbeitungselementen (VEs) 251254. Beispielsweise ist beim höchsten Arbeitspunkt VE 251 auf eine höchste Spannung, Leistungsaufnahme, Frequenz, Taktung, Befehlsausgabekapazität und Speicherzugriffskapazität gesetzt. Jedoch kann, wenn der Arbeitspunkt auf einen niedrigeren Arbeitspunkt modifiziert wird, einer oder mehrere der oben erwähnten ratenbasierten Mechanismen reduziert werden. Beispielsweise können Zyklen eines Taktes für VE 251 unterdrückt werden. Zu beachten ist, dass das Ändern einer Ressource für eine VE der VEs 251254 die anderen VEs beeinflussen kann. Herkömmlicherweise werden gemeinsame Spannungsschienen für VEs 251254 genutzt; jedoch können individuelle Stromschienen zugeführt werden, um unabhängige Modulation der Spannung zum Steuern der Rate eines einzelnen VEs zu ermöglichen, ohne die anderen VEs zu beeinflussen.
  • Zusätzlich zu ratenbasierten Mechanismen kann der Leistungsaufnahme-Verarbeitungsleistungs-Manager 275 auch die Zuteilung gemeinsam genutzter Ressourcen 260 modifizieren, um angemessene Ressourcenkapazität für Software-Entitäten höherer Priorität sicherzustellen. Hier dient der Monitor 265 zum Verfolgen der Nutzung der gemeinsam genutzten Ressource 260 durch unterschiedliche Prioritätshöhen. Wenn eine niedrige Priorität zu viel der gemeinsam genutzten Ressource 260 nutzt, d. h. andere höhere Prioritätshöhen beeinflusst, dann kann der Manager 275 die Ratensteuerung 255 nutzen, um die Nutzung der gemeinsam genutzten Ressource 260 von der Quelle zu reduzieren, d. h. von einer VE, die der niedrigen Prioritätshöhe zugeordnet ist. Im Gegensatz dazu kann der Manager 275 Zuteilungslogik 270 nutzen, um die Zuteilung der gemeinsam genutzten Ressource 260 zu einer niedrigen Priorität zu modifizieren.
  • Zur Veranschaulichung sei angenommen, dass VE 251 einer Software-Entität niedriger Priorität zugeordnet ist und VE 252 einer Software-Entität höherer Priorität zugeordnet ist. In einer Ausführungsform ist VE 251 standardmäßig auf einen niedrigeren Arbeitspunkt gesetzt, um Strom zu sparen. Beispielsweise nutzt der Manager 275 die Ratensteuerung 255, um die Spannung und die Frequenz für VE 251 zu reduzieren, um Strom zu sparen. In einer anderen Ausführungsform ist es VE 251 erlaubt, normal zu arbeiten, bis durch Monitor 265 detektiert wird, dass die niedrigere Prioritätshöhe die Verarbeitungsleistung der höheren Prioritätshöhe beeinflusst. Hier bestimmt der Monitor 265, dass die niedrigere Prioritätshöhe zuviel der gemeinsam genutzten Ressource 260 nutzt. Als Folge davon setzt der Manager 275 die VE 251, die der Software-Entität niedrigerer Priorität zugeordnet ist, auf einen niedrigeren Arbeitspunkt.
  • Zu beachten ist, dass nach dem Vorhergesagten der Manager 275 jedwede Richtlinie zum Reduzieren eines Arbeitspunktes implementieren kann. Beispielsweise kann der Manager 275 Ratensteuermechanismen, wie z. B. Spannung und Frequenz, sowie Zuteilungsmechanismen verwenden, wie z. B. Zuteilungslogik 270, um sicherzustellen, dass VE 251 nur einen Teil der gemeinsam genutzten Ressource 260 nutzen kann. Anders ausgedrückt, dass für die höhere Prioritätshöhe die Nutzung mindestens eines Teils der gemeinsam genutzten Ressource 260 sichergestellt ist. Die gemeinsam genutzte Ressource 260 beinhaltet jedwede Ressource, die durch mehr als ein Verarbeitungselement gemeinsam genutzt wird, wie z. B. einen Cachespeicher, einen Speicher, einen Speicherzugriffsmechanismus oder andere bekannte gemeinsam genutzte Hardware, Firmware oder Software.
  • Übergehend zu 2b, ist eine Ausführungsform von Leistungsaufnahme-Verarbeitungsleistungs-Logik dargestellt, die des Modifizierens von Raten von Verarbeitungselementen und der Zuteilung eines Cachespeichers fähig ist. Der Cachespeicher 200 kann in jedweder Art und Weise organisiert sein, wie z. B. als direkt abgebildeter Cachespeicher, vollassoziativer Cachespeicher oder satzassoziativer Cachespeicher. Wie dargestellt, ist der Cachespeicher 200 ein satzassoziativer Cachespeicher mit K Wegen, d. h. vier Wegen 205208. Sätze 201 beinhalten denselben Offsetort innerhalb jedes der Wege. Hier sind zusätzliche Felder 210216 jedem Satz von Cachespeicher 200 zugeordnet, um die Prioritätshöhe anzugeben, die den Orten innerhalb eines entsprechenden Satzes zugeordnet sind. Man beachte, dass zusätzliche Felder genutzt werden können, um Prioritätshöhen in jedweden Einträgen zu verfolgen, wie z. B. Orten, Wegen, Sätzen oder anderen Konfigurationen.
  • In einer Ausführungsform inkrementiert, wenn eine Cacheleitung, die einer ersten Prioritätshöhe zugeordnet ist, zum Cachespeicher 200 gebracht wird, der Zähler 220 dann einen Zählwert für die erste Prioritätshöhe, und wenn eine Cacheleitung, die der ersten Prioritätshöhe zugeordnet ist, geräumt wird, wird der Zählwert dekrementiert. Daher wird eine erste Anzahl von Einträgen verfolgt, die der ersten Prioritätshöhe zugeordnet sind. In ähnlicher Weise kann die Nutzung von Cachespeicher 200 für mehrere Prioritätshöhen verfolgt werden. Basierend auf den Nutzungsstärken unterschiedlicher Prioritäten, wie sie durch Zähler 220 verfolgt werden, bestimmt der Manager 230 einen Arbeitspunkt für die Prioritätshöhe, d. h. für das Verarbeitungselement, das einer Software-Entität bei der Prioritätshöhe zugeordnet ist.
  • Wie oben erwähnt, kann eine Rate eines Quellelementes, wie z. B. eines Verarbeitungselementes, das den Cacheleitungen niedrigerer Priorität zugeordnet ist, reduziert werden, um die Rate zu verringern, mit der das Quellelement den Cachespeicher 200 nutzt. Getrennt von oder zusätzlich zur Ratensteuerung kann der Manager 230 eine Zuteilungsrichtlinie für Cachespeicher 200 modifizieren. Hier wird einer Prioritätshöhe, die Maske 240 zugeordnet ist, Zugriff auf Teile des Cachespeichers 200 gewährt, d. h. einer Anzahl von Wegen, wie durch Maske 240 angegeben. Beispielsweise sei angenommen, dass eine niedrige Prioritätshöhe 75% von Cachespeicher 200 nutzt, was eine Software-Entität mit hoher Prioritätshöhe beeinflusst, die 25% des Cachespeichers nutzt.
  • Der Manager 230 setzt die Maske 240 auf eine binäre 1000, die darstellt, daß ein Verarbeitungselement, das der niedrigeren Prioritätshöhe zugeordnet ist, nur auf Weg 205 von Cachespeicher 200 zugreifen darf. Alternativ kann der Arbeitspunkt für die höhere Prioritätshöhe aufrechterhalten oder erhöht werden. Als Beispiel kann die Maske 240 auf eine 1111 gesetzt werden, die darstellt, dass ein Verarbeitungselement, das einer Software-Entität höherer Priorität zugeordnet ist, auf alle Wege von Cachespeicher 200 zugreifen darf. Als Folge davon wird einer niedrigeren Prioritätshöhe nur erlaubt, auf einen Weg von Cachespeicher 200 zuzugreifen, womit sichergestellt ist, dass die beeinflusste Prioritätshöhe mindestens auf drei Wege von Cachespeicher 200 ohne Störung zugreifen kann. In diesem Beispiel erfolgt die Zuteilung durch Verwendung einer Maske für jede Prioritätshöhe. Jedoch kann jedwede Zuteilungsrichtlinie und -logik genutzt werden, um einen Teil eines Cachespeichers basierend auf Priorität zu reservieren, zu begrenzen oder zu beschränken. Das Verfolgen von Prioritätsnutzung eines Cachespeichers ist ausführlicher in der ebenfalls anhängigen Patentanmeldung mit der laufenden Nummer _______ und dem Aktenzeichen 42.P24235 des Bevollmächtigten diskutiert.
  • Als nächstes Bezug nehmend auf 3 ist eine Ausführungsform von Leistungsaufnahme-Verarbeitungsleistungs-Logik dargestellt, die des Modifizieren von Raten von Verarbeitungselementen und der Zuteilung von Zugriff auf ein Gerät fähig ist, wie z. B. auf einen Speicher. Ähnlich einem Cachespeicher kann getrennt von oder zusätzlich zur Ratensteuerung der Manager 330 auch Zugriffsrichtlinien auf gemeinsam genutzte Geräte innerhalb unterschiedlicher Arbeitspunkte modifizieren. Hier nutzen die Verarbeitungselemente 306309 eine Ringpriorität, um auf Speicher 340 zuzugreifen, und die Zuteilungslogik 315 ist des Zuteilens unterschiedlicher Beträge an Bandbreite für Speicherzugriffe fähig, die unterschiedlichen Prioritätshöhen zugeordnet sind. Obgleich ein Ringzugriffsformat dargestellt ist, kann bei einer seriellen oder anderen Verbindung das Verfolgen und Zuteilen von Zugriffen in einer ähnlichen Art und Weise erfolgen.
  • In einer Ausführungsform wird für Zugriffe auf Speicher 340 ein Credit- oder Steuerprioritätswartefeld genutzt. Ein Verarbeitungselement, wie z. B. Element 306, fordert einen Zugriff auf den Speicher an. Die Zugriffanforderung wird eingereiht, und dementsprechend wird an das Verarbeitungselement 306 ein Credit/Token für einen Zugriff auf den Speicher ausgegeben. Als Beispiel beinhaltet der Bandbreitenmonitor 325 dem Creditwartefeld zugeordnete Felder, die verwendet werden können, um Prioritätshöhen und/oder Verarbeitungselemente zu verfolgen, die Speicherzugriffsanforderungen zugeordnet sind. Daher kann, wie oben in 2, die Anzahl der Fehlzugriffe (misses) auf einen Cachespeicher höherer Höhe und/oder Zugriffe auf Speicher durch die Anzahl der angeforderten Credits verfolgt werden, die einer Prioritätshöhe zugeordnet sind.
  • Als ein anderes Beispiel beinhaltet der Bandbreitenmonitor 325 einen Zähler, der jeder Prioritätshöhe zuzuordnen ist. Bei jedem Zugriff von einer spezifischen Prioritätshöhe wird der zugeordnete Zähler inkrementiert. Über eine vorgegebene Zeitspanne wird, wenn der Zähler einen Schwellwert für die zugeordnete Prioritätshöhe erreicht, der Manager 330 dann benachrichtigt. Jedwede andere bekannte Logik zum Verfolgen von Speicherbandbreite, -nutzung oder -zugriff kann in Bandbreitenmonitor 325 genutzt werden.
  • Wenn der Manager 330 benachrichtigt wird, dass eine niedrigere Prioritätshöhe zuviel Speicherbandbreite nutzt, kann er die Rate der VEs 306309 modifizieren und/oder die Zuteilung von Bandbreite an die VEs 306309 dementsprechend modifizieren. Beispielsweise nehmen Verarbeitungsleistungsmanager 330 und Zuteilungslogik 315 dahingehend eine Voreinstellung eines Credit- oder Steuerprioritätswartefeldes vor, dass weniger Credits/Tokens für ein Verarbeitungselement erlaubt werden, wie z. B. Verarbeitungselement 306, das der niedrigeren Prioritätshöhe zugeordnet ist. Darüber hinaus kann auch die Rate von VE 306 geändert werden, wie z. B. mit Verringern der Menge an Speicherzugriffen, die an der Quelle angefordert werden, durch Reduzieren der Anzahl der Befehle, die pro Zyklus ausgegeben werden, oder Reduzieren der Frequenz der VE 306.
  • Die oben dargelegten Ausführungsformen von Verfahren, Software, Firmware oder Code können über Befehle oder Code implementiert sein, die auf einem maschinenzugriffsfähigen oder maschinenlesbaren Medium gespeichert sind und durch ein Verarbeitungselement ausführbar sind. Ein maschinenzugriffsfahiges/-lesbares Medium beinhaltet jedweden Mechanismus, der Informationen in einer Form bereitstellt (d. h. speichert und/oder überträgt), die durch eine Maschine lesbar ist, wie z. B. ein Computer- oder elektronisches System. Beispielsweise beinhaltet ein maschinenzugriffsfähiges Medium Schreib-Lese-Speicher (Random-Access Memory, RAM), wie z. B. statischen RAM (SRAM) oder dynamischen RAM (DRAM); ROM; ein magnetisches oder optisches Speichermedium; Flash-Speicher-Geräte; elektrische, optische, akustische oder eine andere Form sich ausbreitender Signale (z. B., Trägerwellen, Infrarotsignale, Digitalsignale); usw.
  • In dieser gesamten Spezifikation bedeutet ein Verweis auf „eine Ausführungsform" (engl. „one embodiment" oder „an embodiment"), dass ein(e) bestimmte(s) Merkmal, Struktur oder Charakteristik, das/die in Verbindung mit der Ausführungsform beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Erfindung beinhaltet ist. Somit verweist das Auftreten der Redewendung „in einer Ausführungsform" an verschiedenen Stellen in dieser gesamten Beschreibung nicht notwendigerweise alle auf dieselbe Ausführungsform. Außerdem können die einzelnen Merkmale, Strukturen oder Charakteristika in jedweder geeigneten Art und Weise in einer oder mehreren Ausführungsformen kombiniert sein.
  • In der vorangehenden Spezifikation ist eine ausführliche Beschreibung unter Bezug auf spezifische Ausführungsbeispiele gegeben worden. Es ist jedoch ersichtlich, dass verschiedene Modifikationen und Änderungen daran erfolgen können, ohne vom breiteren Geist und Umfang der Erfindung abzuweichen, wie in den angehängten Ansprüchen dargelegt. Die Spezifikation und die Zeichnungen sind dementsprechend in einem veranschaulichenden Sinne und nicht in einem beschränkenden Sinne zu betrachten. Außerdem bezieht sich die vorangehende Verwendung von Ausführungsform und anderer exemplarischer Redeweisen nicht notwendigerweise auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann sich auf unterschiedliche und verschiedene Ausführungsformen wie auch möglicherweise dieselbe Ausführungsform beziehen.

Claims (24)

  1. Vorrichtung, die folgendes umfasst: ein erstes Verarbeitungselement von mehreren Verarbeitungselementen, das einer ersten Software-Entität von mehreren Software-Entitäten zuzuordnen ist; und prioritätsbewusste Managementlogik zum Empfangen einer Prioritätshöhe der ersten Software-Entität und zum Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes basierend auf der Prioritätshöhe der ersten Software-Entität.
  2. Vorrichtung nach Anspruch 1, wobei jedes der ersten und zweiten Verarbeitungselemente aus einer Gruppe ausgewählt sind, die aus einem Kern, einem Thread und einem Kontext besteht.
  3. Vorrichtung nach Anspruch 1, wobei prioritätsbewusste Managementlogik zum Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Ratensteuerlogik zum Modifizieren einer Rate des ersten Verarbeitungselementes umfasst.
  4. Vorrichtung nach Anspruch 3, wobei prioritätsbewusste Managementlogik zum Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Zuteilungssteuerlogik zum Modifizieren einer Zuteilung einer gemeinsam genutzten Ressource an das erste Verarbeitungselement umfasst.
  5. Vorrichtung nach Anspruch 1, wobei Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Modifizieren eines Spannungsniveaus des ersten Verarbeitungselementes umfasst.
  6. Vorrichtung nach Anspruch 1, wobei Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Modulieren eines Taktes umfasst, der dem ersten Verarbeitungselement zugeordnet ist.
  7. Vorrichtung nach Anspruch 1, wobei Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Modifizieren einer Frequenz des ersten Verarbeitungselementes umfasst.
  8. Vorrichtung nach Anspruch 1, wobei Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Modifizieren einer Speicherzugriffsrate des ersten Verarbeitungselementes umfasst.
  9. Vorrichtung nach Anspruch 1, wobei Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Modifizieren einer Befehlsausgaberate des ersten Verarbeitungselementes umfasst.
  10. Vorrichtung nach Anspruch 1, wobei Modifizieren eines Arbeitspunktes des ersten Verarbeitungselementes Modifizieren eines Nutzungsbetrages einer Ressource umfasst, die dem ersten Verarbeitungselement zugeordnet ist.
  11. Vorrichtung nach Anspruch 10, wobei die Ressource ein Cachespeicher ist und wobei Modifizieren eines Nutzungsbetrages der Ressource Modifizieren eines Betrages des Cachespeichers beinhaltet, auf den durch das erste Verarbeitungselement zugegriffen werden kann.
  12. Vorrichtung nach Anspruch 10, wobei die Ressource ein Speicher ist und wobei Modifizieren eines Nutzungsbetrages der Ressource Modifizieren eines Betrages des Zugriffe auf den Speicher umfasst.
  13. Vorrichtung nach Anspruch 1, wobei die erste Software-Entität aus einer Gruppe ausgewählt ist, die aus einem Betriebssystem, einem Monitor virtueller Maschinen (VMM), einer virtuellen Maschine (VM), einer Anwendung auf Benutzerebene und Gast-Software besteht.
  14. Vorrichtung, die folgendes umfasst: einen Prozessor, der folgendes beinhaltet: ein erstes Verarbeitungselement, das einer ersten Software-Entität zuzuordnen ist; ein zweites Verarbeitungselement, das einer zweiten Software-Entität zuzuordnen ist; ein Speicherelement zum Halten einer ersten Prioritätshöhe, die der ersten Software-Entität zugeordnet ist, und einer zweiten Prioritätshöhe, die der zweiten Software-Entität zugeordnet ist, wobei die erste Prioritätshöhe höher als die zweite Prioritätshöhe ist; und einen prioritätsbewussten Manager zum Setzen eines ersten Arbeitspunktes des ersten Verarbeitungselementes auf einen höheren Arbeitspunkt als einen zweiten Arbeitspunkt des zweiten Arbeitselementes basierend darauf, dass die erste Prioritätshöhe höher als die zweite Prioritätshöhe ist.
  15. Vorrichtung nach Anspruch 14, wobei der erste Arbeitspunkt das erste Verarbeitungselement bei einer höheren Rate als der Rate des zweiten Verarbeitungselementes am zweiten Arbeitspunkt umfasst.
  16. Vorrichtung nach Anspruch 14, wobei die ersten und zweiten Verarbeitungselemente Kerne sind und wobei der erste Arbeitspunkt eine erste Spannung und eine erste Frequenz beinhaltet, die höher als eine zweite Spannung und eine zweite Frequenz des zweiten Arbeitspunktes sind.
  17. Vorrichtung nach Anspruch 14, wobei der erste Arbeitspunkt des ersten Verarbeitungselementes Zugriff auf eine erste Anzahl von Wegen eines Cachespeichers beinhaltet und der zweite Arbeitspunkt des zweiten Verarbeitungselementes Zugriff auf eine zweite Anzahl von Wegen des Cachespeichers umfasst, wobei die erste Anzahl von Wegen größer als die zweite Anzahl von Wegen ist.
  18. Vorrichtung, die folgendes umfasst: Prioritätsnutzungslogik zum Anzeigen von Nutzung einer Ressource, die einer ersten Prioritätshöhe zugeordnet ist, und Nutzung der Ressource, die einer zweiten Prioritätshöhe zugeordnet ist, wobei die erste Prioritätshöhe niedriger als die zweite Prioritätshöhe ist; und prioritätsbewusste Managementlogik, die mit der Prioritätsnutzungslogik gekoppelt ist, zum Reduzieren eines Arbeitspunktes eines ersten Verarbeitungselementes, das einer Software-Entität der ersten Prioritätshöhe zuzuordnen ist, in Reaktion darauf, daß die Nutzung der Ressource, die der ersten Prioritätshöhe zugeordnet ist, oberhalb eines vordefinierten Nutzungsbetrages liegt.
  19. Vorrichtung nach Anspruch 18, wobei der erste Arbeitspunkt des ersten Verarbeitungselementes eine erste Rate des ersten Verarbeitungselementes beinhaltet und der zweite Arbeitspunkt des zweiten Verarbeitungselementes eine zweite Rate des zweiten Verarbeitungselementes beinhaltet, wobei die erste Rate größer als die zweite Rate ist.
  20. Vorrichtung nach Anspruch 18, wobei der erste Arbeitspunkt des ersten Verarbeitungselementes einen ersten Zuteilungsbetrag der Ressource umfasst und der zweite Arbeitspunkt des zweiten Verarbeitungselementes einen zweiten Zuteilungsbetrag der Ressource umfasst, wobei der erste Zuteilungsbetrag größer als der zweite Zuteilungsbetrag ist.
  21. Vorrichtung nach Anspruch 18, wobei der erste Arbeitspunkt des ersten Verarbeitungselementes Zugriff auf einen ersten Teil eines Cachespeichers umfasst und der zweite Arbeitspunkt des zweiten Verarbeitungselementes Zugriff auf einen zweiten Teil des Cachespeichers umfasst, wobei der erste Teil größer als der zweite Teil ist.
  22. Vorrichtung nach Anspruch 21, wobei die Prioritätsnutzungslogik Verfolgungslogik zum Verfolgen einer ersten Anzahl von Einträgen in dem Cachespeicher, die der ersten Prioritätshöhe zugeordnet sind, und einer zweiten Anzahl von Einträgen umfasst, die der zweiten Prioritätshöhe zugeordnet sind.
  23. Vorrichtung nach Anspruch 18, wobei der erste Arbeitspunkt des ersten Verarbeitungselementes eine erste Anzahl von Credits zum Zugreifen auf einen Speicher umfasst und der zweite Arbeitspunkt des zweiten Verarbeitungselementes eine zweite Anzahl von Credits zum Zugreifen auf den Speicher umfasst, wobei die erste Anzahl von Credits größer als die zweite Anzahl von Credits ist.
  24. Vorrichtung nach Anspruch 23, wobei die Prioritätsnutzungslogik Verfolgungslogik zum Verfolgen einer dritten Anzahl von Credits, die an das erste Verarbeitungselement zum Zugreifen auf den Speicher ausgegeben wurden, und einer vierten Anzahl von Credits umfasst, die an das zweite Verarbeitungselement zum Zugreifen auf den Speicher ausgegeben wurden.
DE102008016181A 2007-04-09 2008-03-28 Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte Ceased DE102008016181A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/786,019 2007-04-09
US11/786,019 US8799902B2 (en) 2007-04-09 2007-04-09 Priority based throttling for power/performance quality of service

Publications (1)

Publication Number Publication Date
DE102008016181A1 true DE102008016181A1 (de) 2008-12-18

Family

ID=39828105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008016181A Ceased DE102008016181A1 (de) 2007-04-09 2008-03-28 Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte

Country Status (6)

Country Link
US (1) US8799902B2 (de)
JP (1) JP5175335B2 (de)
CN (1) CN101414269B (de)
BR (1) BRPI0810879A2 (de)
DE (1) DE102008016181A1 (de)
WO (1) WO2008124455A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013022564B4 (de) 2012-06-30 2023-09-28 International Business Machines Corporation Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799902B2 (en) 2007-04-09 2014-08-05 Intel Corporation Priority based throttling for power/performance quality of service
US8219996B1 (en) * 2007-05-09 2012-07-10 Hewlett-Packard Development Company, L.P. Computer processor with fairness monitor
GB2449455B (en) * 2007-05-22 2011-08-03 Advanced Risc Mach Ltd A data processing apparatus and method for managing multiple program threads executed by processing circuitry
US7930578B2 (en) * 2007-09-27 2011-04-19 International Business Machines Corporation Method and system of peak power enforcement via autonomous token-based control and management
US20090165004A1 (en) * 2007-12-21 2009-06-25 Jaideep Moses Resource-aware application scheduling
US7802057B2 (en) * 2007-12-27 2010-09-21 Intel Corporation Priority aware selective cache allocation
US8683483B2 (en) * 2008-03-25 2014-03-25 Oracle America, Inc. Resource utilization monitor
JP5322529B2 (ja) * 2008-07-29 2013-10-23 キヤノン株式会社 表示装置、表示制御方法
US8424007B1 (en) * 2008-09-30 2013-04-16 Symantec Corporation Prioritizing tasks from virtual machines
US8566834B2 (en) * 2008-10-02 2013-10-22 Dell Products L.P. Mechanism for application management during server power changes
US10095533B1 (en) * 2008-10-06 2018-10-09 Veritas Technologies Llc Method and apparatus for monitoring and automatically reserving computer resources for operating an application within a computer environment
US8190930B2 (en) 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
US9396042B2 (en) 2009-04-17 2016-07-19 Citrix Systems, Inc. Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine
US8291416B2 (en) * 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
US8219063B2 (en) * 2009-06-26 2012-07-10 Vmware, Inc. Controlling usage in mobile devices via a virtualization software layer
US9311245B2 (en) * 2009-08-13 2016-04-12 Intel Corporation Dynamic cache sharing based on power state
JP5482052B2 (ja) * 2009-09-24 2014-04-23 富士通株式会社 観測分析装置および観測分析方法
US8578180B2 (en) * 2009-10-14 2013-11-05 Red Hat, Inc. Dynamic tuning of computing systems
CN101788926B (zh) * 2009-12-28 2014-04-30 中兴通讯股份有限公司 J2me应用前台切换的资源调配方法及装置
CN102141928A (zh) * 2010-01-29 2011-08-03 国际商业机器公司 虚拟环境下的数据处理方法、系统以及系统的部署方法
US20120331477A1 (en) * 2010-02-18 2012-12-27 Roy Zeighami System and method for dynamically allocating high-quality and low-quality facility assets at the datacenter level
WO2011134716A1 (en) * 2010-04-26 2011-11-03 International Business Machines Corporation Managing a multiprocessing computer system
US8589932B2 (en) 2010-07-02 2013-11-19 International Business Machines Corporation Data processing workload control
CN102479108B (zh) * 2010-11-26 2013-09-11 中国科学院声学研究所 一种多应用进程的嵌入式系统终端资源管理系统及方法
US20120137289A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Protecting high priority workloads in a virtualized datacenter
US9235500B2 (en) 2010-12-07 2016-01-12 Microsoft Technology Licensing, Llc Dynamic memory allocation and relocation to create low power regions
US8898390B2 (en) 2011-03-08 2014-11-25 Intel Corporation Scheduling workloads based on cache asymmetry
US8566935B2 (en) * 2011-05-12 2013-10-22 At&T Intellectual Property I, L.P. Balancing malware rootkit detection with power consumption on mobile devices
US8645733B2 (en) 2011-05-13 2014-02-04 Microsoft Corporation Virtualized application power budgeting
WO2012170025A1 (en) * 2011-06-09 2012-12-13 Hewlett-Packard Development Company, L.P. Regulating power consumption of a mass storage system
US20130014119A1 (en) * 2011-07-07 2013-01-10 Iolo Technologies, Llc Resource Allocation Prioritization Based on Knowledge of User Intent and Process Independence
RU2014106859A (ru) * 2011-07-25 2015-08-27 Серверджи, Инк. Способ и система для построения маломощной компьютерной системы
US9015838B1 (en) * 2012-05-30 2015-04-21 Google Inc. Defensive techniques to increase computer security
US8813240B1 (en) 2012-05-30 2014-08-19 Google Inc. Defensive techniques to increase computer security
WO2014000779A1 (en) * 2012-06-27 2014-01-03 Qatar Foundation An arrangement configured to allocate resources of a plurality of data storage media to a plurality virtual machines and associated method
US20140025890A1 (en) * 2012-07-19 2014-01-23 Lsi Corporation Methods and structure for improved flexibility in shared storage caching by multiple systems operating as multiple virtual machines
CN103596045B (zh) * 2012-08-14 2017-03-15 吴飞 一种用于视频码流播放终端设备的节能控制方法
US9134779B2 (en) 2012-11-21 2015-09-15 International Business Machines Corporation Power distribution management in a system on a chip
US9134778B2 (en) 2012-11-21 2015-09-15 International Business Machines Corporation Power distribution management in a system on a chip
JP6070150B2 (ja) * 2012-12-14 2017-02-01 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
WO2014121485A1 (zh) * 2013-02-07 2014-08-14 华为技术有限公司 对虚拟机进行管理的方法及系统
US9594411B2 (en) * 2013-02-28 2017-03-14 Qualcomm Incorporated Dynamic power management of context aware services
US9760389B2 (en) * 2013-03-15 2017-09-12 Excalibur Ip, Llc Activity initiated virtual machine migration
US9336068B2 (en) 2013-06-07 2016-05-10 Apple Inc. Throttling of application access to resources
US9477526B2 (en) * 2013-09-04 2016-10-25 Nvidia Corporation Cache utilization and eviction based on allocated priority tokens
US10386900B2 (en) * 2013-09-24 2019-08-20 Intel Corporation Thread aware power management
US10581687B2 (en) 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US10355997B2 (en) 2013-09-26 2019-07-16 Appformix Inc. System and method for improving TCP performance in virtualized environments
US10915449B2 (en) * 2013-12-19 2021-02-09 Hewlett Packard Enterprise Development Lp Prioritizing data requests based on quality of service
US10095286B2 (en) 2014-05-30 2018-10-09 Apple Inc. Thermally adaptive quality-of-service
US10203746B2 (en) 2014-05-30 2019-02-12 Apple Inc. Thermal mitigation using selective task modulation
KR101543969B1 (ko) * 2014-09-24 2015-08-11 연세대학교 산학협력단 애플리케이션 처리 속도와 소모 전력 향상을 위한 cpu 제어 방법 및 장치
US9612651B2 (en) * 2014-10-27 2017-04-04 Futurewei Technologies, Inc. Access based resources driven low power control and management for multi-core system on a chip
US10146296B2 (en) * 2014-11-06 2018-12-04 Qualcomm Incorporated Independent asynchronous framework for embedded subsystems
US10534714B2 (en) * 2014-12-18 2020-01-14 Hewlett Packard Enterprise Development Lp Allocating cache memory on a per data object basis
US9733987B2 (en) * 2015-02-20 2017-08-15 Intel Corporation Techniques to dynamically allocate resources of configurable computing resources
US10007556B2 (en) * 2015-12-07 2018-06-26 International Business Machines Corporation Reducing utilization speed of disk storage based on rate of resource provisioning
JP6886301B2 (ja) * 2017-01-26 2021-06-16 キヤノン株式会社 メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
US11068314B2 (en) * 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
US10721294B2 (en) * 2017-07-12 2020-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for subscription-based resource throttling in a cloud environment
US10496150B2 (en) * 2017-07-13 2019-12-03 Red Hat, Inc. Power consumption optimization on the cloud
US10503550B2 (en) 2017-09-30 2019-12-10 Intel Corporation Dynamic performance biasing in a processor
CN110300138B (zh) * 2018-03-22 2022-04-08 浙江宇视科技有限公司 图片业务调度方法、装置、管理节点及计算机可读存储介质
US11144473B2 (en) * 2018-06-13 2021-10-12 Advanced Micro Devices, Inc. Quality of service for input/output memory management unit
US10817217B2 (en) * 2018-06-28 2020-10-27 Seagate Technology Llc Data storage system with improved time-to-ready
JP7151219B2 (ja) * 2018-07-05 2022-10-12 株式会社リコー 組み込み機器、ウィルススキャンプログラム実行方法、プログラム
CN109308196B (zh) * 2018-08-22 2020-04-14 腾讯科技(深圳)有限公司 一种多机型设备复用方法、装置及存储介质
US11237985B2 (en) * 2019-10-29 2022-02-01 Arm Limited Controlling allocation of entries in a partitioned cache
CN112887348B (zh) * 2019-11-29 2024-04-26 罗伯特·博世有限公司 用于控制车辆定位数据在网络上的传输的方法和系统
US11442890B1 (en) 2020-11-06 2022-09-13 Amazon Technologies, Inc. On-circuit data activity monitoring for a systolic array
US11520731B1 (en) * 2020-11-06 2022-12-06 Amazon Technologies, Inc. Arbitrating throttling recommendations for a systolic array
US20210224128A1 (en) * 2020-12-24 2021-07-22 Intel Corporation Technologies for managing workloads in processor cores
US11436145B1 (en) 2021-03-30 2022-09-06 Kyndryl, Inc. Analytics-driven direction for computer storage subsystem device behavior
CN112989733B (zh) * 2021-05-07 2021-11-30 北京芯愿景软件技术股份有限公司 电路分析方法、装置、设备及存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269390B1 (en) * 1996-12-17 2001-07-31 Ncr Corporation Affinity scheduling of data within multi-processor computer systems
US5918057A (en) * 1997-03-20 1999-06-29 Industrial Technology Research Institute Method and apparatus for dispatching multiple interrupt requests simultaneously
US6016503A (en) * 1997-08-29 2000-01-18 International Business Machines Corporation Methods, systems and computer program products for preemptive avoidance of constraints for shared resources
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6148324A (en) * 1998-01-05 2000-11-14 Lucent Technologies, Inc. Prioritized load balancing among non-communicating processes in a time-sharing system
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access
US6141762A (en) 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
US6477562B2 (en) * 1998-12-16 2002-11-05 Clearwater Networks, Inc. Prioritized instruction scheduling for multi-streaming processors
JP2001109661A (ja) 1999-10-14 2001-04-20 Hitachi Ltd キャッシュメモリの割当方法及びオペレーティングシステム及びそのオペレーティングシステムを有するコンピュータシステム
JP2001331461A (ja) 2000-05-19 2001-11-30 Nec Corp マルチプロセッサシステム及びプロセッサスケジュリング方法
US20030023889A1 (en) * 2001-07-26 2003-01-30 Hofstee Harm Peter Apparatus and method for controlling power dissipation and convective cooling to reduce temperature excursion rates in a processing system
US6813665B2 (en) * 2001-09-21 2004-11-02 Intel Corporation Interrupt method, system and medium
US7159216B2 (en) * 2001-11-07 2007-01-02 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
JP2003256067A (ja) 2002-03-01 2003-09-10 Mitsubishi Electric Corp 省電力制御方式及び省電力制御方法及びプログラム及び記録媒体
US7464380B1 (en) * 2002-06-06 2008-12-09 Unisys Corporation Efficient task management in symmetric multi-processor systems
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US7475399B2 (en) * 2004-01-13 2009-01-06 International Business Machines Corporation Method and data processing system optimizing performance through reporting of thread-level hardware resource utilization
US7614053B2 (en) 2004-02-20 2009-11-03 Sony Computer Entertainment Inc. Methods and apparatus for task management in a multi-processor system
JP4490298B2 (ja) 2004-03-02 2010-06-23 三菱電機株式会社 プロセッサ電力制御装置及びプロセッサ電力制御方法
US7487503B2 (en) * 2004-08-12 2009-02-03 International Business Machines Corporation Scheduling threads in a multiprocessor computer
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
US7458065B2 (en) * 2004-09-21 2008-11-25 Intel Corporation Selection of spawning pairs for a speculative multithreaded processor
US8364897B2 (en) 2004-09-29 2013-01-29 Intel Corporation Cache organization with an adjustable number of ways
EP1715405A1 (de) * 2005-04-19 2006-10-25 STMicroelectronics S.r.l. Verarbeitungsverfahren, -System und -Computerprogrammprodukt zur dynamischen Zuordnung von Verarbeitungsaufgaben in einem Multiprozessorverbund mit einer Leistungsanpassung
US7779287B2 (en) * 2005-08-22 2010-08-17 Intel Corporation Reducing power consumption in multiprocessor systems
US7945913B2 (en) * 2006-01-19 2011-05-17 International Business Machines Corporation Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system
US8799902B2 (en) 2007-04-09 2014-08-05 Intel Corporation Priority based throttling for power/performance quality of service

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013022564B4 (de) 2012-06-30 2023-09-28 International Business Machines Corporation Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler

Also Published As

Publication number Publication date
US8799902B2 (en) 2014-08-05
US20080250415A1 (en) 2008-10-09
CN101414269A (zh) 2009-04-22
WO2008124455A2 (en) 2008-10-16
CN101414269B (zh) 2013-11-20
WO2008124455A3 (en) 2008-12-24
JP5175335B2 (ja) 2013-04-03
JP2010524087A (ja) 2010-07-15
BRPI0810879A2 (pt) 2014-10-29

Similar Documents

Publication Publication Date Title
DE102008016181A1 (de) Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte
DE112012003701B4 (de) Dynamisches Zuordnen eines Leistungsbudgets über mehrere Domänen eines Prozessors
DE112011103193B4 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
DE112012002664B4 (de) Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor
DE102014101633B4 (de) Unterbrechung von Aufgaben zur Verwatlung von Chip-Komponenten
DE102010054337B4 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE102013104328B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE112012005210B4 (de) Bereitstellen eines gemeinsamen Caching-Agenten für ein Kern- und integriertes Ein-/Ausgabe-(IO)-Modul
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
DE112010005821T5 (de) Kontextwechsel
DE102020122528A1 (de) Softwareunterstütztes Leistungsmanagement
DE112008001655T5 (de) Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System
DE102013217995A1 (de) Verfahren und System zum Thread-Scheduling (Fadenzuteilung)
DE102009058426A1 (de) Verfahren und Vorrichtung zum Power-Management eines Prozessors
DE102010055267A1 (de) Gemeinsames Benutzen von Ressourcen zwischen einer CPU und GPU
DE112016004303T5 (de) Hardware-Vorhersageelement mit geringem Verwaltungsaufwand zur Verringerung der Leistungsumkehr für Kern-zu-Kern-Datenübertragungsoptimierungsbefehle
DE102008062692A1 (de) Vorrichtung und Verfahren mit gesteuertem Schaltmodus
DE102013104329A1 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE112020004661T5 (de) Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex
DE102018129330A1 (de) System, Vorrichtung und Verfahren zur prozessorexternen Überschreibung der Hardwareleistungszustandssteuerung eines Prozessors
DE112004001887T5 (de) Optimierung der SMI-Handhabung und -Initialisierung
DE10393396B4 (de) Schnittstelle und Vorrichtungstreiber zum lokalen Leistungsmanagement sowie Verfahren und Software zu deren Steuerung
DE112017003332T5 (de) Öffnungszugriffsprozessoren, verfahren, systeme und befehle
DE102009056282A1 (de) Technik zum Steuern von Verarbeitungsressourcen
DE19983709B4 (de) Einplanung von Ressourcenanforderungen in einem Computersystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20130702