DE102019105881A1 - Technologien zur bereitstellung von effizienter detektion leerlaufender abfrageschleifen - Google Patents

Technologien zur bereitstellung von effizienter detektion leerlaufender abfrageschleifen Download PDF

Info

Publication number
DE102019105881A1
DE102019105881A1 DE102019105881.3A DE102019105881A DE102019105881A1 DE 102019105881 A1 DE102019105881 A1 DE 102019105881A1 DE 102019105881 A DE102019105881 A DE 102019105881A DE 102019105881 A1 DE102019105881 A1 DE 102019105881A1
Authority
DE
Germany
Prior art keywords
ratio
operations
computing device
core
determining
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.)
Pending
Application number
DE102019105881.3A
Other languages
English (en)
Inventor
Eliezer Tamir
Bruce Richardson
John Browne
Chris McNamara
Niall Power
Andrew Cunningham
David Hunt
Kevin Devey
Nemanja Marjanovic
Rory Sexton
Changzheng Wei
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 DE102019105881A1 publication Critical patent/DE102019105881A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache with multiport tag or data arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Power Sources (AREA)

Abstract

Technologien zur Bereitstellung effizienter Detektion von leerlaufenden Abfrageschleifen umfassen eine Rechenvorrichtung. Die Rechenvorrichtung besitzt eine Rechenengine, die mehrere Kerne und einen Speicher umfasst. Die Rechenengine dient zum Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne, wobei der Kern dafür zugewiesen ist, in dem vordefinierten Zeitraum kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen, und Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt. Das Referenzverhältnis gibt eine Änderung des Betriebs des zugewiesenen Kerns an. Die Rechenengine dient ferner zum selektiven Vergrößern oder Verkleinern eines Stromverbrauchs des zugewiesenen Kerns abhängig davon, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt. Außerdem werden andere Ausführungsformen beschrieben und beansprucht.

