DE112020000976T5 - Detektion bekannter arbeitslastmuster - Google Patents

Detektion bekannter arbeitslastmuster Download PDF

Info

Publication number
DE112020000976T5
DE112020000976T5 DE112020000976.9T DE112020000976T DE112020000976T5 DE 112020000976 T5 DE112020000976 T5 DE 112020000976T5 DE 112020000976 T DE112020000976 T DE 112020000976T DE 112020000976 T5 DE112020000976 T5 DE 112020000976T5
Authority
DE
Germany
Prior art keywords
workload
features
value
learned parameters
values
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
DE112020000976.9T
Other languages
English (en)
Inventor
Shravan Kumar Belagal Math
Noor Mubeen
Harinarayanan Seshadri
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 DE112020000976T5 publication Critical patent/DE112020000976T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Beschrieben sind Mechanismen und Verfahren zum Anwenden von Techniken für maschinelles Lernen (ML) zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels. Eine Einrichtung kann eine erste Schaltungsanordnung, eine zweite Schaltungsanordnung und eine dritte Schaltungsanordnung umfassen. Die erste Schaltungsanordnung kann eine Vielzahl von Speicherregistern aufweisen. Die zweite Schaltungsanordnung kann zum Einrichten von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern betreibbar sein, die zu einer oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge genommen werden. Die dritte Schaltungsanordnung kann zum Vergleichen der Vielzahl von Merkmalen mit einer Vielzahl von gelernten Parametern für eine Referenzarbeitslast betreibbar sein.