Description

  • STAND DER TECHNIK
  • In typischen durch eine Rechenvorrichtung ausgeführten Paketverarbeitungsanwendungen kann ein Kern eines Mehrkernprozessors einen Abfragemodustreiber ausführen, der bewirkt, dass der Kern kontinuierlich eine Speicheradresse abfragt (z. B. um wiederholt Deskriptordaten an einer Stelle im Speicher zu lesen), während er darauf wartet, dass sich ein Wert ändert, wodurch angegeben würde, dass ein oder mehrere Posten (z. B. Pakete) in Warteschlangen eingereiht wurden und dafür bereit sind, dass an ihnen operiert wird (z. B. Abfragen einer Warteschlange, die einer Netzwerkschnittstellensteuerung der Rechenvorrichtung zugeordnet ist, für neu empfangene Pakete, an denen operiert werden soll). Der den Abfragemodustreiber ausführende Kern erscheint dem Betriebssystem der Rechenvorrichtung als 100% ausgelastet, selbst wenn keine Statusänderung aufgetreten ist (z. B. keine Pakete empfangen und durch den Prozessor verarbeitet werden). Da die Menge an Verkehr (z. B. Menge an ankommenden Paketen) durch die gemeldete Auslastung des den Abfragemodustreiber ausführenden Kerns nicht angegeben wird, haben dementsprechend typische Power-Management-Schemata Schwierigkeiten beim Bestimmen, wann die Frequenz des Kerns in Niederverkehrssituationen herunter zu skalieren ist und die Frequenz des Kerns in Hochverkehrssituationen heraufzuskalieren ist. Für einen Bediener der Rechenvorrichtung (z. B. einen Bediener einer Datenzentrale, die die Rechenvorrichtung enthält) können folglich Betriebskosten für elektrischen Strom entstehen, der unnötigerweise aufgrund von Betrieb des Kerns in einem Modus mit relativ hoher Leistung während einer Leerlaufabfrageschleife (z. B. in einer Niederverkehrssituation) verbraucht wurde, wenn der elektrische Strom gespart oder an einer anderen Stelle in der Datenzentrale benutzt worden sein könnte.
  • Figurenliste
  • Die hier beschriebenen Konzepte werden in den beigefügten Figuren beispielhaft und nicht als Beschränkung dargestellt. Der Einfachheit und Klarheit der Darstellung halber sind in den Figuren dargestellte Elemente nicht unbedingt maßstabsgetreu gezeichnet. Wenn es als angemessen betrachtet wird, werden Bezugszeichen in den Figuren wiederholt, um entsprechende oder analoge Elemente anzugeben.
    • 1 ist eine vereinfachte Darstellung mindestens einer Ausführungsform einer Rechenvorrichtung zur Bereitstellung effizienter Detektion von leerlaufenden Abfrageschleifen;
    • 2-4 sind eine vereinfachte Blockdarstellung mindestens einer Ausführungsform eines Verfahrens zum effizienten Detektieren von leerlaufenden Abfrageschleifen, das durch die Rechenvorrichtung von 1 ausgeführt werden kann;
    • 5 ist eine Darstellung einer Beziehung zwischen Prozessorauslastung, eines Verhältnisses von Verzweigungstreffern und -fehltreffern und einer Verkehrsrate, die während des Betriebs der Rechenvorrichtung von 1 existieren können; und
    • 6 ist ein Zustandsdiagramm von Power-Auslastungsmodi, die ein Kern der Rechenvorrichtung von 1 während der Ausführung des Verfahrens von 2-4 betreiben kann.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • Während die Konzepte der vorliegenden Offenbarung für verschiedene Modifikationen und alternative Formen offen sind, wurden hier beispielhaft spezifische Ausführungsformen davon in den Zeichnungen gezeigt, die hier ausführlich beschrieben werden. Es versteht sich jedoch, dass keine Absicht besteht, die Konzepte der vorliegenden Offenbarung auf die konkreten offenbarten Formen zu beschränken, sondern im Gegenteil die Erfindung alle Modifikationen, Äquivalente und Alternativen abdecken soll, die mit der vorliegenden Offenbarung und den angefügten Ansprüchen vereinbar sind.
  • Erwähnungen von „einer Ausführungsform“, „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. in der Beschreibung geben an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum umfassen kann, aber nicht unbedingt jede Ausführungsform dieses konkrete Merkmal, diese konkrete Struktur oder dieses konkrete Charakteristikum umfasst. Außerdem beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum in Verbindung mit einer Ausführungsform beschrieben wird, versteht sich ferner, dass es innerhalb der Fähigkeiten von Fachleuten liegt, ein solches Merkmal, eine solche Struktur oder ein solches Charakteristikum in Verbindung mit anderen Ausführungsformen zu bewirken, gleichgültig, ob es ausdrücklich beschrieben wird oder nicht. Zusätzlich versteht sich, dass in einer Liste der Form „mindestens eines von A, B und C“ enthaltene Posten (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C) bedeuten können. Ähnlich können Posten, die in der Form von „mindestens eines von A, B oder C“ aufgelistet sind, (A); (B) ; (C) ; (A und B); (A und C) ; (B und C); oder (A, B und C) bedeuten.
  • Die offenbarten Ausführungsformen können in einigen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert werden. Außerdem können die offenbarten Ausführungsformen als Anweisungen implementiert werden, die auf einem transitorischen oder nichttransitorischen maschinenlesbaren (z. B. computerlesbaren) Speicherungsmedium gespeichert sind, das durch einen oder mehrere Prozessoren gelesen und ausgeführt werden kann. Ein maschinenlesbares Speicherungsmedium kann als eine beliebige Speicherungsvorrichtung, ein beliebiger Mechanismus oder eine beliebige andere physische Struktur zum Speichern oder Übertragen von Informationen in einer durch eine Maschine lesbaren Form (z. B. ein flüchtiger oder nichtflüchtiger Speicher, ein Medien-Datenträger oder eine andere Medienvorrichtung) realisiert werden.
  • In den Zeichnungen können einige strukturelle oder Verfahrensmerkmale in spezifischen Anordnungen und/oder Reihenfolgen gezeigt sein. Es versteht sich jedoch, dass solche spezifischen Anordnungen und/oder Reihenfolgen nicht erforderlich sein müssen. Stattdessen können bei einigen Ausführungsformen solche Merkmale auf eine andere Weise und/oder in einer anderen Reihenfolge als in den beispielhaften Figuren gezeigt angeordnet sein. Außerdem ist aus der Aufnahme eines strukturellen oder Verfahrensmerkmals in eine bestimmte Figur nicht zu folgern, dass ein solches Merkmal bei allen Ausführungsformen erforderlich ist, und bei einigen Ausführungsformen kann es nicht enthalten oder mit anderen Merkmalen kombiniert sein.
  • Nunmehr mit Bezug auf 1 befindet sich eine Rechenvorrichtung 110 zum effizienten Detektieren einer leerlaufenden Abfrageschleife mittels eines Netzwerks 170 in Kommunikation mit einer Client-Vorrichtung 160. Im Betrieb kann die Rechenvorrichtung 110 eine oder mehrere Anwendungen (z. B. in einer oder mehreren virtuellen Maschinen) unter Verwendung von Kernen 140 eines Prozessors 114 ausführen, wie etwa um Dienste im Namen der Client-Vorrichtung 160 auszuführen. Hierbei überwacht die Rechenvorrichtung 110 mit einer Leistungsfähigkeit-Überwachungseinheit (PMU) 130 ein Verhältnis erfolgloser Operationen zu erfolgreichen Operationen (z. B. ein Verhältnis erfolgloser zu erfolgreichen spekulativen Operationen, wie etwa Verzweigungsfehltreffern zu Verzweigungstreffern, Cache-Fehltreffern zu Cache-Treffern usw.) eines Kerns 140, der dafür zugewiesen ist, kontinuierlich eine Speicheradresse auf Daten abzufragen, die eine Statusänderung angeben (z. B. kontinuierlich eine Warteschlange 150, die einer Netzwerkschnittstellensteuerung (NIC) 122 zugeordnet ist, auf neu empfangene Pakete abzufragen usw.). Als Reaktion auf eine Bestimmung, dass das Verhältnis eine vordefinierte Schwelle (z. B. 0,01%) übersteigt, bestimmt die Rechenvorrichtung, dass der Kern 140 eine Statusänderung detektiert hat. Ferner kann die Rechenvorrichtung 110 eine Strombenutzung (z. B. eine Frequenz und/oder Spannung) des Kerns 140 als Funktion (z. B. eine lineare Beziehung) des Betrags, um den das Verhältnis die vordefinierte Schwelle übersteigt, vergrößern. Ähnlich kann die Rechenvorrichtung die Strombenutzung des Kerns verringern, wenn das Verhältnis sich der vordefinierten Schwelle nähert. Bei der beispielhaften Ausführungsform kann die Rechenvorrichtung 110 die Strombenutzung des Kerns selektiv unter Verwendung einer PCU (Power Control Unit) 132 vergrößern oder verkleinern. Verglichen mit typischen Rechenvorrichtungen, die von einem Abfragemodustreiber bestimmen, der andauernd 100% Auslastung meldet, gleichgültig, ob eine Statusänderung aufgetreten ist oder nicht (z. B. gleichgültig, ob irgendwelche Pakete durch die NIC empfangen wurden), ist die Rechenvorrichtung 110 in der Lage, effizient (z. B. ohne Hardware oder Software für das Zählen der Anzahl empfangener Pakete in der NIC-Warteschlange 150 zu widmen) und genau zu bestimmen, ob eine Statusänderung aufgetreten ist, und schnell (z. B. mit geringer Latenz, wie etwa innerhalb von 10 Mikrosekunden nach einer Änderung des gemessenen Verhältnisses) die Stromversorgung des Kerns 140 herauf- oder herabzuskalieren, um Strom zu sparen und die Betriebskosten der Rechenvorrichtung 110 zu verringern.
  • Wie in 1 gezeigt, umfasst die beispielhafte Rechenvorrichtung 110 eine Rechenengine 112, ein Subsystem 118 für Eingabe/Ausgabe (E/A), Kommunikationsschaltkreise 120 und eine oder mehrere Datenspeicherungsvorrichtungen 124. Natürlich kann bei anderen Ausführungsformen die Rechenvorrichtung 110 andere oder zusätzliche Komponenten umfassen, wie etwa die gewöhnlich in einem Computer (z. B. einer Anzeige, Peripherievorrichtungen usw.) vorhandenen. Außerdem können bei einigen Ausführungsformen eine oder mehrere der beispielhaften Komponenten in eine andere Komponente integriert sein oder anderweitig einen Teil dieser bilden. Die Rechenengine 112 kann als eine beliebige Art von Vorrichtung oder Ansammlung von Vorrichtungen mit der Fähigkeit zum Ausführen verschiedener nachfolgend beschriebener Rechenfunktionen realisiert werden. Bei einigen Ausführungsformen kann die Rechenengine 112 als eine einzige Vorrichtung realisiert werden, wie etwa eine integrierte Schaltung, ein eingebettetes System, ein FPGA (Field-Programmable Gate Array), ein SOC (System auf einem Chip) oder ein anderes integriertes System oder eine andere integrierte Vorrichtung. Bei der beispielhaften Ausführungsform umfasst die Rechenengine 112 einen Prozessor 114 und einen Speicher 116 oder ist als diese realisiert. Der Prozessor 114 kann als eine beliebige Art von Prozessor mit der Fähigkeit zum Ausführen der hier beschriebenen Funktionen realisiert werden. Zum Beispiel kann der Prozessor 114 als ein oder mehrere Mehrkernprozessoren, ein Mikrocontroller oder ein anderer Prozessor oder eine andere Verarbeitungs-/Steuerungsschaltung realisiert sein. Bei einigen Ausführungsformen kann der Prozessor 114 als ein FPGA (Field Programmable Gate Array), ein ASIC (anwendungsspezifische integrierte Schaltung), umkonfigurierbare Hardware oder Hardwareschaltkreise oder andere spezialisierte Hardware zur Ermöglichung des Ausführens der hier beschriebenen Funktionen realisiert sein, diese umfassen oder mit ihnen gekoppelt sein. Bei der beispielhaften Ausführungsform umfasst der Prozessor 114 eine oder mehrere PMU (Leistungsfähigkeits-Überwachungseinheiten) 130, eine oder mehrere PCU (Stromversorgungssteuereinheiten) 132 und eine entsprechende Menge von Kernen 142, 144, 146 und 148 (zusammen die Kerne 140). Jede Leistungsfähigkeits-Überwachungseinheit 130 kann als eine beliebige Vorrichtung oder Schaltkreise (z. B. ein ASIC, ein Coprozessor usw.) mit der Fähigkeit zum Überwachen des Auftretens und der Resultate von Mikroarchitekturereignissen der Rechenengine 112, wie etwa Auftreten spekulativer Operationen (z. B. Verzweigungsvorhersagen) und ihre Resultate (z. B. Verzweigungstreffer, Verzweigungsfehltreffer), Auftreten von Cache-Zugriffsoperationen und ihre Resultate (z. B. Cache-Treffer, Cache-Fehltreffer) und anderer Arten von Ereignissen realisiert werden. Jede Stromversorgungssteuereinheit 132 kann als eine beliebige Vorrichtung oder Schaltkreise (z. B. eine ASIC, ein Coprozessor usw.) mit der Fähigkeit zum selektiven Vergrößern oder Verkleinern eines Stromverbrauchs einer oder mehrerer Komponenten der Rechenengine 112, wie etwa eines oder mehrerer der Kerne 140, realisiert werden. Jeder der Kerne 140 kann als eine beliebige Vorrichtung oder Schaltkreise mit der Fähigkeit zum Empfangen von Anweisungen und Ausführen von Berechnungen oder Aktionen auf der Basis dieser Anweisungen realisiert werden. Obwohl in dem Prozessor 114 vier Kerne 140 gezeigt sind, versteht sich, dass bei anderen Ausführungsformen die Anzahl der Kerne 140 anders sein kann.
  • Der Hauptspeicher 116 kann als eine beliebige Art von flüchtigem (z. B. dynamischem Direktzugriffsspeicher (DRAM) usw.) oder nichtflüchtigem Speicher oder Datenspeicherung mit der Fähigkeit zum Ausführen der hier beschriebenen Funktionen realisiert werden. Flüchtiger Speicher kann ein Speicherungsmedium sein, das Stromversorgung zur Aufrechterhaltung des Zustands von durch das Medium gespeicherten Daten erfordert. Nicht einschränkende Beispiele für flüchtigen Speicher wären verschiedene Arten von Direktzugriffsspeicher (RAM), wie etwa dynamischer Direktzugriffsspeicher (DRAM) oder statischer Direktzugriffsspeicher (SRAM). Eine bestimmte Art von DRAM, die in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM). Bei bestimmten Ausführungsformen kann DRAM einer Speicherkomponente einen Standard einhalten, der von JEDEC verbreitet wird, wie etwa JESD79F für DDR SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für Low Power DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3 und JESD209-4 für LPDDR4. Solche Standards (und ähnliche Standards) können als Standards auf DDR-Basis bezeichnet werden, und Kommunikationsschnittstellen der Speicherungsvorrichtungen, die solche Standards implementieren, können als Schnittstellen auf DDR-Basis bezeichnet werden.
  • Bei einer Ausführungsform ist die Speichervorrichtung eine blockadressierbare Speichervorrichtung, wie etwa diejenigen auf der Basis von NAND- oder NOR-Technologien. Eine Speichervorrichtung kann auch dreidimensionale Krenzpunkt-Speichervorrichtungen (z. B. Intel-3D-XPoint™-Speicher) oder andere Byte-adressierbare nichtflüchtige Speichervorrichtungen mit ortsfestem Schreiben beinhalten. Bei einer Ausführungsform kann die Speichervorrichtung eine Speichervorrichtung sein oder solche beinhalten, die Chalkogenidglas, Mehrfachschwellenebene-NAND-Flash-Speicher, NOR-Flash-Speicher, Einzel- oder Mehrfachebenen-Phasenwechselspeicher (PCM: Phase Change Memory), einen resistiven Speicher, Nanodrahtspeicher, Ferroelektrischer-Transistor-Direktzugriffsspeicher (FeTRAM), antiferroelektrischen Speichern, magnetoresistiven Direktzugriffsspeicher (MRAM), der Memristor-Technologie integriert, resistiven Speicher, einschließlich der Metall-Oxid-Basis, den Sauerstoffleerstellenbasis- und den Leitfähige-Brücke-Direktzugriffsspeicher (CB-RAM) oder Spin-Transfer-Torque(STT)-MRAM, eine auf spintronischen Magnetübergangspeicher basierte Vorrichtung, eine Magnettunnelübergang(MTJ)-basierte Vorrichtung, eine DW(Domänenwand)- und SOT(Spin-Orbit-Transfer)-basierte Vorrichtung, eine thyristorbasierte Speichervorrichtung, eine Kombination von beliebigen der obigen oder einen anderen Speicher verwendet. Die Speichervorrichtung kann sich auf den Die selbst und/oder auf ein verpacktes Speicherprodukt beziehen.
  • Bei einigen Ausführungsformen kann 3D-Kreuzpunktspeicher (z. B. Intel-3D-XPoint™-Speicher) eine transistorlose stapelbare Kreuzpunktarchitektur umfassen, bei der Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen sitzen und individuell adressierbar sind und bei denen Bitspeicherung auf einer Änderung des Volumenwiderstands basiert. Bei einigen Ausführungsformen kann der Hauptspeicher 116 ganz oder teilweise in den Prozessor 114 integriert sein. Im Betrieb kann der Hauptspeicher 116 verschiedene Software und Daten speichern, die während des Betriebs verwendet werden, wie etwa Anwendungen, Programme, Bibliotheken und Treiber. Bei der beispielhaften Ausführungsform definiert der Speicher 116 eine oder mehrere Warteschlangen 150 (z. B. Warteschlangen 152, 154), die jeweils als eine Menge von Speicher realisiert werden können, der an einer oder mehreren Speicheradressen zugänglich ist und Datensätze (z. B. Pakete) speichern kann, an denen durch einen oder mehrere der Kerne 140 und/oder andere Komponenten der Rechenvorrichtung 110 zu operieren ist. Zum Beispiel kann die Warteschlange 152 vorübergehend Pakete speichern, die durch die NIC 122 (z. B. mittels des Netzwerks 170 von der Client-Vorrichtung 160 oder von einer anderen Quelle) empfangen werden, und die Warteschlange 154 kann durch die NIC 122 (z. B. mittels des Netzwerks 170) zu sendende Pakete vorübergehend speichern.
  • Die Rechenengine 112 ist über das E/A-Subsystem 118, das als Schaltkreise und/oder Komponenten zur Ermöglichung von Eingabe-/Ausgabeoperationen mit der Rechenengine 112 (z. B. mit dem Prozessor 114 und/oder dem Hauptspeicher 116) und anderen Komponenten der Rechenvorrichtung 110 realisiert sein kann, kommunikativ mit anderen Komponenten der Rechenvorrichtung 110 gekoppelt. Das E/A-Subsystem 118 kann zum Beispiel als Speichercontrollerhubs, Eingabe-/Ausgabe-Steuerhubs, integrierte Sensorhubs, Firmwarevorrichtungen, Kommunikationsverbindungen (z. B. Punkt-zu-Punkt-Verbindungen, Busverbindungen, Drähte, Kabel, Lichtleiter, Leiterplattenbahnen usw.) und/oder andere Komponenten und Subsysteme zur Ermöglichung der Eingabe-/Ausgabeoperationen realisiert werden oder diese anderweitig umfassen. Bei einigen Ausführungsformen kann das E/A-Subsystem 118 einen Teil eines SoC (System auf einem Chip) bilden und kann zusammen mit einem oder mehreren des Prozessors 114, des Hauptspeichers 116 und anderen Komponenten der Rechenvorrichtung 110 in die Rechenengine 112 integriert werden.
  • Die Kommunikationsschaltkreise 120 können als eine beliebige Kommunikationsschaltung, Vorrichtung oder Ansammlung davon mit der Fähigkeit zum Ermöglichen von Kommunikation über das Netzwerk 170 zwischen der Rechenvorrichtung 110 und einer anderen Rechenvorrichtung (z. B. der Client-Vorrichtung 160 usw.) realisiert werden. Die Kommunikationsschaltkreise 120 können dafür ausgelegt werden, eine beliebige oder mehrere Kommunikationstechnologien (z. B. verdrahtete oder drahtlose Kommunikation) und zugeordnete Protokolle (z. B. Ethernet, Bluetooth®, Wi-Fi®, WiMAX usw.) zu verwenden, um solche Kommunikation zu bewirken.
  • Die beispielhaften Kommunikationsschaltkreise 120 umfassen eine Netzwerkschnittstellensteuerung (NIC) 122, die auch als Host-Fabric-Schnittstelle (HFI) bezeichnet werden kann. Die NIC 122 kann als eine oder mehrere Zusatzplatinen, Tochterkarten, Netzwerkschnittstellenkarten, Steuerungschips, Chipsätze oder andere Vorrichtungen realisiert werden, die durch die Rechenvorrichtung 110 verwendet werden können, um sich mit einer anderen Rechenvorrichtung (z. B. der Client-Vorrichtung 160 usw.) zu verbinden. Bei einigen Ausführungsformen kann die NIC 122 als Teil eines SoC (System auf einem Chip) realisiert werden, das einen oder mehrere Prozessoren umfasst, oder in einer Mehrchipkapselung enthalten sein, die auch einen oder mehrere Prozessoren enthält. Bei einigen Ausführungsformen kann die NIC 122 einen (nicht gezeigten) lokalen Prozessor und/oder einen (nicht gezeigten) lokalen Speicher umfassen, die beide bezüglich der NIC 122 lokal sind. Bei solchen Ausführungsformen kann der lokale Prozessor der NIC 122 in der Lage sein, eine oder mehrere der hier beschriebenen Funktionen der Rechenengine 112 auszuführen. Zusätzlich oder als Alternative kann bei solchen Ausführungsformen der lokale Speicher der NIC 122 in eine oder mehrere Komponenten der Rechenvorrichtung 110 auf Platinenebene, Socket-Ebene, Chipebene und/oder anderen Ebenen integriert sein.
  • Die eine oder mehreren beispielhaften Datenspeicherungsvorrichtungen 124 können als eine beliebige Art von Vorrichtung(en) realisiert sein, die für kurzfristige oder langfristige Speicherung von Daten ausgelegt sind, wie zum Beispiel Speichervorrichtungen und -schaltungen, Speicherkarten, Festplatten, Halbleiterlaufwerke oder andere Datenspeicherungsvorrichtungen. Jede Datenspeicherungsvorrichtung 124 kann eine Systempartition umfassen, die Daten und Firmwarecode für die Datenspeicherungsvorrichtung 124 speichert. Jede Datenspeicherungsvorrichtung 124 kann auch eine oder mehrere Betriebssystempartitionen umfassen, die Daten-Dateien und ausführbare Dateien für ein Betriebssystem speichern.
  • Die Client-Vorrichtung 160 kann Komponenten aufweisen, die den in 1 mit Bezug auf die Rechenvorrichtung 110 beschriebenen ähnlich sind. Die Beschreibung dieser Komponenten der Rechenvorrichtung 110 gilt gleichermaßen für die Beschreibung von Komponenten der Client-Vorrichtung und wird hier der Klarheit der Beschreibung halber nicht wiederholt. Ferner versteht sich, dass beliebige der Rechenvorrichtung 110 und der Client-Vorrichtung 160 andere Komponenten, Subkomponenten und Vorrichtungen umfassen können, die gewöhnlich in einer Datenverarbeitungsvorrichtung vorhanden sind, die oben in Bezug auf die Rechenvorrichtung 110 nicht besprochen werden und hier der Klarheit der Beschreibung halber nicht besprochen werden.
  • Wie oben beschrieben befinden sich die Rechenvorrichtung 110 und die Client-Vorrichtung 160 beispielhaft in Kommunikation über das Netzwerk 170, das als eine beliebige Art von verdrahtetem oder drahtlosem Kommunikationsnetzwerk realisiert sein kann, darunter globale Netzwerke (z. B. das Internet), lokale Netzwerke (LAN) oder großflächige Netzwerke (WAN), Mobilfunknetze (z. B. GSM (Global System for Mobile Communications), 3G, LTE (Long Term Evolution), WiMAX (Worldwide Interoperability for Microwave Access) usw.), digitale Teilnehmeranschluss- bzw. DSL-Netzwerke, Kabelnetzwerke (z. B. Koaxialnetzwerke, Fasernetzwerke usw.) oder eine beliebige Kombination davon.
  • Nunmehr mit Bezug auf 2 kann die Rechenvorrichtung 110 im Betrieb ein Verfahren 200 zum effizienten Detektieren von leerlaufenden Abfrageschleifen ausführen. Das Verfahren 200 beginnt mit Block 202, in dem die Rechenvorrichtung 110 bestimmt, ob leerlaufende Abfrageschleifen zu detektieren sind. Bei der beispielhaften Ausführungsform kann die Rechenvorrichtung 110 bestimmen, ob ein Kern 140 (z. B. der Kern 142) des Prozessors 114 dafür zugewiesen wurde, kontinuierlich eine Speicheradresse auf Daten abzufragen, die eine Statusänderung angeben (z. B. kontinuierlich eine Warteschlange, wie etwa die Warteschlange 152, auf eine Statusänderung, wie etwa die Anwesenheit eines oder mehrerer empfangener Pakete, abzufragen), und wenn dem so ist, bestimmen, das Verfahren 200 auszuführen. Bei anderen Ausführungsformen kann die Rechenvorrichtung 110 die Bestimmung auf der Basis anderer Faktoren durchführen. Dessen ungeachtet schreitet als Reaktion auf eine Bestimmung, leerlaufende Abfrageschleifen zu detektieren, das Verfahren 200 zu Block 204, indem die Rechenvorrichtung 110 ein Verhältnis erfolgloser Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum (z. B. 10 Mikrosekunden) für einen Kern 140 (z. B. den Kern 142), der dafür zugewiesen ist, kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen, bestimmt. Hierbei und wie in Block 206 angegeben bestimmt die Rechenvorrichtung 110 bei der beispielhaften Ausführungsform ein Verhältnis erfolgloser Operationen zu erfolgreichen Operationen eines Kerns 140 (z. B. des Kerns 142), der dafür zugewiesen ist, kontinuierlich eine Warteschlange 150 (z. B. die Warteschlange 152), die der NIC 122 zugeordnet ist, auf neu empfangene Pakete abzufragen. Beim Bestimmen des Verhältnisses kann die Rechenvorrichtung 110 ein Verhältnis erfolgloser Operationen zu erfolgreichen Operationen eines Kerns 140 (z. B. des Kerns 142) bestimmen, der von einer virtuellen Maschine benutzt wird, wie in Block 208 angegeben. Wie in Block 210 angegeben, überwacht die Rechenvorrichtung 110 bei der beispielhaften Ausführungsform das Auftreten erfolgloser Operationen zu erfolgreichen Operationen mit der PMU 130. Ferner und wie in Block 212 angegeben kann die Rechenvorrichtung 110 das Verhältnis (z. B. auf der Basis des durch die PMU 130 überwachten Auftretens) mit einem anderen Kern (z. B. dem Kern 144) als dem Kern 142, mit dem die Speicheradresse abgefragt wird, bestimmen. Beim Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen kann die Rechenvorrichtung 110 das Verhältnis von erfolglosen spekulativen Operationen zu erfolgreichen spekulativen Operationen bestimmen, wie in Block 214 angegeben. Zum Beispiel und wie in Block 216 angegeben kann die Rechenvorrichtung 110 ein Verhältnis von Verzweigungsfehltreffern (z. B. falsche Vorhersage, dass der Kern 142 eine bestimmte Verzweigungsoperation ausführt) zu Verzweigungstreffern (z. B. korrekte Vorhersage, dass der Kern 142 die Verzweigungsoperation ausführt) bestimmen. Die Rechenvorrichtung 110 kann zusätzlich oder als Alternative ein Verhältnis von Cache-Fehltreffern zu Cache-Treffern bestimmen, wie in Block 218 angegeben.
  • Danach kann die Rechenvorrichtung 110 in Block 220 ein Referenzverhältnis bestimmen, das eine Änderung der Operationen des zugewiesenen Kerns 142 angibt. Zum Beispiel kann die Rechenvorrichtung 110 aus einer Konfigurationsdatei oder einer anderen Quelle ein vordefiniertes Verhältnis lesen, das, wenn es erfüllt ist, angibt, dass der Kern 142 nicht mehr eine leere Warteschlange 152 abfragt und stattdessen Pakete in der Warteschlange 152 identifiziert hat und eine oder mehrere Operationen an diesen Paketen ausgeführt hat. Bei der beispielhaften Ausführungsform führt die Vielfalt und Komplexität der an den Paketen auszuführenden Operationen zu mehr Verzweigungs-Fehlvorhersagen und/oder Cache-Fehltreffern verglichen mit dem Fall, dass der Kern 142 wiederholt die Warteschlange 152 abfragt und nicht an irgendwelchen Paketen wirkt. Bei einigen Ausführungsformen kann die Rechenvorrichtung 110 ein bestimmtes Verhältnis (z. B. aus Block 204) von einer Zeit, die bekanntermaßen einer leeren Warteschlange zugeordnet ist (z. B. ein bestimmtes Verhältnis, das von einer Zeit erhalten wird, als die Rechenvorrichtung 110 noch nicht mit dem Empfangen von Paketen begonnen hatte), identifizieren, dieses bestimmte Verhältnis um einen vordefinierten Betrag vergrößern und dieses justierte bestimmte Verhältnis als das Schwellenverhältnis designieren (z. B. jedes Verhältnis, das größer oder gleich diesem justierten bestimmten Verhältnis ist, gibt an, dass eines oder mehrere Pakete empfangen wurden). Bei einigen Ausführungsformen kann die Rechenvorrichtung 110 für jede der mehreren Arten von Operationen des Kerns 142 ein getrenntes Referenzverhältnis bestimmen, wie in Block 222 angegeben. Zum Beispiel und wie in Block 224 angegeben kann die Rechenvorrichtung 110 ein Referenzverhältnis für Verzweigungsfehltreffer zu Verzweigungstreffern bestimmen und/oder ein Referenzverhältnis für Cache-Fehltreffer zu Cache-Treffern bestimmen, wie in Block 226 angegeben. Danach schreitet das Verfahren 200 zu Block 228 von 3, in dem die Rechenvorrichtung 110 bestimmt, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt.
  • Nunmehr mit Bezug auf 3 kann beim Bestimmen, ob das bestimmte Verhältnis (z. B. aus Block 204) das Referenzverhältnis erfüllt, die Rechenvorrichtung 110 bestimmen, ob das bestimmte Verhältnis größer oder gleich dem Referenzverhältnis ist, wie in Block 230 angegeben. Hierbei und wie in Block 232 angegeben kann die Rechenvorrichtung 110 bestimmen, ob das bestimmte Verhältnis größer oder gleich 0,01% ist. Bei einigen Ausführungsformen kann die Rechenvorrichtung 110 bestimmen, ob mehrere bestimmte Verhältnisse entsprechende Referenzverhältnisse erfüllen (z. B. ein bestimmtes Verhältnis von Verzweigungsfehltreffern zu Verzweigungstreffern, verglichen mit einem Referenzverhältnis von Verzweigungsfehltreffern zu Verzweigungstreffern, und ein bestimmtes Verhältnis von Cache-Fehltreffern zu Cache-Treffern zu einem Referenzverhältnis von Cache-Fehltreffern zu Cache-Treffern), wie in Block 234 angegeben. Die Rechenvorrichtung 110 bestimmt bei der beispielhaften Ausführungsform auch den Betrag, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, wie in Block 236 angegeben. Bei einigen Ausführungsformen kann die Rechenvorrichtung 110 die Daten, die die Bestimmung aus Block 228 angeben, einer anderen Rechenvorrichtung bereitstellen (z. B. einem Orchestriererserver in einer Datenzentrale zur Leistungsfähigkeitsüberwachung und/oder für Power-Management-Zwecke). In Block 238 bestimmt die Rechenvorrichtung 110, ob das Referenzverhältnis erfüllt ist (z. B. ob das bestimmte Verhältnis größer oder gleich dem Referenzverhältnis ist). Bei einigen Ausführungsformen kann die Rechenvorrichtung 110 bestimmen, ob das bestimmte Verhältnis das Referenzverhältnis für eine vordefinierte Zeitdauer erfüllt (z. B. um Hysterese bereitzustellen). Als Reaktion auf eine Bestimmung, dass das Referenzverhältnis nicht erfüllt ist (z. B. dass das Verhältnis von Verzweigungsfehltreffern zu Verzweigungstreffern kleiner als 0,01% ist), schreitet das Verfahren 200 zu Block 240, in dem die Rechenvorrichtung 110 den zugewiesenen Kern 142 in einem energiesparenden Modus betreibt oder weiter betreibt. Hierbei kann die Rechenvorrichtung 110 mit der PCU (Power Control Unit) 132 den Stromverbrauch des zugewiesenen Kerns 142 verringern, wie in Block 242 angegeben. Wie in Block 244 angegeben kann beim Betreiben des zugewiesenen Kerns 142 in einem energiesparenden Modus die Rechenvorrichtung 110 eine Frequenz (z. B. eine Taktfrequenz) des zugewiesenen Kerns 142 verkleinern, wie in Block 244 angegeben, und/oder eine Spannung des zugewiesenen Kerns 142 verkleinern, wie in Block 246 angegeben. Danach kehrt das Verfahren 200 in einer Schleife zu Block 202 von 3 zurück, in dem die Rechenvorrichtung 110 bestimmt, ob weiter leerlaufende Schleifen zu detektieren sind und nochmals das Verhältnis erfolgloser Operationen zu erfolgreichen Operationen des Kerns 142 zu bestimmen ist.
  • Wieder mit Bezug auf Block 238 von 3 schreitet, wenn die Rechenvorrichtung 110 stattdessen bestimmt, dass das Referenzverhältnis erfüllt ist (z. B. das bestimmte Verhältnis größer oder gleich dem Referenzverhältnis ist), das Verfahren 200 zu Block 248 von 4, in dem die Rechenvorrichtung 110 den zugewiesenen Kern 142 in einem Modus mit relativ hoher Leistung (z. B. höher als beim energiesparenden Modus) betreibt. Hierbei kann die Rechenvorrichtung 110 den Stromverbrauch des zugewiesenen Kerns 142 unter Verwendung der PCU (Power Control Unit) 132 vergrößern, wie in Block 250 angegeben. Wie in Block 252 angegeben, kann die Rechenvorrichtung 110 eine Frequenz des zugewiesenen Kerns 142 vergrößern. Außerdem kann die Rechenvorrichtung 110 eine Spannung des zugewiesenen Kerns 142 vergrößern, wie in Block 254 angegeben. Bei der beispielhaften Ausführungsform vergrößert die Rechenvorrichtung 110 den Stromverbrauch des Kerns 142 als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, wie in Block 256 angegeben. Zum Beispiel und wie in Block 258 angegeben kann die Rechenvorrichtung 110 den Stromverbrauch in einer linearen Beziehung mit dem Betrag, um den die bestimmte Schwelle das Referenzverhältnis überschreitet (z. B. größer als dieses ist), (z. B. als lineare Funktion davon) vergrößern. Danach kehrt das Verfahren 200 in einer Schleife zu Block 202 zurück, in dem die Rechenvorrichtung 110 bestimmt, ob weiter leerlaufende Schleifen zu detektieren sind und nochmals das Verhältnis erfolgloser Operationen zu erfolgreichen Operationen des Kerns 142 zu bestimmen ist.
  • Nunmehr mit Bezug auf 5 ist eine Beziehung 500 zwischen Prozessorauslastung, einem Verhältnis von Verzweigungstreffern und -fehltreffern und einer Verkehrsrate (z. B. einer Rate, mit der Pakete in die Warteschlange 152 eingereiht werden) gezeigt. Bei der beispielhaften Ausführungsform scheint die Prozessorauslastung konstant bei 100% zu liegen (z. B. für ein Betriebssystem der Rechenvorrichtung 110), während die tatsächliche Verkehrsrate über denselben Zeitraum von 0% bis 100% variiert. Im Gegensatz zu den Prozessorauslastungsdaten nimmt jedoch das Verhältnis von Verzweigungsfehltreffern zu Verzweigungstreffern mit zunehmendem Verkehr zu. Dementsprechend und wie oben beschrieben kann durch selektives Justieren des Stromverbrauchs des Kerns 142 als Funktion des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen des Kerns 142 (z. B. der Verzweigungsfehltreffer zu Verzweigungstreffern), statt die Leistung als Funktion der gemeldeten Prozessorauslastung zu steuern, die Rechenvorrichtung 110 genau und effizient die Stromversorgungsbedürfnisse des Kerns 142 bestimmen und den Stromverbrauch des Kerns 142 entsprechend skalieren, um dadurch in Zeiträumen mit niedrigem Verkehr Strom zu sparen.
  • Nunmehr mit Bezugnahme auf 6 zeigt ein Zustandsdiagramm 600 eine Ausführungsform des Verfahrens 200. Wie gezeigt betreibt die Rechenvorrichtung 110 den Kern 142 in einem niederfrequenten Energiesparzustand, solange das Verhältnis von Verzweigungsfehltreffern zu Verzweigungstreffern kleiner als 0,01% ist. Andernfalls betreibt die Rechenvorrichtung 110 den Kern 142 in einem Hochfrequenz-Leistungsfähigkeitsmodus, um die Fähigkeit des Kerns 142 zu verbessern, an ankommenden Paketen zu operieren (z. B. um die Wahrscheinlichkeit eines Pufferüberlaufs und Paketverlusts zu verringern). Obwohl die oben beschriebenen spezifischen Beispiele das Detektieren von durch eine NIC empfangenen Paketen betreffen, versteht sich, dass die Rechenvorrichtung 110 zusätzlich oder als Alternative Statusänderungen für andere Arten von Warteschlangen und Schnittstellen (z. B. Daten, die durch einen Coprozessor oder eine Beschleunigervorrichtung produziert werden, damit ein oder mehrere Kerne des Prozessors an ihnen operieren, Daten, die mit einer anderen E/A-Vorrichtung empfangen werden als der NIC 122 usw.) detektieren und auf diese reagieren kann.
  • BEISPIELE
  • Im Folgenden werden Anschauungsbeispiele für die hier offenbarten Technologien gegeben. Eine Ausführungsform der Technologien kann eines oder mehrere und eine beliebige Kombination der nachfolgend beschriebenen Beispiele umfassen.
  • Beispiel 1 umfasst eine Rechenvorrichtung, umfassend: eine Rechenengine, die mehrere Kerne und einen Speicher umfasst; wobei die Rechenengine zu Folgendem dient: Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne, wobei der Kern dafür zugewiesen ist, in dem vordefinierten Zeitraum kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen; Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, wobei das Referenzverhältnis eine Änderung des Betriebs des zugewiesenen Kerns angibt; und selektives Vergrößern oder Verkleinern eines Stromverbrauchs des zugewiesenen Kerns abhängig davon, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt.
  • Beispiel 2 umfasst den Gegenstand von Beispiel 1 und umfasst ferner eine Netzwerkschnittstellensteuerung, die einer Warteschlange in dem Speicher zugeordnet ist; und wobei Bestimmen eines Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne umfasst, der dafür zugewiesen ist, die Warteschlange kontinuierlich auf neu empfangene Pakete abzufragen.
  • Beispiel 3 umfasst den Gegenstand beliebiger der Beispiele 1 und 2, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses erfolgloser spekulativer Operationen zu erfolgreichen spekulativen Operationen umfasst.
  • Beispiel 4 umfasst den Gegenstand beliebiger der Beispiele 1-3, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Verzweigungsfehltreffern zu Verzweigungstreffern umfasst.
  • Beispiel 5 umfasst den Gegenstand beliebiger der Beispiele 1-4, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Cache-Fehltreffern zu Cache-Treffern umfasst.
  • Beispiel 6 umfasst den Gegenstand beliebiger der Beispiele 1-5, und wobei die Rechenengine ferner eine Leistungsfähigkeits-Überwachungseinheit umfasst und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Überwachen des Auftretens von erfolglosen Operationen und erfolgreichen Operationen mit der Leistungsfähigkeits-Überwachungseinheit umfasst.
  • Beispiel 7 umfasst den Gegenstand beliebiger der Beispiele 1-6, und wobei Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen des zugewiesenen Kerns Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen eines von einer virtuellen Maschine benutzten Kerns umfasst.
  • Beispiel 8 umfasst den Gegenstand beliebiger der Beispiele 1-7, und wobei Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, umfasst, einen Betrag zu bestimmen, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, und wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst.
  • Beispiel 9 umfasst den Gegenstand beliebiger der Beispiele 1-8, und wobei Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst, den Stromverbrauch des zugewiesenen Kerns in einer linearen Beziehung mit dem Betrag, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, zu vergrößern.
  • Beispiel 10 umfasst den Gegenstand beliebiger der Beispiele 1-9, und wobei Bestimmen, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt, umfasst zu bestimmen, ob das bestimmte Verhältnis größer oder gleich 0,01% ist.
  • Beispiel 11 umfasst den Gegenstand beliebiger der Beispiele 1-10, und wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns umfasst, eine Frequenz und/oder eine Spannung des zugewiesenen Kerns zu verkleinern.
  • Beispiel 12 umfasst den Gegenstand beliebiger der Beispiele 1-11, und wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns umfasst, eine Frequenz und/oder eine Spannung des zugewiesenen Kerns zu vergrößern.
  • Beispiel 13 umfasst den Gegenstand beliebiger der Beispiele 1-12, und wobei Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum Bestimmen des Verhältnisses über einen vordefinierten Zeitraum von 10 Mikrosekunden umfasst.
  • Beispiel 14 umfasst den Gegenstand beliebiger der Beispiele 1-13, und wobei die Rechenengine mehrere Verhältnisse verschiedener Arten von erfolglosen Operationen zu erfolgreichen Operationen über den vordefinierten Zeitraum bestimmen und jedes bestimmte Verhältnis mit einem entsprechenden Referenzverhältnis vergleichen soll, um zu bestimmen, ob der Stromverbrauch des zugewiesenen Kerns selektiv zu vergrößern oder zu verkleinern ist.
  • Beispiel 15 umfasst ein oder mehrere maschinenlesbare Speichermedien, auf denen mehrere Anweisungen gespeichert sind, die, wenn sie ausgeführt werden, bewirken, dass eine Rechenvorrichtung Folgendes durchführt: Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne der Rechenvorrichtung, wobei der Kern dafür zugewiesen ist, in dem vordefinierten Zeitraum kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen; Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, wobei das Referenzverhältnis eine Änderung des Betriebs des zugewiesenen Kerns angibt; und selektives Vergrößern oder Verkleinern eines Stromverbrauchs des zugewiesenen Kerns abhängig davon, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt.
  • Beispiel 16 umfasst den Gegenstand von Beispiel 15, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses erfolgloser spekulativer Operationen zu erfolgreichen spekulativen Operationen umfasst.
  • Beispiel 17 umfasst den Gegenstand beliebiger der Beispiele 15 und 16, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Verzweigungsfehltreffern zu Verzweigungstreffern umfasst.
  • Beispiel 18 umfasst den Gegenstand beliebiger der Beispiele 15-17, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Cache-Fehltreffern zu Cache-Treffern umfasst.
  • Beispiel 19 umfasst den Gegenstand beliebiger der Beispiele 15-18, und wobei die Rechenengine ferner eine Leistungsfähigkeits-Überwachungseinheit umfasst und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Überwachen des Auftretens von erfolglosen Operationen und erfolgreichen Operationen mit der Leistungsfähigkeits-Überwachungseinheit umfasst.
  • Beispiel 20 umfasst den Gegenstand beliebiger der Beispiele 15-19, und wobei Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen des zugewiesenen Kerns Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen eines von einer virtuellen Maschine benutzten Kerns umfasst.
  • Beispiel 21 umfasst den Gegenstand beliebiger der Beispiele 15-20, und wobei Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, umfasst, einen Betrag zu bestimmen, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, und wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst.
  • Beispiel 22 umfasst den Gegenstand beliebiger der Beispiele 15-21, und wobei Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst, den Stromverbrauch des zugewiesenen Kerns in einer linearen Beziehung mit dem Betrag, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, zu vergrößern.
  • Beispiel 23 umfasst den Gegenstand beliebiger der Beispiele 15-22, und wobei Bestimmen, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt, umfasst, zu bestimmen, ob das bestimmte Verhältnis größer oder gleich 0,01% ist.
  • Beispiel 24 umfasst eine Rechenvorrichtung mit Schaltkreisen zum Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne der Rechenvorrichtung, wobei der Kern dafür zugewiesen ist, in dem vordefinierten Zeitraum kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen; Schaltkreisen zum Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, wobei das Referenzverhältnis eine Änderung des Betriebs des zugewiesenen Kerns angibt; und Mittel zum selektiven Vergrößern oder Verkleinern eines Stromverbrauchs des zugewiesenen Kerns abhängig davon, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt.
  • Beispiel 25 umfasst ein Verfahren, umfassend: Bestimmen eines Verhältnisse von erfolglosen Operationen zu erfolgreichen Operationen durch eine Rechenvorrichtung über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne der Rechenvorrichtung, wobei der Kern dafür zugewiesen ist, innerhalb des vordefinierten Zeitraums kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen; Bestimmen durch die Rechenvorrichtung, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, wobei das Referenzverhältnis eine Änderung des Betriebs des zugewiesenen Kerns angibt; und selektives Vergrößern oder Verkleinern eines Stromverbrauchs des zugewiesenen Kerns durch die Rechenvorrichtung abhängig davon, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt.
  • Beispiel 26 umfasst den Gegenstand von Beispiel 25, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses erfolgloser spekulativer Operationen zu erfolgreichen spekulativen Operationen umfasst.
  • Beispiel 27 umfasst den Gegenstand beliebiger der Beispiele 25 und 26, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Verzweigungsfehltreffern zu Verzweigungstreffern umfasst.
  • Beispiel 28 umfasst den Gegenstand beliebiger der Beispiele 25-27, und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Cache-Fehltreffern zu Cache-Treffern umfasst.