Description

  • PRIORITÄTSANSPRUCH
  • Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 16/369,643 , eingereicht am 29. März 2019 und mit dem Titel „Detection of Known Workload Patterns“, die durch Bezugnahme in ihrer Gesamtheit für alle Zwecke aufgenommen wird.
  • HINTERGRUND
  • Eine Arbeitslastdetektion für Ein-Chip-System(SoC)-Designs kann auf Belastung basieren. Indessen kann die Leistungsverwaltungszustandsregelung eine Regelung von Arbeitsleistungszuständen in Bezug auf eine Optimierung von Spannung, Frequenz oder beidem während des Betriebs beinhalten. Um bestimmte Arten von Arbeitslasten zu handhaben, kann die Leistungsverwaltungszustandsregelung Betriebssystem(OS)-Ereignisse überwachen und/oder basierend auf Lastmusteränderungen reagieren.
  • Allerdings können zwei Arbeitslasten eine unterschiedliche Frequenzauswahl erfordern, selbst wenn die Last über ein gewisses Zeitfenster scheinbar gleich ist. Darüber hinaus kann dieselbe Arbeitslast aufgrund anderer möglicher Hintergrundaktivitäten mehr als ein Muster für dasselbe Zeitfenster aufweisen. Dementsprechend können derartige Ansätze weniger generisch als wünschenswert sein.
  • Figurenliste
  • Die Ausführungsformen der Offenbarung werden ausführlicher aus der unten gegebenen ausführlichen Beschreibung und den begleitenden Zeichnungen verschiedener Ausführungsformen der Offenbarung verstanden. Obwohl die Zeichnungen bei der Erklärung und dem Verständnis helfen sollen, sind sie jedoch nur eine Hilfe und sollten nicht so verstanden werden, dass sie die Offenbarung auf die darin abgebildeten spezifischen Ausführungsformen beschränken.
    • 1 veranschaulicht eine Repräsentation verschiedener Arbeitslasten in einem zweidimensionalen Raum unter Verwendung von T-verteilter stochastischer Nachbareinbettung (t-SNE) nach manchen Ausführungsformen der Offenbarung.
    • 2 veranschaulicht Leistungsverwaltungsaktionen, die eine auf maschinellem Lernen (ML) basierende Leistungsverwaltungstechnik auf verschiedenen Ebenen eines Leistungsverwaltungsstapels vornehmen kann, nach manchen Ausführungsformen der Offenbarung.
    • 3 veranschaulicht eine Konstruktion, die Schaltungsanordnungen zum Anwenden von ML-Techniken zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels beinhaltet, nach manchen Ausführungsformen der Offenbarung.
    • 4 veranschaulicht Verfahren zum Anwenden von ML-Techniken zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels nach manchen Ausführungsformen der Offenbarung.
    • 5 veranschaulicht eine Rechenvorrichtung mit Mechanismen zum Anwenden von maschinellen Lerntechniken (ML) zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels nach manchen Ausführungsformen der Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche Einzelheiten besprochen, um eine genauere Erläuterung von Ausführungsformen der vorliegenden Offenbarung bereitzustellen. Es wird für Fachleute ersichtlich sein, dass Ausführungsformen der vorliegenden Offenbarung jedoch ohne diese speziellen Einzelheiten umgesetzt werden können. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform, statt im Detail, gezeigt, um zu vermeiden, dass Ausführungsformen der vorliegenden Offenbarung verschleiert werden.
  • Es ist zu beachten, dass Signale in den entsprechenden Zeichnungen der Ausführungsformen durch Linien repräsentiert sind. Einige Linien können dicker sein, um Signalpfade mit einer größeren Anzahl von Bestandteilen anzugeben, und/oder können Pfeile an einem oder mehreren Enden aufweisen, um eine Richtung des Informationsflusses anzugeben. Derartige Angaben sollen nicht einschränkend sein. Vielmehr werden die Linien in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet, um ein einfacheres Verständnis einer Schaltung oder einer Logikeinheit zu ermöglichen. Jegliches repräsentierte Signal, wie durch Designvorgaben oder -präferenzen vorgegeben, kann tatsächlich ein oder mehrere Signale umfassen, die in jeder Richtung laufen können und mit einer beliebigen geeigneten Art von Signalschema implementiert werden können.
  • In der gesamten Spezifikation und in den Ansprüchen bedeutet der Begriff „verbunden“ eine direkte elektrische, mechanische oder magnetische Verbindung zwischen den Dingen, die verbunden sind, ohne irgendwelche Zwischenvorrichtungen. Der Begriff „gekoppelt“ bedeutet entweder eine direkte elektrische, mechanische oder magnetische Verbindung zwischen den Dingen, die verbunden sind, oder eine indirekte Verbindung durch eine oder mehrere passive oder aktive Zwischenvorrichtung. Der Begriff „Schaltkreis“ oder „Modul“ kann sich auf eine oder mehrere passive und/oder aktive Komponenten beziehen, die dazu eingerichtet sind, miteinander zusammenzuwirken, um eine gewünschte Funktion bereitzustellen. Der Ausdruck „Signal“ kann sich auf wenigstens ein Stromsignal, Spannungssignal, Magnetsignal oder Daten-/Taktsignal beziehen. Die Bedeutung von „ein“, „eine“ und „der/die/das“ schließen Pluralreferenzen ein. Die Bedeutung von „in“ schließt „in“ und „auf“ ein.
  • Die Ausdrücke „im Wesentlichen“, „nahe“, „ungefähr“, „annähernd“ und „etwa“ beziehen sich allgemein darauf, dass sie innerhalb von +/-10 % eines Zielwerts liegen. Sofern nichts anderes angegeben ist, gibt die Verwendung der Ordinaladjektiva „erstes“, „zweites“ und „drittes“ usw., um ein gemeinsames Objekt zu beschreiben, lediglich an, dass auf unterschiedliche Instanzen gleicher Objekte Bezug genommen wird, und soll nicht implizieren, dass die so beschriebenen Objekte in einer gegebenen Reihenfolge sein müssen, entweder zeitlich, räumlich, in Rangfolge oder auf irgendeine andere Weise.
  • Es versteht sich, dass die so verwendeten Begriffe unter geeigneten Umständen austauschbar sind, sodass die hierin beschriebenen Ausführungsformen der Erfindung beispielsweise in anderen Orientierungen als den hierin veranschaulichten oder anderweitig beschriebenen betrieben werden können.
  • Die Begriffe „links“, „rechts“, „vorne“, „hinten“, „oben“, „unten“, „über“, „unter“ und dergleichen in der Beschreibung und in den Ansprüchen, falls vorhanden, werden zu beschreibenden Zwecken verwendet und nicht notwendigerweise zum Beschreiben permanenter relativer Positionen.
  • Zu Zwecken der Ausführungsformen sind die Transistoren in verschiedenen Schaltkreisen, Modulen und Logikblöcken Tunnel-FETs (TFETs). Manche Transistoren verschiedener Ausführungsformen können Metalloxidhalbleiter(MOS)-Transistoren umfassen, die Drain-, Source-, Gate-und Substratanschlüsse beinhalten. Die Transistoren können auch Tri-Gate-und FinFET-Transistoren, zylindrische Gate-all-around-Transistoren, Rechteckdraht- oder Rechteckbandtransistoren oder andere Vorrichtungen, die Transistorfunktionalität implementieren, wie Kohlenstoffnanoröhren oder Spintronikvorrichtungen, beinhalten. Symmetrische MOSFET-Source- und -Drain-Anschlüsse sind identische Anschlüsse und werden hier austauschbar verwendet. Andererseits weist eine TFET-Vorrichtung asymmetrische Source- und Drain-Anschlüsse auf. Fachleute werden verstehen, dass andere Transistoren, zum Beispiel Sperrschichttransistoren-BJT-PNP/NPN, BiCMOS, CMOS usw., für manche Transistoren verwendet werden können, ohne vom Schutzumfang der Offenbarung abzuweichen.
  • Zum Zwecke der vorliegenden Offenbarung bedeuten die Ausdrücke „A und/oder B“ und „A oder B“ (A), (B) oder (A und B). Zum Zwecke der vorliegenden Offenbarung bedeutet der Ausdruck „A, B und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).
  • Zusätzlich dazu können die verschiedenen Elemente der kombinatorischen Logik und der sequenziellen Logik, die in der vorliegenden Offenbarung besprochen werden, sowohl physische Strukturen (wie etwa AND-Gatter, OR-Gatter oder XOR-Gatter) als auch zusammengesetzte oder anderweitig optimierte Sammlungen von Vorrichtungen betreffen, die die logischen Strukturen implementieren, die boolesche Äquivalente der besprochenen Logik sind.
  • Gegenwärtig kann eine Arbeitslastdetektion für Ein-Chip-System(SoC)-Designs auf Last (z. B. „Nutzung“ oder „aktiver Kernzeit“, die ein Prozentsatz sein kann) basieren. Indessen kann die Leistungsverwaltungszustandsregelung die Regelung von Arbeitsleistungszuständen oder „p-Zuständen“ in Bezug auf Optimierungsspannung und/oder CPU-Frequenz während des Betriebs beinhalten. Um bestimmte Typen von Arbeitslasten (z. B. Arbeitslasten mit geringer Reaktion, wie etwa das Bearbeiten von Word-Dokumenten, Videowiedergabearbeitslasten und/oder reaktionsfähige Arbeitslasten, wie etwa Web-Browsing) zu handhaben, kann die Leistungsverwaltungszustandsregelung Betriebssystem(OS)-Ereignisse überwachen und/oder basierend auf Lastmusteränderungen reagieren.
  • Derartige Ansätze können jedoch weniger generisch als wünschenswert sein. Zum Beispiel können zwei Arbeitslasten eine unterschiedliche Frequenzauswahl erfordern, selbst wenn die Last (z. B. Nutzung) über ein Zeitfenster scheinbar gleich ist. Ein Szenario kann zum Beispiel Verkehr mit hoher Speichereingabe/-ausgabe (Speicher-E/A) involvieren. Als ein anderes Beispiel kann dieselbe Arbeitslast aufgrund anderer möglicher Hintergrundaktivitäten mehr als ein Muster für dasselbe Zeitfenster aufweisen.
  • Manche aktive Leistungsverwaltungstechniken für einen Block oder Teil eines Designs (z. B. einen Intellectual-Property-Kern oder „IP“) können auf einer Kombination von Firmwarekomponenten und Betriebssystemkomponenten basieren, die manchmal als „Regler“ bezeichnet werden. Der Regler kann eine Nutzung des IP (z. B. über einen gewissen Zeitraum) und eine Skalierbarkeit des IP (z. B. eine Repräsentation, wie Arbeitslasten mit Änderungen der Frequenz skalieren könnten) überwachen. Basierend auf einer beobachteten Änderung der Nutzung (wie etwa einer Zunahme oder Abnahme der Nutzung) kann der Regler eine höhere Frequenz oder eine niedrigere Frequenz anfordern. Die meisten IPs mit dynamischen Spannungs- und Frequenzskalierungsfunktionen (DVFS-Funktionen) - wie zentrale Verarbeitungseinheiten (CPUs), Grafikverarbeitungseinheiten (GPUs), Bildverarbeitungseinheiten (IPUs) und so weiter - können ähnliche nutzungsbasierte Regelungstechniken implementieren.
  • Andere aktive Leistungsverwaltungstechniken können Erhalten von Namen von einem Betriebssystem von Anwendungen oder Typen von Anwendungen beinhalten, die im Vordergrund und/oder im Hintergrund laufen. Diese Informationen können dann (zusammen mit Parametern, wie etwa den oben besprochenen) beim Festlegen einer Frequenz und/oder Leistung des IP berücksichtigt werden.
  • Diese Techniken sind relativ statisch und müssen möglicherweise manuell für unterschiedliche Arbeitslasten oder für unterschiedliche Kompromisse zwischen Leistung, Arbeitsleistung und/oder Ansprechempfindlichkeit fein abgestimmt werden. Sie können auch verschiedene andere Nachteile aufweisen.
  • Erstens könnten DVFS-Algorithmen für IP - und/oder deren Frequenzselektionen - lediglich für wenige spezifische Arbeitslasten abgestimmt werden. Infolgedessen, falls abgestimmt, um ein Ziel relativ hoher Arbeitsleistung zu erfüllen (z. B. Browsen), kann der Leistungsverbrauch für Produktivitätsarbeitslasten zunehmen. Aktuelle Implementierungen können dementsprechend Kompromisse zwischen Optimierungsvektoren darstellen.
  • Zweitens können Kunden eine höhere Arbeitsleistung für spezifische Gruppen von Arbeitslasten anfordern. Dies kann zu vollständigen Abstimmübungen für gegenwärtige Frequenzauswahlalgorithmen führen (z. B. um sicherzustellen, dass die spezifischen Gruppen von Arbeitslasten keine negative Auswirkung auf andere Arbeitslasten verursachen).
  • Drittens können Kunden eine geringere Leistung für ein paar Arbeitslasten anfordern, um eine längere Batterielebensdauer zu erhalten. Dies kann zu vollständigen Abstimmübungen für gegenwärtige Frequenzauswahlalgorithmen führen, was zu einer verringerten Arbeitsleistung für andere Arbeitslasten führen kann.
  • Viertens kann das Treffen von Leistungsverwaltungsentscheidungen basierend auf Listen von Vordergrundprozessen und/oder Hintergrundprozessen aufgrund unbegrenzter neuerer Arbeitslasten, die ein Endbenutzer ausführen kann, unpraktikabel sein. Infolgedessen sind solche Lösungen möglicherweise nicht skalierbar.
  • Fünftens wird die Anzahl an Vordergrundprozessen und Hintergrundprozessen und deren Kombinationen im Allgemeinen enorm sein. Infolgedessen neigen Lösungen, die auf dem Analysieren derartiger Gruppen von Prozessen basieren, dazu, unpraktikabel zu sein. Solche Lösungen können die Aktivität von Hintergrundprozessen möglicherweise nicht berücksichtigen.
  • Basierend auf diesen Nachteilen kann eine alternative generische Lösung wünschenswert sein, die dynamisch Antwortmuster auf existierende bekannte Arbeitslasten sowie auf neuere Arbeitslasten entwickeln kann.
  • Hier werden Mechanismen und Verfahren zum Implementieren einer intelligenten Leistungsverwaltungsarchitektur besprochen, die SoC-Nutzungsdaten (z. B. Zähler) einsetzt, um Arbeitslasten zu klassifizieren und optimale Leistungsverwaltungshandlungen basierend auf erkannten Mustern vorzunehmen. Merkmale, die zum Klassifizieren von Arbeitslasten verwendet werden, können aus verschiedenen Leistungsverwaltungstelemetrieinformationen (z. B. CPU-Registern, GPU-Registern, SoC-Leistungszustandsinformationen, Speicherbandbreite und so weiter) erhalten werden. Verschiedene Leistungsverwaltungs(PM)-Telemetrieinformationen (z. B. SoC-Zähler und/oder modellspezifische Register (MSRs)) können verwendet werden, um über Arbeitslastmuster zu lernen. Derartige Informationen können dann verwendet werden, um verschiedene Schichten von Leistungsverwaltungsalgorithmen in Firmware und/oder Software zu lenken. Dies kann als Grundlage für komplexere Leistungsverwaltungs-Optimierungsalgorithmen dienen.
  • Wie hier offenbart, können Techniken für maschinelles Lernen (ML) auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels angewandt werden, um Benutzeranforderungen effizient zu erfüllen. Derartige Techniken können zwei Hauptkomponenten aufweisen.
  • In einer ersten Komponente können Arbeitslastmuster unter Verwendung von offline gelernter Parameter detektiert werden. Hinweise über detektierte Muster, bei einer groben Granularität des Arbeitslasttyps (z. B. unter Berücksichtigung von Videowiedergabearbeitslasten versus Browsingarbeitslasten versus Produktivitätsarbeitslasten) oder bei einer feineren Granularität des Arbeitslasttyps (z. B. unter Berücksichtigung der Multithreading-Natur von Arbeitslasten oder von spezifischen Kernen, die besser geeignet erscheinen, um eine Arbeitslast auszuführen), können bereitgestellt werden.
  • In einer zweiten Komponente können Handlungen basierend auf einem detektierten Arbeitslastmuster durchgeführt werden. Beispielsweise können Handlungen ergriffen werden, wie etwa Ändern eines Energiearbeitsleistungspräferenz(EPP)-Werts, Deckeln einer Leistungsgrenze eines IP und/oder Deckeln einer Frequenz eines IP, auf einer Ebene eines Leistungsverwaltungsstapels, basierend auf Hinweisen, die für diese Ebene bereitgestellt werden. Handlungen können zu erhöhter Arbeitsleistung, besserer Ansprechempfindlichkeit und/oder geringerem Leistungsverbrauch führen.
  • Ein Algorithmus in Bezug auf diese Mechanismen und Verfahren kann die folgenden drei Aspekte beinhalten. Erstens können SoC-Zähler verwendet werden, um Klassen bekannter Muster zu detektieren, die von Interesse sind, während ein System läuft. Zweitens kann das Detektieren einer Klasse bekannter Muster helfen, dass eine Komponente oder ein System geeignete Handlungen ergreift, wie etwa Leistungszuweisung oder Frequenzeinstellung für IPs. Abbildungshandlungen für eine Klasse bekannter Muster können zum Beispiel von einer oder mehreren Effizienzmetriken und/oder Kundenanforderungen abhängen.
  • Drittens können Hinweise für verschiedene Leistungsverwaltungsentscheidungen bei verschiedenen Granularitäten verwendet werden. Auf einem Dynamic Platform and Thermal Framework (DPTF) und/oder Systemebene können sich Leistungsverwaltungsentscheidungen auf Thermik und/oder Leistungsausgleich beziehen. Auf OS-Ebene können sich Leistungsverwaltungsentscheidungen auf Planerhinweise, Hetero-IP-Planung und/oder Leistungsausgleich beziehen. Auf IP-Ebene können sich Leistungsverwaltungsentscheidungen auf Lastvorhersage, Hinweise in CPU/GPU/IPU-Firmware beziehen, die DVFS-Regelungslogik von IPs helfen können, Leistungsbudgets, Arbeitsleistungsbudgets und/oder Energiebudgets genauer zuzuweisen.
  • Gegenwärtig können Frequenzauswahlalgorithmen für IPs auf Last und/oder Skalierbarkeit (z. B. von CPUs, GPUs und so weiter) basieren. Diese Algorithmen berücksichtigen möglicherweise nicht den Typ der Arbeitslast, sodass die gleiche Frequenz für den gleichen Wert der Last und Skalierbarkeit (oder Änderungsraten dieser Werte) ausgewählt werden kann, obwohl die Last möglicherweise von unterschiedlichen Typen von Arbeitslasten stammt.
  • Im Vergleich dazu kann das Vorhersagen des Typs der Arbeitslast auf verschiedene Weisen vorteilhaft sein. Erstens kann es ein Ausführen unterschiedlich abgestimmter Algorithmen (z. B. für jeden Typ von Arbeitslast) ermöglichen. Zweitens kann es ein Erreichen höherer Energieeffizienzen für identifizierte Arbeitslasttypen ermöglichen. Drittens kann es ein Erreichen gewünschter Arbeitsleistungsziele und/oder Leistungsziele ermöglichen.
  • Verschiedene Arbeitslastkategorien und ihre Arbeitsleistungserwartungen können Arbeitslasten mit starkem Reaktionsverhalten, Arbeitslasten mit geringem Reaktionsverhalten, Videowiedergabearbeitslasten und/oder Gamingarbeitslasten beinhalten. Arbeitslasten mit starkem Reaktionsverhalten können in erster Linie CPUs belasten. Diese Kategorie von Arbeitslasten kann mit plötzlichen Lastspitzen assoziiert sein. Im Gegenzug könnten Spitzenlasten mit höheren Frequenzen angesprochen werden, um dabei zu helfen, ein Benutzererlebnis zu erfüllen. Arbeitslasten mit starkem Reaktionsverhalten können zum Beispiel Web-Browsen beinhalten.
  • Arbeitslasten mit geringem Reaktionsverhalten können Benutzerproduktivitätsanwendungen (z. B. Tippen von E-Mails, Textverarbeitungsdokumenten oder Präsentationen) beinhalten, die hauptsächlich CPUs belasten, für die aber Frequenzanforderungen im Vergleich zu der Kategorie mit starkem Reaktionsverhalten möglicherweise nicht hoch sind. Diese Kategorie von Arbeitslasten kann Benutzererlebnisziele mit niedrigeren Frequenzen als für Arbeitslasten mit starkem Reaktionsverhalten erfüllen. Falls einer Frequenz FHOCH gewährt wird, eine Last L für eine Arbeitslast mit starkem Reaktionsverhalten zu versorgen, kann einer anderen Frequenz FNIEDRIG gewährt werden, dieselbe Last L für eine Arbeitslast mit geringem Reaktionsverhalten zu versorgen (z. B. für Produktivitätsanwendungen), sodass FNIEDRIG < FHOCH ist, was vorteilhaft Leistung sparen kann, während ein zufriedenstellendes Benutzererlebnis bereitgestellt wird.
  • Videowiedergabearbeitslasten (und andere ähnliche Arbeitslasten) können CPUs und/oder Medienverarbeitungsabschnitte von GPUs leicht belasten. Für diese Arbeitslastkategorie kann es eine Obergrenze für eine maximale Anzahl von Rahmen pro Sekunde (FPS) geben, die erreicht werden kann. Der Gesamtleistungsverbrauch kann meist unter einer SoC-Leistungsgrenze liegen. In dieser Kategorie kann Leistungseinsparung ein primäres Kriterium für die Frequenzauswahl sein.
  • Gamingarbeitslasten können sowohl eine CPU als auch Renderabschnitte einer GPU stark belasten. Diese Arbeitslasten können relativ hohe Leistung verbrauchen, was dazu führen kann, dass eine SoC-Leistung ihre Leistungsgrenze überschreitet. Unter dieser Kategorie kann eine SoC-Leistungsgrenze hauptsächlich zwischen einer CPU und einer GPU aufgeteilt werden, um das Erreichen von maximalen FPS zu ermöglichen. Während Leistung aufgeteilt wird, können Faktoren, wie etwa Zuweisen von mehr Leistung zu einer CPU, wenn eine GPU unterbelastet ist, und der erhöhte Leistungsverbrauch einer GPU für gleiche Last im Vergleich zu einer CPU berücksichtigt werden.
  • Die oben genannten Kategorien von Arbeitslasten sind lediglich Beispiele. Andere Arbeitslasten und/oder Kategorisierungen von Arbeitslasten können existieren, die verwendet werden können, um Arbeitslasten durch Muster zu unterscheiden. Muster von Arbeitslasttypen können auf verschiedene Arten visualisiert werden. Arbeitslasten können Mustern verschiedener Anzahlen von Merkmalen entsprechen. Unter Berücksichtigung jedes dieser Merkmale als eine „Dimension“ kann ein hochdimensionaler Raum in einen zweidimensionalen Raum umgewandelt und als ein Graph in x-und y-Koordinaten gezeichnet werden.
  • 1 veranschaulicht eine Repräsentation verschiedener Arbeitslasten in einem zweidimensionalen Raum unter Verwendung von T-verteilter stochastischer Nachbareinbettung (t-SNE) nach manchen Ausführungsformen der Offenbarung. Ein Szenario 100 kann eine erste Repräsentation 110 einer Arbeitslast mit geringem Reaktionsverhalten, eine zweite Repräsentation 120 einer Arbeitslast mit starkem Reaktionsverhalten, eine dritte Repräsentation 130 einer Videowiedergabearbeitslast und eine vierte Repräsentation 140 einer Gamingarbeitslast umfassen.
  • Wie in Szenario 100 dargestellt, können, wenn höherdimensionale Repräsentationen verschiedener Arbeitslasten in weniger Dimensionen umgewandelt werden, die Arbeitslasten voneinander unterschieden werden. Insbesondere gibt es einen Überlappungsbereich zwischen Arbeitslasten mit geringem Reaktionsverhalten in Bezug auf die erste Repräsentation 110 und Arbeitslasten mit starkem Reaktionsverhalten in Bezug auf die zweite Repräsentation 120 (der mit besseren Trainingsdaten auflösbar sein könnte).
  • 2 veranschaulicht Leistungsverwaltungshandlungen, die eine auf ML basierende Leistungsverwaltungstechnik auf verschiedenen Ebenen eines Leistungsverwaltungsstapels vornehmen kann, nach manchen Ausführungsformen der Offenbarung. Über einen Bereich von Abfragefenstergrößen 200 können ML-basierte Arbeitslastklassifizierungstechniken 205 eingesetzt werden, was zu einer ersten Gruppe von Handlungen 210 bei einer ersten (und kleinsten) Abfragefenstergröße führen kann; einer zweiten Gruppe von Handlungen 220 bei einer zweiten, größeren Abfragefenstergröße; einer dritten Gruppe von Handlungen 230 bei einer dritten, noch größeren Abfragefenstergröße; und einer vierten Gruppe von Handlungen 240 bei einer vierten (und größten) Abfragefenstergröße.
  • Wie dargestellt, können die ML-basierten Arbeitslastklassifizierungstechniken 205 auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels angewandt werden und können von der Größe eines Abfragefensters abhängen, in dem Daten gesammelt werden. Die Techniken 205 können Sammeln von Werten verschiedener SoC-Zähler an verschiedenen Punkten in einem Abfragefenster umfassen, um eine Gruppe von gelernten Parametern (z. B. eine Gruppe von Merkmalen) zu erstellen, dann Bereitstellen dieser Gruppe von Merkmalen an einen Klassifikationsprädiktoralgorithmus (wie hier offenbart).
  • Falls der Klassifikationsprädiktoralgorithmus ein vorhergesagtes Muster anzeigt, können verschiedene Handlungen ergriffen werden. Bei der kleinsten Abfragefenstergröße kann eine Frequenz für einen IP (z. B. eine CPU oder eine GPU) ausgewählt werden. Bei der nächstgrößeren Abfragefenstergröße können ein oder mehrere IP-Module (z. B. CPU-Kerne oder Grafikverarbeitungsscheiben) angehalten oder wieder gestartet werden. Bei der nächstgrößeren Abfragefenstergröße kann Leistung für einen oder mehrere IPs (z. B. CPUs und/oder GPUs) verteilt werden. Bei der größten Abfragefenstergröße kann das Verhalten eines Frequenzauswahlalgorithmus eines IP geändert werden (z. B. durch Ändern eines EPP-Werts).
  • Arbeitslasten können unter Verwendung von ML-Techniken klassifiziert werden, die eine Trainingsphase und eine Einsatzphase umfassen, basierend auf Merkmalen, wie etwa SoC-Zählerdaten und PM-Telemetriedaten. In der Trainingsphase kann eine Arbeitslast initiiert werden und Daten können für diese Arbeitslast gesammelt und in einen Klassifizierungsalgorithmus eingespeist werden, um Parameter zur Vorhersage zu lernen. Die gesammelten Daten können aus einer spezifischen Gruppe von Quellen stammen, die Register, Zähler und/oder MSRs (z. B. für ein SoC) beinhalten können.
  • Eine einzelne Momentaufnahme von Daten aus diesen Quellen erleichtert möglicherweise die Detektion verschiedener Arten von Arbeitslasten nicht. Anstatt eine einzige Momentaufnahme von Daten aufzunehmen, werden dementsprechend mehrere Momentaufnahmen von Daten über eine Abfrageperiode aufgenommen. Die Daten aus diesen Quellen können somit in regelmäßigen Abständen abgefragt werden, während eine Arbeitslast läuft, und können zu einer Gruppe von Merkmalen verknüpft werden, der die Basis einer ML-basierten Analyse bilden kann. Die Anzahl an zu verknüpfenden Momentaufnahmen kann von einer Länge eindeutiger Muster der Arbeitslasten abhängen.
  • Zum Beispiel kann eine Anzahl von Zählern und/oder anderen Quellen als Anzahl NZÄHLER repräsentiert werden, eine Abfrageperiode kann als eine Anzahl PABFRAGE (z. B. in ms (Millisekunden)) repräsentiert werden und eine feste Dauer kann als eine Anzahl von PVERLAUF (z. B. in ms) repräsentiert werden. Falls die Gruppe von Merkmalen für die Analyse eine Verknüpfung einer Gruppe von Daten für die Quellen von NZÄHLER ist, wie mehrmals abgefragt (PVERLAUF/PABFRAGE), dann kann eine Anzahl von Merkmalen NMERKMALE in der Gruppe von Merkmalen als die Anzahl von durchgeführten Abfragen multipliziert mit der Anzahl von Zählern repräsentiert werden: N MERKMALE = ( P VERLAUF / P ABFRAGE ) N Z A ¨ HLER
    Figure DE112020000976T5_0001
  • Die Länge der Abfrageperiode PABFRAGE kann von der Ebene des anzuvisierenden PM-Stapels abhängen (wie in 2 dargestellt). Zum Beispiel können für manche Zwecke 2 Sekunden verknüpfter Daten angemessen sein. Die verknüpften Gruppen von Zählerwerten können dann eine Merkmalsgruppe zur Verwendung beim Trainieren eines Klassifizierungsalgorithmus sein. Eine Gruppe von Merkmalen für einen überwachten Klassifizierungslernalgorithmus für ein aktuelles Abfragefenster kann dementsprechend durch Verknüpfen von Abtastwerten von Daten erzeugt werden, die über eine kürzliche feste Dauer gesammelt wurden.
  • Die nachfolgende Tabelle 1 zeigt einige Zähler, die abgefragt werden können, um eine Gruppe von Merkmalen zu erstellen. Diese Zähler sind lediglich Beispiele und andere Gruppen von Zählern (die manche, alle oder keinen dieser Zähler enthalten können) können abgefragt werden, um eine Gruppe von Merkmalen zu erstellen. Tabelle 1: Als Merkmale zur Arbeitslastklassifizierung verwendete Zähler
    Zählerkateg orie Zähler
    Leistung CPULeistung GrafikLeistung SoCLeistung
    SpeicherLeistung
    Jeder Kern KernFrequenz KernLast KernSkalierbarkeit
    C3Residenz C6Residenz C7Residenz
    Grafik GfxFrequenz GfxLast GfxRC6
    RahmenProSekunde
    Paket Residenz Zähler (1) PkgIaC0BeliebigSum me PkglaCOBeliebig PkgC2Residenz
    PkgC3Residenz PkgC6Residenz PkgC7Residenz
    PkgC8Residenz PkgC9Residenz PkgC10Residenz
    Paket Residenz Zähler (2) PkgGtCOBeliebig PkgGtC0BeliebigeScheib en PkgGtC0ScheibenS umme
    PkgGtCOBeliebigeMed ien PkgGtUndIaÜberlappung
    Speicher AnforderungZahlVonI a AnforderungZahlVonGt AnforderungZahlVo nIo
    AnforderungLesenDat enZahl Anforderung Schreib enD at enZahl
  • Die Trainingsphase kann während der Ausführung einer Reihe von Arbeitslasten vorgenommen werden. Zudem kann der Lernalgorithmus umso genauer sein, je mehr Daten verwendet werden.
  • Dementsprechend kann für jede Arbeitslast eines Bereichs von Arbeitslasten eine Gruppe von Merkmalen (oder Lernparametern) einem Klassifizierungsalgorithmus (z. B. einem ML-Algorithmus) bereitgestellt werden, um eine Gruppe von gelernten Parametern zu erstellen. Diese gelernten Parameter können von der Art des Klassifizierungsalgorithmus und der Anzahl von Arbeitslasttypen abhängen. Zum Beispiel kann ein linearer Support-Vector-Klassifizierungsalgorithmus verwendet werden (z. B. sklearn.svm.LinearSVC, von scikitlearn.org). Der verwendete Algorithmus kann eine Gewichtung für jedes Merkmal ausgeben und die Gewichtungen können dann verwendet werden, um eine Kategorie von Arbeitslast zu identifizieren (z. B. wie bei einer Eins-vs-Rest(OvR)-Strategie).
  • Die Einsatzphase kann sich dann an die Trainingsphase anschließen. Die Gruppe von gelernten Parametern, die mit einer Kategorie von Arbeitslast assoziiert sind, kann einem Klassifikationsprädiktoralgorithmus zugeführt werden. Dann kann während der Laufzeit eines Systems eine Datengruppe auf eine Weise gesammelt werden, die zu der Weise analog ist, auf die Gruppen von Merkmalen während der Trainingsphase gesammelt werden. Dementsprechend können Werte derselben Liste von Zählern, wie sie in der Trainingsphase verwendet werden, über einen Zeitraum der gleichen Länge (z. B. PVERLAUF) mit dem gleichen regelmäßigen Intervall (z. B. PABFRAGE) und für die gleiche Anzahl von Malen (z. B. PVERLAUF/PABFRAGE) abgefragt werden. Infolgedessen kann eine Anzahl von Merkmalen erhalten werden, die die gleiche wie in der Trainingsphase ist (z. B. NMERKMALE). Die Gruppe von Merkmalen kann dann dem Klassifikationsprädiktoralgorithmus zugeführt werden, der die Gruppe von Merkmalen im Vergleich mit der Gruppe von gelernten Parametern analysieren und eine Vorhersage darüber treffen kann, ob die Arbeitslast, die ausgeführt wurde, als die Gruppe von Merkmalen erfasst wurde, zu der Kategorie von Arbeitslast gehört, mit der der Klassifikationsprädiktoralgorithmus assoziiert ist.
  • Die Verwendung einer Arbeitslastklassifikation unter Verwendung von ML-Mechanismen und Verfahren, wie hierin besprochen, kann verschiedene Vorteile aufweisen. Erstens kann die Arbeitslastdetektion Mehrwert zu einem beliebigen Frequenzauswahlalgorithmus hinzufügen. Verschiedene Handlungen können auf viele verschiedene Weisen mit Typen von Arbeitslasten assoziiert sein, um Leistungs-und/oder Arbeitsleistungsziele zu erreichen.
  • Ein weiterer Vorteil kann sich auf eine intelligente Leistungsbegrenzung und/oder eine intelligente Leistungsverteilung beziehen, durch die eine Leistungsgrenze bereitgestellt werden kann, unter der ein IP zum Betrieb ausgelegt werden kann. Ein Frequenzauswahlalgorithmus für einen IP kann dazu ausgelegt sein, eine Frequenz derart auszuwählen, dass der Leistungsverbrauch für diesen IP eine Leistungsgrenze nicht überschreiten sollte. Durch Verwenden von ML-basierter Arbeitslastklassifikation, wie hierin offenbart, können unterschiedliche Leistungsgrenzen basierend auf unterschiedlichen Typen von Arbeitslast vorgeschlagen werden und können aus einer Gruppe von PM-Telemetrieparametern erlernt werden.
  • In Versuchen, ML-basierte Arbeitslastklassifikationsmechanismen und Verfahren zur Leistungsverwaltung einzusetzen, wurde eine Gruppe gelernter Parameter für Arbeitslasten mit geringem Reaktionsverhalten in einer Trainingsphase erstellt und gegen eine Vielfalt von Benchmarks eingesetzt. Nach Detektieren einer Arbeitslast mit geringem Reaktionsverhalten wurde eine Leistungsverwaltungshandlung ergriffen (z. B. Festlegen einer Leistungsobergrenze für Gesamtleistung, die von allen Kernen der CPU verbraucht wird, auf Leistung, die von einem Kern verbraucht wird, wenn er mit höchstmöglicher Frequenz betrieben wird). Unter den beobachteten Vorteilen waren das Erreichen eines niedrigeren Leistungsverbrauchs und besserer Effizienzen für Arbeitslasten mit geringem Reaktionsverhalten einbindende Benchmarks, ohne den Leistungsverbrauch und die Arbeitsleistung bei Benchmarks, die andere Kategorien von Arbeitslasten einbinden, zu beeinflussen.
  • 3 veranschaulicht eine Konstruktion, die Schaltungsanordnungen zum Anwenden von ML-Techniken zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels beinhaltet, nach manchen Ausführungsformen der Offenbarung. Ein Design 300 kann eine erste Schaltungsanordnung 310, eine zweite Schaltungsanordnung 320, eine dritte Schaltungsanordnung 330 und eine vierte Schaltungsanordnung 340 umfassen.
  • Bei einer Vielfalt von Ausführungsformen kann die erste Schaltungsanordnung 310 eine Vielzahl von Speicherregistern aufweisen. Die zweite Schaltungsanordnung 320 kann zum Festlegen von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern betreibbar sein, die zu einem oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge genommen werden. Die erste Schaltungsanordnung 310 kann betreibbar sein, Informationen bezüglich der Vielzahl von Speicherregistern über eine Schnittstelle 315 an die zweite Schaltungsanordnung 320 zu liefern. Die dritte Schaltungsanordnung 330 kann zum Vergleichen der Vielzahl von Merkmalen mit einer Vielzahl von gelernten Parametern für eine Referenzarbeitslast betreibbar sein. Die zweite Schaltungsanordnung 320 kann dazu betreibbar sein, Informationen bezüglich der Vielzahl von Merkmalen über eine Schnittstelle 325 an die dritte Schaltungsanordnung 330 zu liefern.
  • In verschiedenen alternativen Ausführungsformen kann die erste Schaltungsanordnung 310 eine Vielzahl von Speicherregistern aufweisen; die zweite Schaltungsanordnung 320 kann betreibbar sein, um Werte für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern festzulegen, die zu einer oder mehreren Zeiten genommen wurden, die um eine vorbestimmte Periode beabstandet sind; die dritte Schaltungsanordnung 330 kann zum Vergleichen der Vielzahl von Merkmalen mit einer Vielzahl von gelernten Parametern für eine Referenzarbeitslast betreibbar sein, wobei der Vergleich mindestens eine Matrixmathematikoperation beinhaltet; und die vierte Schaltungsanordnung 340 kann betreibbar sein, eine oder mehrere Handlungen basierend auf dem Ergebnis des Vergleichs auszulösen.
  • In manchen Ausführungsformen kann die Vielzahl von Speicherregistern einen oder mehrere Zähler beinhalten, die verschiedenen Leistungsverwaltungstelemetrieinformationen entsprechen können, wie etwa verschiedenen SoC-Zähler und/oder MSRs. Für einige Ausführungsformen können mindestens einige der Speicherregister einem Leistungswert, einem Frequenzwert, einem Lastwert, einem Residenzwert, einem Rahmen-pro-Sekunde-Wert und/oder einem Speicherzugriffswert (z. B. wie in Tabelle 1 oben gezeigt) entsprechen. In manchen Ausführungsformen können der eine oder die mehreren Zeitpunkte, zu denen die Abtastwerte der Vielzahl von Speicherregistern genommen werden, um eine vorbestimmte Zeitdauer voneinander beabstandet sein.
  • Für manche Ausführungsformen kann die Vielzahl von Merkmalen eine verknüpfte Gruppe der Abtastwerte sein, die zu dem einen oder den mehreren Zeitpunkten genommen wurden. Zum Beispiel kann die Vielzahl von Merkmalen mehrere verknüpfte Abtastwerte einer Gruppe von PM-Telemetrieinformationen sein. In manchen Ausführungsformen kann die Referenzarbeitslast eine Arbeitslast mit hoher CPU-Last, eine Arbeitslast mit niedriger CPU-Last, eine Videowiedergabearbeitslast oder eine Videorenderarbeitslast sein. Für manche Ausführungsformen kann die Anzahl von Merkmalen der Vielzahl von Merkmalen gleich der Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern sein.
  • In einigen Ausführungsformen kann der Vergleich mindestens eine Matrixmathematikoperation, wie etwa eine Arraymultiplikationsoperation, beinhalten. Für manche Ausführungsformen kann die vierte Schaltungsanordnung 340 betreibbar sein, eine oder mehrere Handlungen basierend auf dem Ergebnis des Vergleichs auszulösen. Die dritte Schaltungsanordnung 330 kann dazu betreibbar sein, Informationen bezüglich des Ergebnisses des Vergleichs über eine Schnittstelle 335 an die vierte Schaltungsanordnung 340 zu liefern. In verschiedenen Ausführungsformen können die eine oder die mehreren Handlungen Auswählen einer Frequenz und/oder Festlegen einer Leistungsgrenze beinhalten.
  • In manchen Ausführungsformen kann die Vielzahl von gelernten Parametern für die Referenzarbeitslast eine erste Vielzahl von gelernten Parametern für die erste Referenzarbeitslast sein und die dritte Schaltungsanordnung 330 kann betreibbar sein, die Vielzahl von Merkmalen mit einer zweiten Vielzahl von gelernten Parametern für eine zweite Referenzarbeitslast zu vergleichen.
  • 4 veranschaulicht Verfahren zum Anwenden von ML-Techniken zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels nach manchen Ausführungsformen der Offenbarung. Ein Verfahren 400 kann ein Speichern 410, ein Abtasten 420, ein Vergleichen 430 umfassen. Das Verfahren 400 kann auch ein Auslösen 440 umfassen.
  • Beim Speichern 410 können Werte in einer Vielzahl von Speicherregistern (z. B. SoC-Zählern und/oder MSRs) gespeichert werden. Beim Abtasten 420 können Werte der Vielzahl von Speicherregistern zu einem oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge abgetastet werden, um Werte für eine Vielzahl von Merkmalen festzulegen. Beim Vergleichen 430 kann die Vielzahl von Merkmalen mit einer Vielzahl von gelernten Parametern für eine Referenzarbeitslast verglichen werden.
  • In manchen Ausführungsformen können beim Auslösen 440 eine oder mehrere Handlungen basierend auf dem Ergebnis des Vergleichs ausgelöst werden. Die eine oder die mehreren Handlungen können Auswählen einer Frequenz und/oder Festlegen einer Leistungsgrenze beinhalten.
  • Für einige Ausführungsformen können mindestens einige der Speicherregister Folgendem entsprechen: einem Leistungswert; einem Frequenzwert; einem Lastwert; einem Residenzwert; einem Rahmen-pro-Sekunde-Wert; und/oder einem Speicherzugriffswert (wie zum Beispiel in Tabelle 1 offenbart). Die Referenzarbeitslast kann eine Arbeitslast mit hoher CPU-Last, eine Arbeitslast mit niedriger CPU-Last, eine Videowiedergabearbeitslast oder eine Videorenderarbeitslast sein.
  • In manchen Ausführungsformen kann die Anzahl von Merkmalen der Vielzahl von Merkmalen gleich der Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern sein. Der Vergleich kann mindestens eine Matrixmathematikoperation (z. B. eine Arraymultiplikationsoperation) beinhalten.
  • Obwohl die Handlungen im Ablaufdiagramm unter Bezugnahme auf 4 in einer bestimmten Reihenfolge gezeigt sind, kann die Reihenfolge der Handlungen modifiziert werden. Deshalb können die veranschaulichten Ausführungsformen in einer anderen Reihenfolge durchgeführt werden und manche Handlungen können parallel durchgeführt werden. Manche der in 4 aufgelisteten Handlungen und/oder Operationen sind gemäß bestimmten Ausführungsformen optional. Die Nummerierung der dargestellten Handlungen dient der Übersichtlichkeit halber und soll keine Reihenfolge vorgeben, in der die verschiedenen Handlungen stattfinden müssen. Zusätzlich dazu können Operationen von den verschiedenen Abläufen in einer Vielfalt von Kombinationen genutzt werden.
  • In manchen Ausführungsformen kann eine Einrichtung Mittel zum Durchführen verschiedener Handlungen und/oder Operationen der Verfahren aus 4 umfassen.
  • Zudem können maschinenlesbare Speichermedien in manchen Ausführungsformen ausführbare Anweisungen aufweisen, die, wenn sie ausgeführt werden, bewirken, dass ein oder mehrere Prozessoren eine Operation durchführen, die ein Verfahren von 4 umfasst. Derartige maschinenlesbare Speichermedien können beliebige einer Vielfalt von Speichermedien beinhalten, wie etwa magnetische Speichermedien (z. B. Magnetbänder oder Magnetplatten), optische Speichermedien (z. B. optische Platten), elektronische Speichermedien (z. B. herkömmliche Festplattenlaufwerke, Festkörperplattenlaufwerke oder Flash-Memory-basierte Speichermedien) oder beliebige andere greifbare Speichermedien oder nicht transitorische Speichermedien.
  • 5 veranschaulicht eine Rechenvorrichtung mit Mechanismen zum Anwenden von maschinellen Lerntechniken (ML) zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels nach manchen Ausführungsformen der Offenbarung. Eine Rechenvorrichtung 500 kann gemäß manchen Ausführungsformen der Offenbarung ein Computersystem, ein SoC, ein Tablet, eine Mobilvorrichtung, eine Smartvorrichtung oder ein Smartphone mit Mechanismen zum Anwenden von Techniken für maschinelles Lernen (ML) zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels sein. Es versteht sich, dass gewisse Komponenten der Rechenvorrichtung 500 allgemein gezeigt sind und nicht alle Komponenten einer solchen Vorrichtung 5 gezeigt sind. Obwohl manche der Komponenten physisch getrennt sein können, können zudem andere innerhalb desselben physischen Gehäuses oder sogar auf demselben physischen Siliziumchip integriert sein. Dementsprechend ist die Trennung zwischen den verschiedenen Komponenten, wie in 5 dargestellt, in manchen Fällen möglicherweise nicht physisch, sondern kann stattdessen eine funktionale Trennung sein. Es wird auch darauf hingewiesen, dass jene Elemente aus 5, die die gleichen Namen oder Bezugsziffern wie die Elemente einer beliebigen anderen Figur aufweisen, auf eine beliebige ähnliche Weise wie jene beschriebenen arbeiten oder funktionieren können, aber nicht darauf beschränkt sind.
  • In verschiedenen Ausführungsformen können die Komponenten der Rechenvorrichtung 500 beliebige von einem Prozessor 510, einem Audiosubsystem 520, einem Anzeigesubsystem 530, einer E/A-Steuerung 540, einer Leistungsverwaltungskomponente 550, einem Speichersubsystem 560, einer Konnektivitätskomponente 570, einer oder mehreren Peripherieverbindungen 580 und einem oder mehreren zusätzlichen Prozessoren 590 beinhalten. In manchen Ausführungsformen kann der Prozessor 510 Mechanismen zum Anwenden von Techniken für maschinelles Lernen (ML) zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels gemäß manchen Ausführungsformen der Offenbarung beinhalten. In verschiedenen Ausführungsformen können jedoch beliebige der Komponenten der Rechenvorrichtung 500 gemäß manchen Ausführungsformen der Offenbarung die Mechanismen zum Anwenden von Techniken für maschinelles Lernen (ML) zur Leistungsverwaltung auf unterschiedlichen Ebenen eines Leistungsverwaltungsstapels beinhalten. Zusätzlich dazu können eine oder mehrere Komponenten der Rechenvorrichtung 500 eine Zwischenverbindungsstruktur mit einer Vielzahl von Anschlüssen beinhalten, wie etwa einen Router, ein Netzwerk von Routern oder ein Network-on-a-Chip (NoC).
  • In manchen Ausführungsformen kann die Rechenvorrichtung 500 eine Mobilvorrichtung sein, die betreibbar sein kann, um Schnittstellenverbinder mit flacher Oberfläche zu verwenden. In einer Ausführungsform kann die Rechenvorrichtung 500 eine mobile Rechenvorrichtung sein, wie etwa ein Rechentablet, ein Mobiltelefon oder Smartphone, ein drahtloses E-Lesegerät oder eine andere drahtlose mobile Vorrichtung. Die verschiedenen Ausführungsformen der vorliegenden Offenbarung können auch eine Netzwerkschnittstelle innerhalb von 570, wie etwa eine drahtlose Schnittstelle, umfassen, sodass eine Systemausführungsform in eine drahtlose Vorrichtung, zum Beispiel ein Mobiltelefon oder einen Organizer, integriert werden kann.
  • Der Prozessor 510 kann ein Universalprozessor oder eine CPU (Zentralverarbeitungseinheit) sein. In manchen Ausführungsformen kann der Prozessor 510 eine oder mehrere physische Vorrichtungen beinhalten, wie etwa Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare Logikvorrichtungen oder andere Verarbeitungsmittel. Die Verarbeitungsoperationen, die durch den Prozessor 510 durchgeführt werden, können die Ausführung einer Betriebsplattform oder eines Betriebssystems beinhalten, auf der bzw. dem dann Anwendungen und/oder Vorrichtungsfunktionen ausgeführt werden können. Die Verarbeitungsoperationen können auch Operationen beinhalten, die mit einem oder mehreren von Folgendem verbunden sind: Audio-E/A; Anzeige-E/A; Leistungsverwaltung; Verbinden der Rechenvorrichtung 500 mit einer anderen Vorrichtung; und/oder E/A (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen.
  • Das Audiosubsystem 520 kann Hardwarekomponenten (z. B. Audio-Hardware und Audio-Schaltkreise) und Softwarekomponenten (z. B. Treiber und/oder Codecs) beinhalten, die mit dem Bereitstellen von Audiofunktionen an die Rechenvorrichtung 500 assoziiert sind. Audiofunktionen können Lautsprecher- und/oder Kopfhörerausgabe sowie Mikrofoneingabe umfassen. Vorrichtungen für solche Funktionen können in die Rechenvorrichtung 500 integriert sein oder mit der Rechenvorrichtung 500 verbunden sein. In einer Ausführungsform interagiert ein Benutzer mit der Rechenvorrichtung 500, indem er Audiobefehle bereitstellt, die durch den Prozessor 510 empfangen und verarbeitet werden.
  • Das Anzeigesubsystem 530 kann Hardwarekomponenten (z. B. Anzeigevorrichtungen) und Softwarekomponenten (z. B. Treiber) beinhalten, die eine visuelle und/oder taktile Anzeige für einen Benutzer bereitstellen, um mit der Rechenvorrichtung 500 zu interagieren. Das Anzeigesubsystem 530 kann eine Anzeigeschnittstelle 532 beinhalten, die ein spezieller Bildschirm oder eine spezielle Hardwarevorrichtung sein kann, der bzw. die verwendet wird, um einem Benutzer eine Anzeige bereitzustellen. In einer Ausführungsform beinhaltet die Anzeigeschnittstelle 532 eine Logik, die von dem Prozessor 510 getrennt ist, um zumindest eine gewisse Verarbeitung in Bezug auf die Anzeige durchzuführen. In manchen Ausführungsformen beinhaltet das Anzeigesubsystem 530 eine Berührungsbildschirm-Vorrichtung (oder eine Touchpadvorrichtung), die einem Benutzer sowohl eine Ausgabe als auch eine Eingabe bereitstellt.
  • Die E/A-Steuerung 540 kann Hardwarevorrichtungen und Softwarekomponenten beinhalten, die sich auf eine Interaktion mit einem Benutzer beziehen. Die E/A-Steuerung 540 kann betreibbar sein, um Hardware zu verwalten, die Teil des Audiosubsystems 520 und/oder des Anzeigesubsystems 530 ist. Zusätzlich dazu kann die E/A-Steuerung 540 ein Verbindungspunkt für zusätzliche Vorrichtungen sein, die mit der Rechenvorrichtung 500 verbunden sind, durch die ein Benutzer mit dem System interagieren könnte. Vorrichtungen, die an die Rechenvorrichtung 500 angeschlossen werden können, können zum Beispiel Mikrofonvorrichtungen, Lautsprecher- oder Stereosysteme, Videosysteme oder andere Anzeigevorrichtungen, Tastatur- oder Keypadvorrichtungen oder andere E/A-Vorrichtungen zur Verwendung mit spezifischen Anwendungen, wie etwa Kartenlesegeräten oder anderen Vorrichtungen, beinhalten.
  • Wie oben erwähnt, kann die E/A-Steuerung 540 mit dem Audiosubsystem 520 und/oder dem Anzeigesubsystem 530 interagieren. Beispielsweise kann eine Eingabe durch ein Mikrofon oder eine andere Audio-Vorrichtung eine Eingabe oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Rechenvorrichtung 500 bereitstellen. Zusätzlich dazu kann eine Audioausgabe anstelle oder zusätzlich zu einer Anzeigeausgabe bereitgestellt werden. Falls das Anzeigesubsystem 530 einen Berührungsbildschirm beinhaltet, kann die Anzeigevorrichtung in einem anderen Beispiel auch als eine Eingabevorrichtung fungieren, die wenigstens teilweise durch die E/A-Steuerung 540 verwaltet werden kann. Es können auch zusätzliche Tasten oder Schalter auf der Rechenvorrichtung 500 vorhanden sein, um E/A-Funktionen bereitzustellen, die durch die E/A-Steuerung 540 verwaltet werden.
  • In manchen Ausführungsformen verwaltet die E/A-Steuerung 540 Vorrichtungen, wie etwa Beschleunigungsmesser, Kameras, Lichtsensoren oder andere Umgebungssensoren oder andere Hardware, die in der Rechenvorrichtung 500 enthalten sein kann. Die Eingabe kann Teil einer direkten Benutzerinteraktion sein und kann eine Umgebungseingabe an das System liefern, um seine Operationen zu beeinflussen (wie etwa Filtern auf Rauschen, Anpassen von Anzeigen zur Helligkeitsdetektion, Anwenden eines Blitzes für eine Kamera oder andere Merkmale).
  • Die Leistungsverwaltungskomponente 550 kann Hardwarekomponenten (z. B. Leistungsverwaltungsvorrichtungen und/oder -schaltungsanordnungen) und Softwarekomponenten (z. B. Treiber und/oder Firmware) beinhalten, die mit dem Verwalten des Batterieleistungsverbrauchs, Batterieladens und Merkmalen in Bezug auf Leistungssparbetrieb assoziiert sind.
  • Das Speichersubsystem 560 kann eine oder mehrere Speichervorrichtungen zum Speichern von Informationen in der Rechenvorrichtung 500 beinhalten. Das Speichersubsystem 560 kann nichtflüchtige Speichervorrichtungen (deren Zustand sich nicht ändert, wenn die Stromversorgung der Speichervorrichtung unterbrochen wird) und/oder flüchtige Speichervorrichtungen (deren Zustand unbestimmt ist, wenn die Stromversorgung der Speichervorrichtung unterbrochen wird) beinhalten. Das Speichersubsystem 560 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten sowie Systemdaten (egal, ob langfristig oder temporär) in Bezug auf die Ausführung der Anwendungen und Funktionen der Rechenvorrichtung 500 speichern.
  • Ein Teil des Speichersubsystems 560 kann auch als ein nichttransitorisches maschinenlesbares Medium zum Speichern der computerausführbaren Anweisungen (z. B. Anweisungen zum Implementieren beliebiger anderer hierin besprochener Prozesse) bereitgestellt sein. Das maschinenlesbare Medium kann unter anderem Flash-Speicher, optische Platten, CD-ROMs, DVD-ROMS, RAMs, EPROMs, EEPROMs, magnetische oder optische Karten, Phasenwechselspeicher (PCM) oder andere Arten von maschinenlesbaren Medien beinhalten, die zum Speichern elektronischer oder computerausführbarer Anweisungen geeignet sind. Zum Beispiel können manche Ausführungsformen der Offenbarung als ein Computerprogramm (z. B. BIOS) heruntergeladen werden, das von einem entfernten Computer (z. B. einem Server) zu einem anfordernden Computer (z. B. einem Client) mittels Datensignalen über eine Kommunikationsverbindung (z. B. einem Modem oder einer Netzwerkverbindung) übertragen werden kann.
  • Die Konnektivitätskomponente 570 kann eine Netzwerkschnittstelle, wie etwa eine Mobilfunkschnittstelle 572 oder eine drahtlose Schnittstelle 574, beinhalten (sodass eine Ausführungsform der Rechenvorrichtung 500 in eine drahtlose Vorrichtung, wie etwa ein Mobiltelefon oder einen Organizer, integriert sein kann). In manchen Ausführungsformen beinhaltet die Konnektivitätskomponente 570 Hardwarevorrichtungen (z. B. drahtlose und/oder drahtgebundene Verbinder und Kommunikationshardware) und Softwarekomponenten (z. B. Treiber und/oder Protokollstapel), um der Rechenvorrichtung 500 zu ermöglichen, mit externen Vorrichtungen zu kommunizieren. Die Rechenvorrichtung 500 könnte separate Vorrichtungen beinhalten, wie etwa andere Rechenvorrichtungen, drahtlose Zugangspunkte oder Basisstationen, sowie Peripheriegeräte, wie etwa Hörsprechgarnituren, Drucker oder andere Vorrichtungen.
  • In manchen Ausführungsformen kann die Konnektivitätskomponente 570 mehrere verschiedene Arten von Netzwerkschnittstellen beinhalten, wie etwa eine oder mehrere Drahtlosschnittstellen, um dem Prozessor 510 zu ermöglichen, mit einer anderen Vorrichtung zu kommunizieren. Zur Verallgemeinerung ist die Rechenvorrichtung 500 mit der Mobilfunkschnittstelle 572 und der Drahtlosschnittstelle 574 veranschaulicht. Die Mobilfunkschnittstelle 572 bezieht sich allgemein auf drahtlose Schnittstellen zu Mobilfunknetzwerken, die durch Mobilfunknetzträger bereitgestellt werden, wie etwa über GSM oder Variationen oder Ableitungen, CDMA (Code Division Multiple Access) oder Variationen oder Ableitungen, TDM (Zeitmultiplexing) oder Variationen oder Ableitungen, oder andere Mobilfunkdienststandards bereitgestellt werden. Die Drahtlosschnittstelle 574 bezieht sich allgemein auf Nichtmobilfunk-Drahtlosschnittstellen und kann persönliche Netzwerke (wie etwa Bluetooth, Nahfeld usw.), lokale Netzwerke (wie etwa Wi-Fi) und/oder Weitbereichsnetzwerke (wie etwa WiMax) oder eine andere Drahtloskommunikation beinhalten.
  • Peripherieverbindungen 580 können Hardwareschnittstellen und Verbinder sowie Softwarekomponenten (z. B. Treiber und/oder Protokollstapel) zum Herstellen von Peripherieverbindungen beinhalten. Es versteht sich, dass die Rechenvorrichtung 500 sowohl eine Peripherievorrichtung zu anderen Rechenvorrichtungen sein könnte (über „zu“ 582) als auch Peripherievorrichtungen daran angeschlossen aufweisen könnte (über „von“ 584). Die Rechenvorrichtung 500 kann einen „Docking“-Verbinder aufweisen, um mit anderen Rechenvorrichtungen zu Zwecken, wie etwa zum Verwalten von Inhalten auf der Rechenvorrichtung 500 (z. B. Herunterladen und/oder Hochladen, Ändern, Synchronisieren), verbunden zu werden. Zusätzlich dazu kann ein Docking-Verbinder ermöglichen, dass die Rechenvorrichtung 500 mit gewissen Peripheriegeräten verbunden wird, die ermöglichen, dass die Rechenvorrichtung 500 eine Inhaltsausgabe steuert, zum Beispiel an audiovisuelle oder andere Systeme.
  • Zusätzlich zu einem proprietären Docking-Verbinder oder einer anderen proprietären Verbindungshardware kann die Rechenvorrichtung 500 Peripherieverbindungen 580 über gemeinsame oder standardbasierte Verbinder herstellen. Gängige Typen von Verbindern können einen Universal-Serial-Bus(USB)-Verbinder (der eine beliebige einer Anzahl verschiedener Hardwareschnittstellen beinhalten kann), einen DisplayPort- oder MiniDisplayPort(MDP)-Verbinder, einen High-Definition-Multimedia-Interface(HDMI)-Verbinder, einen Firewire-Verbinder oder andere Typen von Verbindern beinhalten.
  • In der Beschreibung bedeutet ein Bezug auf „eine Ausführungsform“, „eine einzelne Ausführungsform“, „einige Ausführungsformen“ oder „andere Ausführungsformen“, dass ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Eigenschaft, das bzw. die in Verbindung mit den Ausführungsformen beschrieben wird, in zumindest einigen Ausführungsformen, aber nicht zwangsweise allen Ausführungsformen enthalten ist. Die verschiedenen Vorkommnisse von „einer Ausführungsform“, „einer einzelnen Ausführungsform“ oder „einigen Ausführungsformen“ beziehen sich nicht immer notwendigerweise auf dieselben Ausführungsformen. Falls die Beschreibung angibt, dass eine Komponente, ein Merkmal, eine Struktur oder eine Eigenschaft enthalten sein „kann“ oder „könnte“, muss die spezielle Komponente, das spezielle Merkmal, die spezielle Struktur oder die spezielle Eigenschaft nicht notwendigerweise enthalten sein. Falls sich die Beschreibung oder der Anspruch auf „ein“ Element bezieht, bedeutet dies nicht, dass nur eines der Elemente vorhanden ist. Falls sich die Beschreibung oder der Anspruch auf „ein zusätzliches“ Element bezieht, schließt dies nicht aus, dass es mehr als eines des zusätzlichen Elements gibt.
  • Darüber hinaus können die speziellen Merkmale, Strukturen, Funktionen oder Eigenschaften in einer oder mehreren Ausführungsformen auf eine beliebige geeignete Weise kombiniert werden. Eine erste Ausführungsform kann zum Beispiel überall dort mit einer zweiten Ausführungsform kombiniert werden, wo sich die mit den beiden Ausführungsformen assoziierten speziellen Merkmale, Strukturen, Funktionen oder Eigenschaften nicht gegenseitig ausschließen.
  • Obwohl die Offenbarung in Verbindung mit spezifischen Ausführungsformen davon beschrieben wurde, sind für Fachleute angesichts der vorangegangenen Beschreibung viele Alternativen, Modifikationen und Variationen derartiger Ausführungsformen ersichtlich. Andere Speicherarchitekturen, z. B. dynamischer RAM (DRAM), können zum Beispiel die besprochenen Ausführungsformen verwenden. Die Ausführungsformen der Offenbarung sollen alle derartigen Alternativen, Modifikationen und Variationen, die in den breiten Schutzumfang der beigefügten Ansprüche fallen, einschließen.
  • Zusätzlich dazu können wohlbekannte Leistungs-/Masseverbindungen zu integrierten Schaltkreis(IC)-Chips und anderen Komponenten in den dargelegten Figuren dargestellt sein oder auch nicht, um die Darstellung und die Erörterung zu vereinfachen und die Offenbarung nicht zu verschleiern. Des Weiteren können Anordnungen in Blockdiagrammform gezeigt sein, um zu vermeiden, dass die Offenbarung unklar wird, und auch angesichts dessen, dass Spezifika hinsichtlich der Implementierung derartiger Blockdiagrammanordnungen in hohem Maße von der Plattform abhängen, innerhalb derer die vorliegende Offenbarung implementiert werden soll (d. h., derartige Spezifika sollten im Kenntnisbereich von Fachleuten liegen). Dort, wo spezifische Details (z. B. Schaltkreise) dargelegt sind, um Ausführungsbeispiele der Offenbarung zu beschreiben, sollte es für Fachleute ersichtlich sein, dass die Offenbarung ohne diese spezifischen Details oder mit einer Variation davon umgesetzt werden kann. Die Beschreibung ist somit als veranschaulichend statt als beschränkend aufzufassen.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen. Einzelheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden. Alle optionalen Merkmale der hierin beschriebenen Einrichtung können auch hinsichtlich eines Verfahrens oder Prozesses implementiert werden.
  • Beispiel 1 stellt eine Einrichtung bereit, umfassend: eine erste Schaltungsanordnung mit einer Vielzahl von Speicherregistern; eine zweite Schaltungsanordnung zum Einrichten von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern, die zu einem oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge genommen wurden; und eine dritte Schaltungsanordnung zum Vergleichen der Werte einer Vielzahl Merkmalen mit Werten einer Vielzahl gelernter Parameter für eine Referenzarbeitslast.
  • In Beispiel 2, die Einrichtung von Beispiel 1, wobei die Vielzahl von Speicherregistern einen oder mehrere Zähler beinhalten.
  • In Beispiel 3, die Einrichtung von Beispiel 1, wobei wenigstens einige der Speicherregister wenigstens einem von Folgendem entsprechen: einem Leistungswert; einem Frequenzwert; einem Lastwert; einem Residenzwert; einem Rahmen-pro-Sekunde-Wert; oder einem Speicherzugriffswert.
  • In Beispiel 4, die Einrichtung von Beispiel 1, wobei das eine oder die mehreren Male um eine vorbestimmte Zeitdauer voneinander beabstandet sind.
  • In Beispiel 5, die Einrichtung von Beispiel 1, wobei die Vielzahl von Merkmalen eine verknüpfte Gruppe der Abtastwerte ist, die zu dem einen oder den mehreren Zeitpunkten genommen wurden.
  • In Beispiel 6, die Einrichtung von Beispiel 1, wobei die Referenzarbeitslast eine von einer Arbeitslast mit hoher Prozessorlast, einer Arbeitslast mit niedriger Prozessorlast, einer Videowiedergabearbeitslast und einer Videorenderarbeitslast ist.
  • In Beispiel 7, die Einrichtung von Beispiel 1, wobei die Anzahl von Merkmalen der Vielzahl von Merkmalen im Wesentlichen die gleiche wie die Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern ist.
  • In Beispiel 8, die Einrichtung von Beispiel 1, wobei der Vergleich mindestens eine Matrixmathematikoperation beinhaltet.
  • In Beispiel 9 umfasst die Einrichtung von Beispiel 1: eine vierte Schaltungsanordnung zum Auslösen einer oder mehrerer Handlungen basierend auf dem Ergebnis des Vergleichs.
  • In Beispiel 10, die Einrichtung von Beispiel 9, wobei die eine oder die mehreren Handlungen mindestens eines von Folgendem beinhalten: Auswählen einer Frequenz; oder Festlegen einer Leistungsgrenze.
  • In Beispiel 11, die Einrichtung von Beispiel 1, wobei die Vielzahl von gelernten Parametern für die Referenzarbeitslast eine erste Vielzahl von gelernten Parametern für die erste Referenzarbeitslast ist; und wobei die dritte Schaltungsanordnung zum Vergleichen der Vielzahl von Merkmalen mit einer zweiten Vielzahl von gelernten Parametern für eine zweite Referenzarbeitslast ausgelegt ist.
  • Beispiel 12 stellt eine Einrichtung bereit, umfassend: eine erste Schaltungsanordnung mit einer Vielzahl von Speicherregistern; eine zweite Schaltungsanordnung zum Einrichten von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern, die zu einem oder mehreren Zeitpunkten genommen werden, die um eine vorbestimmte Periode beabstandet sind; eine dritte Schaltungsanordnung zum Vergleichen der Werte der Vielzahl von Merkmalen mit Werten einer Vielzahl von gelernten Parametern für eine Referenzarbeitslast, wobei der Vergleich wenigstens eine Matrixmathematikoperation beinhaltet; und eine vierte Schaltungsanordnung zum Auslösen einer oder mehrerer Handlungen basierend auf dem Ergebnis des Vergleichs.
  • In Beispiel 13, die Einrichtung von Beispiel 12, wobei die Vielzahl von gelernten Parametern für die Referenzarbeitslast eine erste Vielzahl von gelernten Parametern für die erste Referenzarbeitslast ist; und wobei die dritte Schaltungsanordnung zum Vergleichen der Werte der Vielzahl von Merkmalen mit einer zweiten Vielzahl von gelernten Parametern für eine zweite Referenzarbeitslast ausgelegt ist.
  • In Beispiel 14, die Einrichtung von Beispiel 12, wobei die Anzahl von Merkmalen der Vielzahl von Merkmalen im Wesentlichen die gleiche wie die Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern ist.
  • In Beispiel 15, die Einrichtung von Beispiel 12, wobei die Referenzarbeitslast eine von einer Arbeitslast mit hoher Prozessorlast, einer Arbeitslast mit niedriger Prozessorlast, einer Videowiedergabearbeitslast und einer Videorenderarbeitslast ist.
  • In Beispiel 16, die Einrichtung von Beispiel 15, wobei die eine oder die mehreren Handlungen mindestens eines von Folgendem beinhalten: Auswählen einer Frequenz; oder Festlegen einer Leistungsgrenze.
  • Beispiel 17 stellt ein System bereit, das einen Speicher, einen Prozessor, der mit dem Speicher gekoppelt ist, und eine drahtlose Schnittstelle umfasst, um dem Prozessor zu ermöglichen, mit einer anderen Vorrichtung zu kommunizieren, wobei der Prozessor beinhaltet: eine erste Schaltungsanordnung mit einer Vielzahl von Speicherregistern; eine zweite Schaltungsanordnung zum Einrichten von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern, die zu einem oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge genommen wurden; und eine dritte Schaltungsanordnung zum Vergleichen der Werte der Vielzahl von Merkmalen mit einer ersten Vielzahl von gelernten Parametern für eine erste Referenzarbeitslast und zum Vergleichen der Werte der Vielzahl von Merkmalen mit einer zweiten Vielzahl von gelernten Parametern für eine zweite Referenzarbeitslast.
  • In Beispiel 18, das System von Beispiel 17, wobei die Vielzahl von Speicherregistern einen oder mehrere Zähler beinhaltet; und wobei wenigstens einige der Speicherregister wenigstens einem von Folgendem entsprechen: einem Leistungswert; einem Frequenzwert; einem Lastwert; einem Residenzwert; einem Rahmen-pro-Sekunde-Wert; oder einem Speicherzugriffswert.
  • In Beispiel 19, das System von Beispiel 17, wobei die Anzahl von Merkmalen der Vielzahl von Merkmalen im Wesentlichen die gleiche wie die Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern ist; und wobei der Vergleich mindestens eine Matrixmathematikoperation beinhaltet.
  • In Beispiel 20, das System von Beispiel 17, umfassend: eine vierte Schaltungsanordnung zum Auslösen einer oder mehrerer Handlungen basierend auf dem Ergebnis des Vergleichs, wobei die eine oder die mehreren Handlungen mindestens eines von Folgendem beinhalten: Auswählen einer Frequenz; oder Festlegen einer Leistungsgrenze.
  • Beispiel 21 stellt ein Verfahren bereit, umfassend: Speichern von Werten in einer Vielzahl von Speicherregistern; Abtasten von Werten der Vielzahl von Speicherregistern zu einem oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge, um Werte für eine Vielzahl von Merkmalen festzulegen; und Vergleichen der Werte der Vielzahl von Merkmalen mit einer Vielzahl von gelernten Parametern für eine Referenzarbeitslast.
  • In Beispiel 22, das Verfahren von Beispiel 21, umfassend: Auslösen einer oder mehrerer Handlungen basierend auf dem Ergebnis des Vergleichs, wobei die eine oder die mehreren Handlungen mindestens eines von Folgendem beinhalten: Auswählen einer Frequenz; oder Festlegen einer Leistungsgrenze.
  • In Beispiel 23, das Verfahren von Beispiel 21, wobei wenigstens einige der Speicherregister wenigstens einem von Folgendem entsprechen: einem Leistungswert; einem Frequenzwert; einem Lastwert; einem Residenzwert; einem Rahmen-pro-Sekunde-Wert; oder einem Speicherzugriffswert; und wobei die Referenzarbeitslast eine von einer Arbeitslast mit hoher Prozessorlast, einer Arbeitslast mit niedriger Prozessorlast, einer Videowiedergabearbeitslast und einer Videorenderarbeitslast ist.
  • In Beispiel 24, das Verfahren von Beispiel 21, wobei die Anzahl von Merkmalen der Vielzahl von Merkmalen im Wesentlichen die gleiche wie die Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern ist; und wobei der Vergleich mindestens eine Matrixmathematikoperation beinhaltet.
  • Eine Zusammenfassung wird bereitgestellt, die es dem Leser ermöglichen wird, die Art und die Quintessenz der technischen Offenbarung festzustellen. Die Zusammenfassung wird mit dem Verständnis vorgelegt, dass sie nicht dazu verwendet wird, den Schutzumfang oder die Bedeutung der Ansprüche einzuschränken. Die folgenden Ansprüche werden hiermit in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch eigenständig als eine separate Ausführungsform steht.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16/369643 [0001]

Claims (25)

  1. Einrichtung, umfassend: eine erste Schaltungsanordnung mit einer Vielzahl von Speicherregistern; eine zweite Schaltungsanordnung zum Einrichten von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern, die zu einem oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge genommen wurden; und eine dritte Schaltungsanordnung zum Vergleichen der Werte einer Vielzahl Merkmalen mit Werten einer Vielzahl gelernter Parameter für eine Referenzarbeitslast.
  2. Einrichtung nach Anspruch 1, wobei die Vielzahl von Speicherregistern einen oder mehrere Zähler beinhaltet.
  3. Einrichtung nach Anspruch 1, wobei wenigstens einige der Speicherregister wenigstens einem von Folgendem entsprechen: einem Leistungswert; einem Frequenzwert; einem Lastwert; einem Residenzwert; einem Rahmen-pro-Sekunde-Wert; oder einem Speicherzugriffswert.
  4. Einrichtung nach Anspruch 1, wobei das eine oder die mehreren Male um eine vorbestimmte Zeitdauer voneinander beabstandet sind.
  5. Einrichtung nach Anspruch 1, wobei die Vielzahl von Merkmalen eine verknüpfte Gruppe der Abtastwerte ist, die zu dem einen oder den mehreren Zeitpunkten genommen wurden.
  6. Einrichtung nach Anspruch 1, wobei die Referenzarbeitslast eine von einer Arbeitslast mit hoher Prozessorlast, einer Arbeitslast mit niedriger Prozessorlast, einer Videowiedergabearbeitslast und einer Videorenderarbeitslast ist.
  7. Einrichtung nach Anspruch 1, wobei die Anzahl von Merkmalen der Vielzahl von Merkmalen im Wesentlichen die gleiche wie die Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern ist.
  8. Einrichtung nach Anspruch 1, wobei der Vergleich mindestens eine Matrixmathematikoperation beinhaltet.
  9. Einrichtung nach einem der Ansprüche 1 bis 8, umfassend: eine vierte Schaltungsanordnung zum Auslösen einer oder mehrerer Handlungen basierend auf dem Ergebnis des Vergleichs.
  10. Einrichtung nach Anspruch 9, wobei die eine oder die mehreren Handlungen mindestens eines von Folgendem beinhalten: Auswählen einer Frequenz; oder Festlegen einer Leistungsgrenze.
  11. Einrichtung nach Anspruch 1, wobei die Vielzahl von gelernten Parametern für die Referenzarbeitslast eine erste Vielzahl von gelernten Parametern für die erste Referenzarbeitslast ist; und wobei die dritte Schaltungsanordnung zum Vergleichen der Vielzahl von Merkmalen mit einer zweiten Vielzahl von gelernten Parametern für eine zweite Referenzarbeitslast ausgelegt ist.
  12. Einrichtung, umfassend: eine erste Schaltungsanordnung mit einer Vielzahl von Speicherregistern; eine zweite Schaltungsanordnung zum Einrichten von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern, die zu einem oder mehreren Zeitpunkten genommen werden, die um eine vorbestimmte Periode beabstandet sind; eine dritte Schaltungsanordnung zum Vergleichen der Werte der Vielzahl von Merkmalen mit Werten einer Vielzahl von gelernten Parametern für eine Referenzarbeitslast, wobei der Vergleich wenigstens eine Matrixmathematikoperation beinhaltet; und eine vierte Schaltungsanordnung zum Auslösen einer oder mehrerer Handlungen basierend auf dem Ergebnis des Vergleichs.
  13. Einrichtung nach Anspruch 12, wobei die Vielzahl von gelernten Parametern für die Referenzarbeitslast eine erste Vielzahl von gelernten Parametern für die erste Referenzarbeitslast ist; und wobei die dritte Schaltungsanordnung zum Vergleichen der Werte der Vielzahl von Merkmalen mit einer zweiten Vielzahl von gelernten Parametern für eine zweite Referenzarbeitslast ausgelegt ist.
  14. Einrichtung nach Anspruch 12, wobei die Anzahl von Merkmalen der Vielzahl von Merkmalen im Wesentlichen die gleiche wie die Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern ist.
  15. Einrichtung nach einem der Ansprüche 12 bis 14, wobei die Referenzarbeitslast eine von einer Arbeitslast mit hoher Prozessorlast, einer Arbeitslast mit niedriger Prozessorlast, einer Videowiedergabearbeitslast und einer Videorenderarbeitslast ist.
  16. Einrichtung nach Anspruch 15, wobei die eine oder die mehreren Handlungen mindestens eines von Folgendem beinhalten: Auswählen einer Frequenz; oder Festlegen einer Leistungsgrenze.
  17. System, umfassend einen Speicher, einen Prozessor, der mit dem Speicher gekoppelt ist, und eine drahtlose Schnittstelle, um dem Prozessor zu ermöglichen, mit einer anderen Vorrichtung zu kommunizieren, wobei der Prozessor beinhaltet: eine erste Schaltungsanordnung mit einer Vielzahl von Speicherregistern; eine zweite Schaltungsanordnung zum Einrichten von Werten für eine Vielzahl von Merkmalen basierend auf Abtastwerten der Vielzahl von Speicherregistern, die zu einem oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge genommen wurden; und eine dritte Schaltungsanordnung zum Vergleichen der Werte der Vielzahl von Merkmalen mit einer ersten Vielzahl von gelernten Parametern für eine erste Referenzarbeitslast und zum Vergleichen der Werte der Vielzahl von Merkmalen mit einer zweiten Vielzahl von gelernten Parametern für eine zweite Referenzarbeitslast.
  18. System nach Anspruch 17, wobei die Vielzahl von Speicherregistern einen oder mehrere Zähler beinhaltet; und wobei wenigstens einige der Speicherregister wenigstens einem von Folgendem entsprechen: einem Leistungswert; einem Frequenzwert; einem Lastwert; einem Residenzwert; einem Rahmen-pro-Sekunde-Wert; oder einem Speicherzugriffswert.
  19. System nach Anspruch 17, wobei die Anzahl von Merkmalen der Vielzahl von Merkmalen im Wesentlichen gleich der Anzahl von gelernten Parametern der Vielzahl von gelernten Parametern ist; und wobei der Vergleich mindestens eine Matrixmathematikoperation beinhaltet.
  20. System nach einem der Ansprüche 17 bis 20, umfassend: eine vierte Schaltungsanordnung zum Auslösen einer oder mehrerer Handlungen basierend auf dem Ergebnis des Vergleichs, wobei die eine oder die mehreren Handlungen mindestens eines von Folgendem beinhalten: Auswählen einer Frequenz; oder Festlegen einer Leistungsgrenze.
  21. Verfahren, umfassend: Festlegen von Werten für eine Vielzahl von Merkmalen basierend auf Abtastungen von Werten einer Vielzahl von Speicherregistern, die zu einer oder mehreren Zeitpunkten innerhalb eines Zeitbereichs vorbestimmter Länge genommen wurden; und eine dritte Schaltungsanordnung zum Vergleichen der Werte einer Vielzahl Merkmalen mit Werten einer Vielzahl gelernter Parameter für eine Referenzarbeitslast.
  22. Verfahren nach Anspruch 21, wobei die Vielzahl von Speicherregistern einen oder mehrere Zähler beinhaltet.
  23. Verfahren nach Anspruch 21, wobei wenigstens einige der Speicherregister wenigstens einem von Folgendem entsprechen: einem Leistungswert; einem Frequenzwert; einem Lastwert; einem Residenzwert; einem Rahmen-pro-Sekunde-Wert; oder einem Speicherzugriffswert.
  24. Verfahren nach Anspruch 21, wobei das eine oder die mehreren Male um eine vorbestimmte Zeitdauer voneinander beabstandet sind.
  25. Verfahren nach Anspruch 21, wobei die Vielzahl von Merkmalen eine verknüpfte Gruppe der Abtastwerte ist, die zu dem einen oder den mehreren Zeitpunkten genommen wurden.
DE112020000976.9T 2019-03-29 2020-02-07 Detektion bekannter arbeitslastmuster Pending DE112020000976T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/369,643 US11036275B2 (en) 2019-03-29 2019-03-29 Detection of known workload patterns
US16/369,643 2019-03-29
PCT/US2020/017277 WO2020205058A1 (en) 2019-03-29 2020-02-07 Detection of known workload patterns

Publications (1)

Publication Number Publication Date
DE112020000976T5 true DE112020000976T5 (de) 2021-12-09

Family

ID=72607810

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000976.9T Pending DE112020000976T5 (de) 2019-03-29 2020-02-07 Detektion bekannter arbeitslastmuster

Country Status (5)

Country Link
US (2) US11036275B2 (de)
KR (1) KR20210134320A (de)
CN (1) CN113544625A (de)
DE (1) DE112020000976T5 (de)
WO (1) WO2020205058A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11782755B2 (en) * 2019-12-02 2023-10-10 Intel Corporation Methods, systems, articles of manufacture, and apparatus to optimize thread scheduling
US11340673B1 (en) * 2020-04-30 2022-05-24 Marvell Asia Pte Ltd System and method to manage power throttling
US11635739B1 (en) 2020-04-30 2023-04-25 Marvell Asia Pte Ltd System and method to manage power to a desired power profile

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950887B2 (en) * 2001-05-04 2005-09-27 Intel Corporation Method and apparatus for gathering queue performance data
US7725573B2 (en) * 2005-11-29 2010-05-25 Intel Corporation Methods and apparatus for supporting agile run-time network systems via identification and execution of most efficient application code in view of changing network traffic conditions
US7730340B2 (en) * 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
WO2009106540A1 (en) 2008-02-25 2009-09-03 Nxp B.V. Data processing device with adjustable performance level and method of operating such device
JP5259877B2 (ja) * 2009-03-30 2013-08-07 クアルコム,インコーポレイテッド 適応電圧スケーラ(avs)、電圧レベルをスケーリングする方法、回路、及び、コンピュータ可読媒体
US8321362B2 (en) * 2009-12-22 2012-11-27 Intel Corporation Methods and apparatus to dynamically optimize platforms
US8352759B2 (en) 2010-01-11 2013-01-08 Qualcomm Incorporated System and method of monitoring a central processing unit in real time
KR101740338B1 (ko) * 2010-10-20 2017-05-26 삼성전자주식회사 디지털 시스템에서 동적 클럭 제어 장치 및 방법
US20130185729A1 (en) * 2012-01-13 2013-07-18 Rutgers, The State University Of New Jersey Accelerating resource allocation in virtualized environments using workload classes and/or workload signatures
US9298651B2 (en) * 2013-06-24 2016-03-29 International Business Machines Corporation Continuous in-memory accumulation of hardware performance counter data
US20150148981A1 (en) * 2013-11-24 2015-05-28 Qualcomm Incorporated System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
US20150220097A1 (en) * 2014-02-04 2015-08-06 Qualcomm Incorporated System and method for just-in-time learning-based predictive thermal mitigation in a portable computing device
US9436263B2 (en) * 2014-02-21 2016-09-06 Qualcomm Incorporated Systems and methods for power optimization using throughput feedback
CA2947158A1 (en) * 2014-05-01 2015-11-05 Coho Data, Inc. Systems, devices and methods for generating locality-indicative data representations of data streams, and compressions thereof
US9727459B2 (en) 2014-08-22 2017-08-08 Seagate Technology Llc Non-volatile, solid-state memory configured to perform logical combination of two or more blocks sharing series-connected bit lines
US10234930B2 (en) * 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
EP3089034B1 (de) * 2015-04-29 2019-06-12 Tata Consultancy Services Limited System und verfahren zur optimierung des energieverbrauchs von prozessoren
WO2017096338A1 (en) * 2015-12-04 2017-06-08 Cornell University Execution time prediction for energy-efficient computer systems
US10146286B2 (en) * 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
US10013286B2 (en) 2016-02-24 2018-07-03 Prophetstor Data Services, Inc. Method for deploying storage system resources with learning of workloads applied thereto
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
CN107871166B (zh) * 2016-09-27 2020-08-21 第四范式(北京)技术有限公司 针对机器学习的特征处理方法及特征处理系统
KR102661491B1 (ko) * 2016-12-26 2024-04-29 삼성전자주식회사 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법
US11157802B2 (en) * 2017-06-02 2021-10-26 Wipro Limited Neural chip and a method of optimizing operation of the neural chip
US11222282B2 (en) * 2018-09-21 2022-01-11 International Business Machines Corporation Sourcing a new machine-learning project by reusing artifacts from reference machine learning projects
US20200233724A1 (en) * 2019-01-17 2020-07-23 NEC Laboratories Europe GmbH Workload placement in a cluster computing environment using machine learning
US11029972B2 (en) * 2019-02-01 2021-06-08 Dell Products, Lp Method and system for profile learning window optimization
US11245638B2 (en) * 2019-02-15 2022-02-08 International Business Machines Corporation Joint control of communication and computation resources of a computerized system

Also Published As

Publication number Publication date
US11687142B2 (en) 2023-06-27
KR20210134320A (ko) 2021-11-09
US20210311538A1 (en) 2021-10-07
WO2020205058A1 (en) 2020-10-08
CN113544625A (zh) 2021-10-22
US20200310510A1 (en) 2020-10-01
US11036275B2 (en) 2021-06-15

Similar Documents

Publication Publication Date Title
DE112020000976T5 (de) Detektion bekannter arbeitslastmuster
DE112019002524T5 (de) Drosseln von komponenten über prioritätenreihenfolgen
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE102016118210A1 (de) Granulare Dienstqualität für Computer-Ressourcen
DE102021124514A1 (de) Vorrichtung und verfahren für hierarchische leistungsverwaltung
DE102018006894A1 (de) Technologien zum Auslagern von Beschleunigungsaufgaben-Ablaufplanungsoperationen an Beschleunigerschlitten
DE102011102238A1 (de) Speicherenergiemanagement über dynamische Speicherbetriebszustände
DE112011106009T5 (de) Getrennte Mikrokanal-Spannungsdomänen in Stapelspeicherarchitektur
DE112012007140T5 (de) SRAM-Bitleitungs- und Schreibunterstützungsgerät und Verfahren zum Verringern der dynamischen Leistung und des Spitzenstroms und Pegelumsetzer mit dualem Eingang
DE112013007290T5 (de) Mit digitalem Leistungsgatter-Treiber integrierter Low-Dropout-Spannungsregler
DE102012219907A1 (de) Erhöhen der Speicherkapazität in Systemen mit eingeschränkter elektischer Leistungsaufnahme
DE102021126686A1 (de) Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme
DE112019002319T5 (de) Niederleistungstakt-gate-schaltung
DE202014010940U1 (de) Dynamische Shuffle-Rekonfiguration
DE102022100430A1 (de) Elektronische Geräte mit Ladeschaltungen für mehrere Energiespeichereinrichtungen und entsprechende Verfahren
DE102015102689A1 (de) Steuern von Flankensteilheiten eines Prozessors auf der Basis eines Batterieladezustands
DE102022203266A1 (de) Verfahren und einrichtungen zum automatischen aktualisieren von künstliche-intelligenz-modellen für autonome fabriken
DE112020003722T5 (de) Digital-linearer hybrid-schaltkondensator-spannungsregler
DE112021005586T5 (de) Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene
DE102020130910A1 (de) System, vorrichtung und verfahren für dynamische energiezustandsskalierung eines spannungsreglers für einen prozessor
DE102021128527A1 (de) Vorrichtung, verfahren und system zur programmierung einer leistungsversorgung zur erleichterung von dynamischer leistungsabstimmung
DE112012006070T5 (de) Speichergerät, das auf Gerätebefehle zur Betriebssteuerung reagiert
DE102013114252A1 (de) Systeme und Verfahren zur effizienten Spannungserfassung
DE102021121216A1 (de) Einrichtung und Verfahren zum Steuern eines Prozessorspitzensttroms
DE112019002321T5 (de) Vollständig digitaler spannungsgenerator mit geschlossenem regelkreis