Claims (25)

  1. Rechenvorrichtung, umfassend: eine Rechenengine, die mehrere Kerne und einen Speicher umfasst; wobei die Rechenengine zu Folgendem dient: Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne, wobei der Kern dafür zugewiesen ist, in dem vordefinierten Zeitraum kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen; Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, wobei das Referenzverhältnis eine Änderung des Betriebs des zugewiesenen Kerns angibt; und selektives Vergrößern oder Verkleinern eines Stromverbrauchs des zugewiesenen Kerns abhängig davon, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt.
  2. Rechenvorrichtung nach Anspruch 1, ferner umfassend: eine Netzwerkschnittstellensteuerung, die einer Warteschlange in dem Speicher zugeordnet ist; und wobei Bestimmen eines Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne umfasst, der dafür zugewiesen ist, die Warteschlange kontinuierlich auf neu empfangene Pakete abzufragen.
  3. Rechenvorrichtung nach Anspruch 1, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses erfolgloser spekulativer Operationen zu erfolgreichen spekulativen Operationen umfasst.
  4. Rechenvorrichtung nach Anspruch 1, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Verzweigungsfehltreffern zu Verzweigungstreffern umfasst.
  5. Rechenvorrichtung nach Anspruch 1, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Cache-Fehltreffern zu Cache-Treffern umfasst.
  6. Rechenvorrichtung nach Anspruch 1, wobei die Rechenengine ferner eine Leistungsfähigkeits-Überwachungseinheit umfasst und wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Überwachen des Auftretens von erfolglosen Operationen und erfolgreichen Operationen mit der Leistungsfähigkeits-Überwachungseinheit umfasst.
  7. Rechenvorrichtung nach Anspruch 1, wobei Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen des zugewiesenen Kerns Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen eines von einer virtuellen Maschine benutzten Kerns umfasst.
  8. Rechenvorrichtung nach Anspruch 1, wobei Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, umfasst, einen Betrag zu bestimmen, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, und wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst.
  9. Rechenvorrichtung nach Anspruch 1, wobei Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst, den Stromverbrauch des zugewiesenen Kerns in einer linearen Beziehung mit dem Betrag, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, zu vergrößern.
  10. Rechenvorrichtung nach Anspruch 1, wobei Bestimmen, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt, umfasst, zu bestimmen, ob das bestimmte Verhältnis größer oder gleich 0,01% ist.
  11. Rechenvorrichtung nach Anspruch 1, wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns umfasst, eine Frequenz und/oder eine Spannung des zugewiesenen Kerns zu verkleinern.
  12. Rechenvorrichtung nach Anspruch 1, wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns umfasst, eine Frequenz und/oder eine Spannung des zugewiesenen Kerns zu vergrößern.
  13. Verfahren, umfassend: Bestimmen eines Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen durch eine Rechenvorrichtung über einen vordefinierten Zeitraum eines Kerns der mehreren Kerne der Rechenvorrichtung, wobei der Kern dafür zugewiesen ist, innerhalb des vordefinierten Zeitraums kontinuierlich eine Speicheradresse auf eine Statusänderung abzufragen; Bestimmen durch die Rechenvorrichtung, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, wobei das Referenzverhältnis eine Änderung des Betriebs des zugewiesenen Kerns angibt; und selektives Vergrößern oder Verkleinern eines Stromverbrauchs des zugewiesenen Kerns durch die Rechenvorrichtung abhängig davon, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt.
  14. Verfahren nach Anspruch 13, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses erfolgloser spekulativer Operationen zu erfolgreichen spekulativen Operationen umfasst.
  15. Verfahren nach Anspruch 13, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Verzweigungsfehltreffern zu Verzweigungstreffern umfasst.
  16. Verfahren nach Anspruch 13, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Cache-Fehltreffern zu Cache-Treffern umfasst.
  17. Verfahren nach Anspruch 13, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Bestimmen des Verhältnisses von Cache-Fehltreffern zu Cache-Treffern umfasst.
  18. Verfahren nach Anspruch 13, wobei Bestimmen des Verhältnisses erfolgloser Operationen zu erfolgreichen Operationen Überwachen des Auftretens von erfolglosen Operationen und erfolgreichen Operationen mit einer Leistungsfähigkeits-Überwachungseinheit umfasst.
  19. Verfahren nach Anspruch 13, wobei Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen des zugewiesenen Kerns Bestimmen des Verhältnisses von erfolglosen Operationen zu erfolgreichen Operationen eines von einer virtuellen Maschine benutzten Kerns umfasst.
  20. Verfahren nach Anspruch 13, wobei Bestimmen, ob das bestimmte Verhältnis ein Referenzverhältnis von erfolglosen Operationen zu erfolgreichen Operationen erfüllt, umfasst, einen Betrag zu bestimmen, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, und wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst.
  21. Verfahren nach Anspruch 13, wobei Vergrößern des Stromverbrauchs des zugewiesenen Kerns als Funktion des Betrags, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, umfasst, den Stromverbrauch des zugewiesenen Kerns in einer linearen Beziehung mit dem Betrag, um den das bestimmte Verhältnis das Referenzverhältnis überschreitet, zu vergrößern.
  22. Verfahren nach Anspruch 13, wobei Bestimmen, ob das bestimmte Verhältnis das Referenzverhältnis erfüllt, umfasst, zu bestimmen, ob das bestimmte Verhältnis größer oder gleich 0,01% ist.
  23. Verfahren nach Anspruch 13, wobei selektives Vergrößern oder Verkleinern des Stromverbrauchs des zugewiesenen Kerns umfasst, eine Frequenz und/oder eine Spannung des zugewiesenen Kerns zu verkleinern.
  24. Ein oder mehrere maschinenlesbare Speichermedien, auf denen mehrere Anweisungen gespeichert sind, die, wenn sie ausgeführt werden, bewirken, dass eine Rechenvorrichtung das Verfahren nach einem der Ansprüche 13-23 ausführt.
  25. Rechenvorrichtung mit Mitteln zum Ausführen des Verfahrens nach einem der Ansprüche 13-23.
DE102019105881.3A 2018-04-12 2019-03-07 Technologien zur bereitstellung von effizienter detektion leerlaufender abfrageschleifen Pending DE102019105881A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/951,391 US11847008B2 (en) 2018-04-12 2018-04-12 Technologies for providing efficient detection of idle poll loops
US15/951,391 2018-04-12

Publications (1)

Publication Number Publication Date
DE102019105881A1 true DE102019105881A1 (de) 2019-10-17

Family

ID=65229383

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019105881.3A Pending DE102019105881A1 (de) 2018-04-12 2019-03-07 Technologien zur bereitstellung von effizienter detektion leerlaufender abfrageschleifen

Country Status (3)

Country Link
US (1) US11847008B2 (de)
CN (1) CN110377532A (de)
DE (1) DE102019105881A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10997289B2 (en) * 2018-05-21 2021-05-04 International Business Machines Corporation Identifying malicious executing code of an enclave
US11431565B2 (en) 2018-10-15 2022-08-30 Intel Corporation Dynamic traffic-aware interface queue switching among processor cores
US11703933B2 (en) 2019-01-24 2023-07-18 Intel Corporation Remote register updates
US11567556B2 (en) 2019-03-28 2023-01-31 Intel Corporation Platform slicing of central processing unit (CPU) resources
US11734204B2 (en) 2019-04-02 2023-08-22 Intel Corporation Adaptive processor resource utilization
CN110333770B (zh) * 2019-07-10 2023-05-09 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US20220413591A1 (en) * 2021-06-25 2022-12-29 Intel Corporation Hardware-assisted core frequency and voltage scaling in a poll mode idle loop

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683129B2 (en) * 2010-10-21 2014-03-25 Oracle International Corporation Using speculative cache requests to reduce cache miss delays
US8478961B2 (en) * 2011-03-02 2013-07-02 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling
US20130173885A1 (en) * 2011-12-30 2013-07-04 Advanced Micro Devices, Inc. Processor and Methods of Adjusting a Branch Misprediction Recovery Mode
US9176878B2 (en) * 2012-03-15 2015-11-03 Oracle International Corporation Filtering pre-fetch requests to reduce pre-fetching overhead
US9170854B2 (en) * 2013-06-04 2015-10-27 Advanced Micro Devices, Inc. Thread assignment for power and performance efficiency using multiple power states
US9319993B1 (en) * 2014-05-30 2016-04-19 Amazon Technologies, Inc. Injecting active periods into scheduled inactive periods
US10706180B2 (en) * 2017-07-07 2020-07-07 Endgame, Inc. System and method for enabling a malware prevention module in response to a context switch within a certain process being executed by a processor

Also Published As

Publication number Publication date
US20190041957A1 (en) 2019-02-07
US11847008B2 (en) 2023-12-19
CN110377532A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
DE102019105881A1 (de) Technologien zur bereitstellung von effizienter detektion leerlaufender abfrageschleifen
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE112004001320B3 (de) Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE102016100902A1 (de) Verfahren zum dynamischen Zuteilen von Ressourcen von konfigurierbaren Datenverarbeitungsressourcen
DE102014111990A1 (de) Heterogener Speicherzugriff
DE102012219907B4 (de) Erhöhen der Speicherkapazität in Systemen mit eingeschränkter elektrischer Leistungsaufnahme
DE102019124450A1 (de) Bandbreitenbegrenzung in solid-state-laufwerken
DE102016118210A1 (de) Granulare Dienstqualität für Computer-Ressourcen
DE102020133262A1 (de) Arbeitslastscheduler für Speicherzuweisung
DE102019116213A1 (de) Qualität von für Enterprise-Halbleiterlaufwerke optimierten dienstbasierten Arbitrierungen
DE102019130450A1 (de) Bypass-Speicherklasse Lese Cache auf der Grundlage eines Schwellwertes der Warteschlange
DE102015014851A1 (de) Ressourcenzuteilung und -freigabe für die Energieverwaltung in Vorrichtungen
DE102020113544A1 (de) Bedarfsgesteuerte paketwarteschlangen in einer netzwerkvorrichtung
DE102019130686A1 (de) Technologien zur bereitstellung dynamischer auswahl von edge- und lokalen beschleunigerressourcen
DE102015118705A1 (de) Technologien für leistungsbasierte Außer-der-Reihe-Task-Planung für Datenzentren
DE102010054337A1 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE102019102883A1 (de) Technologien zum Bewegen von Arbeitslasten zwischen Hardwarewarteschlangenmanagern
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102019112772A1 (de) Technologien für eine dienstgütefrist-bewusste ende-zu-ende-e/a-planung
DE102020114142A1 (de) Technologien für unterbrechungs-disassoziierte warteschlangenbildung für multi-warteschlangen-i/o-vorrichtungen
DE102020103570A1 (de) Host-definierte bandbreitenzuweisung für ssd-aufgaben
DE102019120573A1 (de) Technologien zur rechnerischen speicherung über ablade-kernel-erweiterungen
CN108958924A (zh) 具有延时分布优化的存储器系统及其操作方法
DE112018005507T5 (de) Mehrkriterien-energiemanagementschema für gepoolte beschleunigerarchitekturen