-
GEBIET DER OFFENBARUNG
-
Diese Offenbarung betrifft allgemein Rechenvorrichtungen und genauer Verfahren und eine Einrichtung zum Verbessern einer Rechenvorrichtungsleistungsverwaltung.
-
HINTERGRUND
-
Rechenvorrichtungen können beim Ausführen rechenintensiver Aufgaben verhältnismäßig große Mengen an Energie verbrauchen. Leistungsverwaltungswerkzeuge können solchen Rechenvorrichtungen bereitgestellt werden, um den Energieaufwand zu verwalten und/oder die Akkulaufzeit zu verlängern. Solche Leistungsverwaltungswerkzeuge können die Akkulaufzeit auf Kosten der Systemleistung verlängern.
-
Figurenliste
-
- 1 ist eine schematische Darstellung eines beispielhaften Rechensystems, einschließlich einer beispielhaften Leistungsrichtliniensteuerung zum Unterstützen der Leistungsverwaltung des Rechensystems.
- 2 ist ein Blockdiagramm einer beispielhaften Implementierung der beispielhaften Leistungsrichtliniensteuerung von 1, einschließlich eines beispielhaften Richtlinieneinstellers.
- 3 ist ein Blockdiagramm einer beispielhaften Implementierung des beispielhaften Richtlinieneinstellers von 2.
- 4 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung von 1 und/oder 2 zu implementieren, um das beispielhafte Rechensystem von 1 anzuweisen, eine beispielhafte Leistungsrichtlinie basierend auf (einer) beispielhaften Leistungsrichtlinieneinstellung(en) einzustellen.
- 5 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung von 1 und/oder 2 zu implementieren, um beispielhafte Telemetrieparameter basierend auf beispielhaften Telemetriedaten zu bestimmen, die von (einer) beispielhaften Ressource(n) des beispielhaften Rechensystems von 1 erhalten werden.
- 6 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung von 1 und/oder 2 zu implementieren, um (eine) beispielhafte Leistungsrichtlinieneinstellung(en) basierend auf (einer) beispielhaften Ausgabe(n) von einem oder mehreren beispielhaften Modellen zu bestimmen.
- 7 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung von 1 und/oder 2 zu implementieren, um das beispielhafte Rechensystem von 1 anzuweisen, eine beispielhafte Leistungsrichtlinie einzustellen.
- 8 ist ein Blockdiagramm einer beispielhaften Verarbeitungsplattform, die strukturiert ist, um die beispielhaften maschinenlesbaren Anweisungen von 4-7 auszuführen, um die beispielhafte Leistungsrichtliniensteuerung von 1 und/oder 2 zu implementieren.
- 9 ist ein Blockdiagramm einer beispielhaften Softwareverteilungsplattform zum Verteilen von Software (z. B. Software entsprechend den beispielhaften computerlesbaren Anweisungen von 4-7) an Client-Vorrichtungen, wie Verbraucher (z. B. für Lizenz, Verkauf und/oder Verwendung), Einzelhändler (z. B. für Verkauf, Weiterverkauf, Lizenz und/oder Unterlizenz) und/oder Originalausrüstungshersteller (OEMs) (z. B. zur Aufnahme in Produkte, die zum Beispiel an Einzelhändler und/oder an Direktkäufer verteilt werden sollen).
-
DETAILLIERTE BESCHREIBUNG
-
Die Figuren sind nicht maßstabsgetreu. Im Allgemeinen werden die gleichen Bezugszeichen über die Zeichnung(en) und die begleitende schriftliche Beschreibung hinweg verwendet, um auf die gleichen oder ähnliche Teile Bezug zu nehmen.
-
Sofern nicht spezifisch etwas anderes angegeben ist, werden Deskriptoren, wie „erste/r/s“ „zweite/r/s“, „dritte/r/s“ usw., hierin verwendet, ohne in irgendeiner Weise eine Bedeutung einer Priorität, physischen Reihenfolge, Anordnung in einer Liste und/oder Abfolge beizumessen oder auf andere Weise anzugeben, sondern werden lediglich als Bezeichnungen und/oder beliebige Namen verwendet, um Elemente zur Erleichterung des Verständnisses der offenbarten Beispiele zu unterscheiden. In einigen Beispielen kann der Deskriptor „erste/r/s“ verwendet werden, um auf ein Element in der detaillierten Beschreibung Bezug zu nehmen, während auf das gleiche Element in einem Anspruch mit einem anderen Deskriptor, wie „zweite/r/s“ oder „dritte/r/s“, Bezug genommen wird. In diesen Fällen versteht es sich, dass solche Deskriptoren lediglich zum speziellen Identifizieren dieser Elemente verwendet werden, die zum Beispiel ansonsten einen gleichen Namen teilen können.
-
Rechenvorrichtungen, Systeme usw. können beim Ausführen rechenintensiver Aufgaben verhältnismäßig große Mengen an Energie verbrauchen. Leistungsverwaltungswerkzeuge können auf Rechenvorrichtungen, die energiebeschränkt sind, wie Rechenvorrichtungen, die akkubetrieben sind, bereitgestellt werden. Solche Leistungsverwaltungswerkzeuge können den Energieaufwand verwalten und/oder auf andere Weise die Akkulaufzeit verlängern. Zum Beispiel kann ein Betriebssystem (OS) einer Rechenvorrichtung eine Frequenz einer Beschleunigungsressource, wie einer Grafikverarbeitungseinheit, eine Helligkeit eines Anzeigefelds oder einer Vorrichtung usw. reduzieren, um den Energieverbrauch zu reduzieren. In weiteren Beispielen kann das OS die Frequenz der Beschleunigungsressource, die Helligkeit des Anzeigefelds usw. erhöhen, wenn die Rechenvorrichtung nicht energiebeschränkt ist, wie wenn sie in eine Wechselstromquelle (AC-Quelle) (z. B. eine Wandsteckdose) eingesteckt ist.
-
Mobile Rechensysteme, wie Laptops, internetfähige Tablet-Computer usw., benötigen eine Leistungsrichtlinie (z. B. eine Leistungsverwaltungsrichtlinie) oder ein Leistungsprofil (z. B. ein Leistungsverwaltungsprofil), die/das Leistung und Akkulaufzeit ausgleicht. Einige Leistungsrichtlinien schließen eine vorgegebene Anzahl von statischen Leistungsrichtlinien ein, die auf einen Satz von Annahmen abgestimmt sind, die eine breite Palette von Akkunutzungsverhalten abdecken. Solche statischen Leistungsrichtlinien können eine akkuoptimierte Leistungsrichtlinie, eine leistungsoptimierte Leistungsrichtlinie oder eine gemischte Leistungsrichtlinie sein. Solche statischen Leistungsrichtlinien können eine Anzahl von leistungsbeeinflussenden Systemeigenschaften, wie Anzeigehelligkeit, Frequenz eines Interrupt (z. B. Software-Interrupt, Hardware-Interrupt usw.) und Systemzeitüberschreitungen, festlegen.
-
Einige Leistungsrichtlinien gleichen Akkulaufzeit und Systemleistung durch Anpassen an eine aktuelle Temperatur eines Prozessors aus. Einige Leistungsrichtlinien gleichen Akkulaufzeit und Systemleistung basierend auf thermischen und Arbeitslasteigenschaften des Systems und Leistungsabgabefähigkeiten des Systems aus. Einige Leistungsrichtlinien gleichen Akkulaufzeit und Systemleistung basierend auf früherem Nutzungsverhalten und Systembeanspruchung aus, um die Akkulaufzeit vorherzusagen. Jedoch sind solche Leistungsrichtlinien nicht für ein spezifisches Nutzungsmodell optimiert und/oder auf andere Weise konzipiert und können somit die Akkulaufzeit und/oder die Leistung für die meisten Benutzer der mobilen Rechensysteme beeinträchtigen.
-
Hierin offenbarte Beispiele verbessern die Rechenvorrichtungsleistungsverwaltung durch Anpassen eines Leistungsplans (z. B. eines Akkuleistungsplans, eines Leistungsverwaltungsplans usw.) an zumindest eines von (1) Rechenverhalten oder -verwendung in Verbindung mit einem Benutzer der Rechenvorrichtung oder (2) Leistung und/oder Eigenschaften von in der Rechenvorrichtung enthaltener Hardware, um die gewünschte hohe Leistung und die Akkulaufzeit auszugleichen. Hierin offenbarte Beispiele schließen beispielhafte Modelle (z. B. Modelle künstlicher Intelligenz) ein, um ein Nutzungsmodell der Rechenvorrichtung zu lernen und die Leistungsrichtlinie anzupassen (z. B. autonom anzupassen), um die Systemleistung zu maximieren und/oder auf andere Weise zu verbessern, während eine Wahrscheinlichkeit minimiert und/oder auf andere Weise reduziert wird, dass ein Benutzer Angst vor einer Akkuentleerung hat, und es somit wahrscheinlicher wird, dass er das Rechensystem lädt.
-
In einigen offenbarten Beispielen bestimmt eine beispielhafte Leistungsprofilsteuerung basierend auf Telemetriedaten von dem Rechensystem eine Wahrscheinlichkeit, dass ein Benutzer ein Rechensystem mit niedrigem Akkustand betreibt. Zum Beispiel bestimmt die Leistungsprofilsteuerung, dass ein Benutzer eine verhältnismäßig geringe Angst vor einer Akkuentleerung hat, indem sie bestimmt, dass es wahrscheinlich ist, dass der Benutzer wartet, bis eine Akkukapazität unter einen Akkukapazitätsschwellwert (z. B. einen Schwellwert einer niedrigen Akkukapazität) (z. B. 5 % Akkukapazität, 20 % Akkukapazität usw.) fällt, bevor er das Rechensystem in ein Ladesystem (z. B. einen tragbaren Akku, eine Wandsteckdose usw.) einsteckt. In solchen Beispielen ändert die Leistungsprofilsteuerung ein Leistungsprofil des Rechensystems von einem ersten Leistungsprofil, das für ein Priorisieren der Systemleistung repräsentativ ist, auf ein zweites Leistungsprofil, das für ein Priorisieren der Akkukapazität repräsentativ ist, als Reaktion auf die Bestimmung, dass der Benutzer eine verhältnismäßig geringe Angst vor einer Akkuentleerung hat. In einigen solchen Beispielen ändert die Leistungsprofilsteuerung das Leistungsprofil zur Priorisierung der Akkukapazität, um sicherzustellen, dass das Rechensystem als Reaktion darauf, dass die Akkukapazität unter den Akkukapazitätsschwellwert fällt, nicht abrupt ausgeschaltet wird.
-
In einigen solchen Beispielen lernt die Leistungsprofilsteuerung, dass der Benutzer den Akku lädt (z. B. üblicherweise lädt), bevor das Rechensystem ausgeschaltet wird, und/oder bestimmt dies auf andere Weise, und somit kann die Leistungsprofilsteuerung das Leistungsprofil wieder von dem zweiten Leistungsprofil zu dem ersten Leistungsprofil ändern, um die Systemleistung zu verbessern. Zum Beispiel bestimmt die Leistungsprofilsteuerung, dass das Rechensystem nicht zu einem Energieeffizienzprofil, das Akkukapazität gegenüber Systemleistung priorisiert, wechseln muss, weil es unwahrscheinlich ist, dass der Benutzer ein abruptes Ausschalten des Rechensystems aufgrund einer niedrigen Akkukapazität erlaubt. In solchen Beispielen, als Reaktion auf das Bestimmen, dass die Wahrscheinlichkeit, dass das Rechensystem mit der niedrigen Akkukapazität betrieben wird, verbessert die Leistungsprofilsteuerung die Systemleistung, indem sie das Rechensystem dazu anordnet und/oder auf andere Weise dazu aufruft, ein Leistungsprofil auszuführen, das Systemleistung gegenüber Akkukapazität priorisiert.
-
In weiteren Beispielen bestimmt die Leistungsprofilsteuerung, dass ein Benutzer eine verhältnismäßig hohe Angst vor einer Akkuentleerung hat, indem sie bestimmt, dass es unwahrscheinlich ist, dass der Benutzer wartet, bis eine Akkukapazität unter einen Akkukapazitätsschwellwert (z. B. 5 % Akkukapazität, 20 % Akkukapazität usw.) fällt, bevor er das Rechensystem in ein Ladesystem einsteckt. Zum Beispiel bestimmt die Leistungsprofilsteuerung, dass es wahrscheinlich ist, dass der Benutzer das Rechensystem als Reaktion darauf, dass das Rechensystem noch eine verhältnismäßig hohe Akkukapazität (z. B. Akkukapazität von 50 %, Akkukapazität von 75 % usw.) aufweist, einsteckt. In solchen Beispielen ändert die Leistungsprofilsteuerung ein Leistungsprofil des Rechensystems von einem ersten Leistungsprofil, das für ein Priorisieren der Akkukapazität repräsentativ ist, auf ein zweites Leistungsprofil, das für ein Priorisieren der Systemleistung repräsentativ ist, als Reaktion auf die Bestimmung, dass der Benutzer eine verhältnismäßig hohe Angst vor einer Akkuentleerung hat. In einigen solchen Beispielen ändert die Leistungsprofilsteuerung das Leistungsprofil zur Priorisierung der Systemleistung, um den Betrieb des Rechensystems als Reaktion auf das Bestimmen zu verbessern, dass es unwahrscheinlich ist, dass der Benutzer ein abruptes Ausschalten des Rechensystems als Reaktion darauf, dass die Akkukapazität unter einen Akkukapazitätsschwellwert fällt, erlaubt. Vorteilhafterweise erhöht die beispielhafte Leistungsprofilsteuerung die Systemleistung auf dem Rechensystem und/oder verbessert diese auf andere Weise, während dieses energiebeschränkt ist (z. B. keine Akkuquelle verwendet, nicht in eine Wandsteckdose eingesteckt ist usw.), als Reaktion auf das Bestimmen, dass ein Betrieb mit niedriger Akkukapazität des Rechensystems unwahrscheinlich ist und/oder dessen Eintreten auf andere Weise nicht vorhergesagt ist.
-
In einigen offenbarten Beispielen bestimmt die Leistungsprofilsteuerung eine Änderung einer Leistungsrichtlinie eines Rechensystems als Reaktion auf das Ausführen von einem oder mehreren Modellen künstlicher Intelligenz. Künstliche Intelligenz (KI), einschließlich maschinellen Lernens (ML), Deep Learning (DL) und/oder anderer künstlicher maschinengesteuerter Logik, ermöglicht es Maschinen (z. B. Computern, Logikschaltungen usw.), ein Modell zu verwenden, um Eingabedaten zu verarbeiten, um eine Ausgabe basierend auf Mustern und/oder Assoziationen, die zuvor durch das Modell über einen Trainingsprozess gelernt werden, zu erzeugen. Zum Beispiel kann die beispielhafte Leistungsprofilsteuerung das Modell mit Daten trainieren, um Muster und/oder Assoziationen zu erkennen und diesen Mustern und/oder Assoziationen zu folgen, wenn Eingabedaten verarbeitet werden, sodass (eine) andere Eingabe(n) zu (einer) Ausgabe(n) führen, die mit den erkannten Mustern und/oder Assoziationen konsistent sind.
-
Es gibt viele verschiedene Typen von Modellen für maschinelles Lernen und/oder Architekturen für maschinelles Lernen. In hierin offenbarten Beispielen wird ein Modell eines neuronalen Netzwerks verwendet. Das Verwenden eines Modells eines neuronalen Netzwerks ermöglicht es der beispielhaften Leistungsprofilsteuerung, die Verwendung eines Rechensystems zu klassifizieren, eine Wahrscheinlichkeit zu bestimmen, die dafür repräsentativ ist, ob es wahrscheinlich ist, dass das Rechensystem mit einer niedrigen Akkukapazität betrieben wird, und/oder eine Änderung/Änderungen an einer Leistungsrichtlinie basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit zu bestimmen. Im Allgemeinen schließen Modelle/Architekturen für maschinelles Lernen, die zur Verwendung bei den hierin offenbarten beispielhaften Ansätzen geeignet sind, rekurrente neuronale Netzwerke ein. Jedoch könnten andere Typen von Modellen für maschinelles Lernen, wie Modelle eines künstlichen neuronalen Netzwerks für überwachtes Lernen, zusätzlich oder alternativ verwendet werden. Beispielhafte Modelle eines künstlichen neuronalen Netzwerks für überwachtes Lernen können neuronale Zwei-Schicht-Netzwerke (2-Schicht-Netzwerke) mit radialen Basisfunktionen (RBN), neuronale Netzwerke mit einer Klassifizierung der lernenden Vektorquantisierung (LVQ) usw. einschließen.
-
Im Allgemeinen umfasst das Implementieren eines ML-/KI-Systems zwei Phasen, eine Lern-/Trainingsphase und eine Rückschlussphase. In der Lern-/Trainingsphase wird ein Trainingsalgorithmus verwendet, um ein Modell zu trainieren, gemäß Mustern und/oder Assoziationen basierend auf zum Beispiel Trainingsdaten zu arbeiten. Im Allgemeinen schließt das Modell interne Parameter ein, die die Art und Weise leiten, in der Eingabedaten in Ausgabedaten transformiert werden, wie durch eine Reihe von Knoten und Verbindungen innerhalb des Modells zum Transformieren von Eingabedaten in Ausgabedaten. Zusätzlich werden Hyperparameter als Teil des Trainingsprozesses verwendet, um zu steuern, wie das Lernen durchgeführt wird (z. B. eine Lernrate, eine Anzahl von Schichten, die in dem Modell für maschinelles Lernen verwendet werden sollen, usw.). Hyperparameter werden als Modellhyperparameter definiert, die vor dem Initiieren des Trainingsprozesses bestimmt werden.
-
Verschiedene Typen von Training können basierend auf dem Typ von ML-/KI-Modell und/oder der erwarteten Ausgabe durchgeführt werden. Zum Beispiel verwendet ein überwachtes Training Eingaben und entsprechende erwartete (z. B. gelabelte) Ausgaben, um Parameter (z. B. durch Iterieren über Kombinationen ausgewählter Parameter) für das ML-/KI-Modell auszuwählen, die Modellfehler reduzieren. Wie hierin verwendet, bezieht sich Labeln auf eine erwartete Ausgabe des Modells für maschinelles Lernen (z. B. eine Klassifizierung, einen erwarteten Ausgabewert usw.). Alternativ dazu beinhaltet ein unüberwachtes Training (z. B. beim Deep Learning, einem Teilsatz des maschinellen Lernens, usw. verwendet) ein Ableiten von Mustern von Eingaben, um Parameter für das ML-/KI-Modell auszuwählen (z. B. ohne den Nutzen der erwarteten (z. B. gelabelten) Ausgaben).
-
In hierin offenbarten Beispielen können ML-/KI-Modelle unter Verwendung eines stochastischen Gradientenabstiegs trainiert werden. Jedoch kann ein beliebiger anderer Trainingsalgorithmus zusätzlich oder alternativ dazu verwendet werden. In hierin offenbarten Beispielen kann ein Training durchgeführt werden, bis die Fehlerebene nicht mehr reduziert wird. In hierin offenbarten Beispielen kann ein Training lokal auf dem Rechensystem und/oder entfernt auf einem externen Rechensystem (z. B. einer zentralen Einrichtung, einem oder mehreren Servern usw.), das kommunikativ an das Rechensystem gekoppelt ist, durchgeführt werden. Das Training wird unter Verwendung von Hyperparametern durchgeführt, die steuern, wie das Lernen durchgeführt wird (z. B. eine Lernrate, eine Anzahl von Schichten, die in dem Modell für maschinelles Lernen verwendet werden sollen, usw.). In hierin offenbarten Beispielen sind Hyperparameter, die die Modellleistung und die Trainingsgeschwindigkeit steuern, die Lernrate und (ein) Regularisierungsparameter. Solche Hyperparameter werden zum Beispiel durch die Versuch-und-Irrtum-Methode ausgewählt, um eine optimale Modellleistung zu erreichen. In einigen Beispielen wird eine Bayes'sche Hyperparameteroptimierung genutzt, um eine optimale und/oder ansonsten verbesserte oder effizientere Netzwerkarchitektur zu bestimmen, um eine Modellüberanpassung zu vermeiden und die gesamte Anwendbarkeit des Modells zu verbessern. In einigen Beispielen kann ein erneutes Training durchgeführt werden. Ein solches erneutes Training kann als Reaktion auf (eine) Außerkraftsetzung(en) einer modellbestimmten Leistungsrichtlinieneinstellung/modellbestimmter Leistungsrichtlinieneinstellungen durch einen Benutzer durchgeführt werden.
-
Das Training wird unter Verwendung von Trainingsdaten durchgeführt. In hierin offenbarten Beispielen stammen die Trainingsdaten von lokal erzeugten Daten, wie Telemetriedaten von dem Rechensystem. In einigen offenbarten Beispielen, in denen ein überwachtes Training verwendet wird, sind die Trainingsdaten gelabelt. Das Labeln wird durch einen Benutzer manuell oder durch ein automatisiertes Datenvorverarbeitungssystem auf die Trainingsdaten angewendet. In einigen Beispielen werden die Trainingsdaten zum Beispiel unter Verwendung einer Schnittstelle (z. B. einer Telemetrieschnittstelle) vorverarbeitet, um einen oder mehrere Telemetrieparameter basierend auf den Telemetriedaten zu bestimmen. In einigen Beispielen sind die Trainingsdaten in einen ersten Abschnitt von Daten zum Trainieren des Modells und einen zweiten Abschnitt von Daten zum Validieren des Modells unterteilt.
-
Sobald das Training abgeschlossen ist, wird das Modell zur Verwendung als ein ausführbares Konstrukt bereitgestellt, das basierend auf dem Netzwerk von Knoten und Verbindungen, die in dem Modell definiert sind, eine Eingabe verarbeitet und eine Ausgabe bereitstellt. Das Modell wird in einem Speicher des Rechensystems oder in einer Datenbank eines entfernten Rechensystems gespeichert. Das Modell kann dann durch die beispielhafte Leistungsrichtliniensteuerung ausgeführt werden.
-
Sobald es trainiert ist, kann das bereitgestellte Modell in einer Rückschlussphase betrieben werden, um Daten zu verarbeiten. In der Rückschlussphase werden zu analysierende Daten (z. B. Live-Daten) in das Modell eingegeben und wird das Modell ausgeführt, um eine Ausgabe zu erstellen. Diese Rückschlussphase kann als ein „Denken“ der KI angesehen werden, um die Ausgabe basierend darauf zu erzeugen, was sie von dem Training gelernt hat (z. B. durch Ausführen des Modells, um das gelernte Muster und/oder Assoziationen auf die Live-Daten anzuwenden). In einigen Beispielen durchlaufen Eingabedaten eine Vorverarbeitung, bevor sie als eine Eingabe in das Modell für maschinelles Lernen verwendet werden. Darüber hinaus können die Ausgabedaten in einigen Beispielen eine Nachverarbeitung durchlaufen, nachdem sie durch das KI-Modell erzeugt werden, um die Ausgabe in ein nützliches Ergebnis zu transformieren (z. B. eine Anzeige von Daten, eine durch eine Maschine auszuführende Anweisung usw.).
-
In einigen Beispielen kann eine Ausgabe des bereitgestellten Modells erfasst und als Feedback bereitgestellt werden. Durch Analysieren des Feedbacks kann eine Genauigkeit des bereitgestellten Modells bestimmt werden. Wenn das Feedback angibt, dass die Genauigkeit des bereitgestellten Modells niedriger als ein Schwellwert oder anderes Kriterium ist, kann das Training eines aktualisierten Modells unter Verwendung des Feedbacks und eines aktualisierten Trainingsdatensatzes, von Hyperparametern usw. ausgelöst werden, um ein aktualisiertes bereitgestelltes Modell zu erzeugen.
-
1 ist eine schematische Darstellung einer beispielhaften Rechenumgebung 100, einschließlich eines beispielhaften Rechensystems 102, einschließlich einer beispielhaften Leistungsrichtliniensteuerung 104A-B zum Unterstützen der Leistungsverwaltung des Rechensystems 102. Das Rechensystem 102 des Beispiels von 1 schließt eine beispielhafte zentrale Verarbeitungseinheit (CPU) 106, eine erste beispielhafte Beschleunigungsressource (BESCHLEUNIGUNGSRESSOURCE A) 108, eine zweite beispielhafte Beschleunigungsressource (BESCHLEUNIGUNGSRESSOURCE B) 110, eine beispielhafte Universalverarbeitungsressource 112, eine beispielhafte Schnittstellenressource 114, einen beispielhaften Bus 116, eine beispielhafte Leistungsquelle 118 und eine beispielhafte Datenbank 120 ein. Die Datenbank 120 des Beispiels von 1 schließt beispielhafte Telemetriedaten 122 und eine beispielhafte Richtlinie 124 ein. Ferner dargestellt in dem Beispiel von 1 sind eine beispielhafte Benutzerschnittstelle 126, ein beispielhaftes Netzwerk 128 und ein beispielhaftes externes Rechensystem/beispielhafte externe Rechensysteme 130.
-
In einigen Beispielen ist das Rechensystem 102 ein System-on-Chip (SoC), das für eine oder mehrere integrierte Schaltungen (ICs) (z. B. kompakte ICs) repräsentativ ist, die Komponenten eines Computers oder anderen elektronischen Systems in einem kompakten Format einbeziehen. Zum Beispiel kann das Rechensystem 102 mit einer Kombination von einem oder mehreren programmierbaren Prozessoren, Hardwarelogik, und/oder Hardwareperipheriegeräten und/oder Schnittstellen implementiert sein. Zusätzlich oder alternativ dazu kann das beispielhafte Rechensystem 102 von 1 Speicher, (einen) Eingabe/Ausgabe-Port(s) (E/A-Port(s)) und/oder Sekundärspeicherung einschließen. Zum Beispiel schließt das Rechensystem 102 die Leistungsrichtliniensteuerung 104A-B, die CPU 106, die erste Beschleunigungsressource 108, die zweite Beschleunigungsressource 110, die Universalverarbeitungsressource 112, die Schnittstellenressource 114, den Bus 116, die Leistungsquelle 118, die Datenbank 120, den Speicher, den/die E/A-Port(s) und/oder die Sekundärspeicherung alle auf dem gleichen Substrat ein. In einigen Beispielen schließt das Rechensystem 102 digitale, analoge, Mischsignal-, Hochfrequenz- (HF-) oder andere Signalverarbeitungsfunktionen ein.
-
In dem veranschaulichten Beispiel von 1 ist die erste Beschleunigungsressource 108 eine Grafikverarbeitungseinheit (GPU). Zum Beispiel ist die erste Beschleunigungsressource 108 eine GPU, die Computergrafik erzeugt, Universalrechnen ausführt usw. Die zweite Beschleunigungsressource 110 des Beispiels von 1 ist ein KI-Beschleuniger. Zum Beispiel ist die zweite Beschleunigungsressource 110 eine Bildverarbeitungseinheit zum Bewirken von Maschinen- oder Computer Vision-Rechenaufgaben, ein physisches neuronales Netzwerk zum Trainieren und/oder Ausführen eines neuronalen Netzwerks (z. B. eines CNN, eines DNN, eines ANN, eines RNN usw.), usw. Die Universalverarbeitungsressource 112 des Beispiels von 1 ist ein programmierbarer Prozessor, wie eine CPU oder eine GPU. Alternativ dazu können eines oder mehrere von der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110 und/oder der Universalverarbeitungsressource 112 ein verschiedener Typ von Hardware, wie ein Digitalsignalprozessor (DSP), eine anwendungsspezifische integrierte Schaltung (ASIC), eine programmierbare Logikvorrichtung (PLD) und/oder eine feldprogrammierbare Logikvorrichtung (FPLD) (z. B. eine feldprogrammierbare Gatteranordnung (FPGA)), sein.
-
In dem veranschaulichten Beispiel von 1 ist die Schnittstellenressource 114 für eine oder mehrere Schnittstellen repräsentativ. Zum Beispiel kann die Schnittstellenressource 114 durch eine Kommunikationsvorrichtung (z. B. eine Netzwerkschnittstellenkarte (NIC), eine intelligente NIC usw.), wie einen Sender, einen Empfänger, einen Transceiver, ein Modem, ein Residential Gateway, einen drahtlosen Zugangspunkt und/oder eine Netzwerkschnittstelle, implementiert sein, um den Austausch von Daten mit externen Maschinen (z. B. Rechenvorrichtungen jeder Art) über das Netzwerk 128 zu unterstützen. In einigen Beispielen wird die Kommunikation über eine Ethernet-Verbindung, eine Digital Subscriber Line-Verbindung (DSL-Verbindung), eine Telefonleitungsverbindung, ein Koaxialkabelsystem, ein Satellitensystem, ein drahtloses Sichtliniensystem, ein Mobiltelefonsystem usw. bewirkt. Zum Beispiel kann die Schnittstellenressource 114 durch einen beliebigen Typ von Schnittstellenstandard, wie eine Wireless Fidelity-Schnittstelle (Wi-Fi-Schnittstelle), eine Ethernet-Schnittstelle, einen Universal Serial Bus (USB), eine Bluetooth-Schnittstelle, eine Near Field Communication-Schnittstelle (NFC-Schnittstelle) und/oder eine PCI express-Schnittstelle, implementiert sein.
-
Das Rechensystem 102 schließt die Leistungsquelle 118 ein, um Leistung an die Ressource(n) des Rechensystems 102 zu liefern. In dem Beispiel von 1 ist die Leistungsquelle 118 ein Akku. Zum Beispiel ist die Leistungsquelle 118 eine energiebeschränkte Vorrichtung, wie ein Lithium-Ionen-Akku oder ein beliebiges anderes aufladbares Akku oder eine beliebige andere aufladbare Leistungsquelle. In solchen Beispielen ist die Leistungsquelle 118 unter Verwendung eines Leistungsadapters oder -wandlers (z. B. eines Wechselstromzu-Gleichstrom-Leistungswandlers (AC-zu-DC-Leistungswandlers), einer Wandsteckdose (z. B. einer 110-V-AC-Wandsteckdose, einer 220-V-AC-Wandsteckdose usw.) usw. aufladbar.
-
Das Rechensystem 102 des Beispiels von 1 schließt die Datenbank 120 ein, um Daten (z. B. die Telemetriedaten 122, die Richtlinie 124 usw.) zu erfassen. Die Datenbank 120 dieses Beispiels kann durch einen flüchtigen Speicher (z. B. einen Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) usw.) und/oder einen nicht flüchtigen Speicher (z. B. Flash-Speicher) implementiert sein. Die Datenbank 120 kann zusätzlich oder alternativ dazu durch einen oder mehrere Speicher mit doppelter Datenrate (DDR), wie DDR, DDR2, DDR3, DDR4, mobiler DDR (mDDR) usw. implementiert sein. Die Datenbank 120 kann zusätzlich oder alternativ dazu durch eine oder mehrere Massenspeichervorrichtungen, wie (ein) Plattenlaufwerk(e), Compact-Disk-Laufwerk(e) (CD-Laufwerk(e)), Digital-Versatile-Disk-Laufwerk(e) (DVD-Laufwerk(e)), Solid-State-Disk-Laufwerk(e) usw. implementiert sein. Während die Datenbank 120 in dem veranschaulichten Beispiel als eine einzelne Datenbank veranschaulicht ist, kann die Datenbank 120 durch eine beliebige Anzahl und/oder (einen) beliebigen Typ(en) von Datenbanken implementiert sein. Des Weiteren können die in der Datenbank 120 gespeicherten Daten in einem beliebigen Datenformat, wie zum Beispiel Binärdaten, durch Kommata getrennte Daten, durch Tabstopps getrennte Daten, Structured Query Language-Strukturen (SQL-Strukturen) usw., vorliegen.
-
In dem veranschaulichten Beispiel von 1 speichert die Datenbank 120 und/oder allgemeiner das Rechensystem 102 die Richtlinie 124, um eine Leistungsverwaltung von (einer) Ressource(n) des Rechensystems 102 und/oder allgemeiner des Rechensystems 102 zu bewirken. In einigen Beispielen ist die Richtlinie 124 eine Energierichtlinie (z. B. eine Energieverwaltungsrichtlinie), eine Leistungsrichtlinie (z. B. eine Leistungsverwaltungsrichtlinie), ein Leistungsprofil (z. B. ein Leistungsverwaltungsprofil) usw. und/oder eine Kombination davon. Zum Beispiel schließt die Richtlinie 124 (eine) Konfiguration(en), (einen) Parameter, (eine) Einstellung(en), einen Betriebsmodus/Betriebsmodi usw. von Hardware, Firmware und/oder Software in Verbindung mit dem Rechensystem 102 ein. In solchen Beispielen schließt die Richtlinie 124 eine Konfiguration der ersten Beschleunigungsressource 108 ein, um (eine) Rechenaufgabe(n) mit einer ersten Frequenz (z. B. einer ersten Taktfrequenz) zu bewirken und/oder auf andere Weise auszuführen. In einigen Beispielen schließt die Richtlinie 124 einen Parameter oder eine Einstellung der Schnittstellenressource 114, wie einen Leistungspegel einer Wi-Fi-Antenne, ein. In einigen Beispielen schließt die Richtlinie 124 eine Frequenz in Verbindung mit einer Softwareressource, wie eine Frequenz, mit der ein Interrupt (z. B. ein Software-Interrupt, ein OS-Interrupt usw.) erzeugt wird, ein.
-
In dem veranschaulichten Beispiel von 1 ist das Rechensystem 102 in Kommunikation mit der Benutzerschnittstelle 126. Zum Beispiel ist die Benutzerschnittstelle 126 eine grafische Benutzerschnittstelle (GUI), eine Anwendungsanzeige usw., die einem Benutzer auf einer Anzeigevorrichtung dargestellt wird, die sich in einer Schaltung mit und/oder auf andere Weise in Kommunikation mit dem Rechensystem 102 befindet. In solchen Beispielen steuert ein Benutzer das Rechensystem 102, stellt die Richtlinie 124 ein, konfiguriert Sammlungs- oder Messintervalle zum Erhalten der Telemetriedaten 122 usw. über die Benutzerschnittstelle 126. Alternativ dazu kann das Rechensystem 102 die Benutzerschnittstelle 126 einschließen.
-
In dem veranschaulichten Beispiel von 1 sind die Leistungsrichtliniensteuerung 104A-B, die CPU 106, die erste Beschleunigungsressource 108, die zweite Beschleunigungsressource 110, die Universalverarbeitungsressource 112, die Schnittstellenressource 114, die Leistungsquelle 118 und die Datenbank 120 in Kommunikation mit dem Bus 116. Zum Beispiel entspricht der Bus 116 zumindest einem von einem Inter-Integrated Circuit-Bus (I2C-Bus), einem Serial Peripheral Interface-Bus (SPI-Bus) oder einem Peripheral Component Interconnect-Bus (PCI-Bus), ist für einen solchen repräsentativ und/oder schließt einen solchen auf andere Weise ein.
-
Das Netzwerk 128 des Beispiels von 1 ist das Internet. Jedoch kann das Netzwerk 128 dieses Beispiels unter Verwendung jeder geeigneten drahtverbundenen und/oder drahtlosen Netzwerke, einschließlich zum Beispiel eines oder mehrerer Datenbusse, eines oder mehrerer lokaler Netzwerke (LANs), eines oder mehrerer drahtloser LANs, eines oder mehrerer Mobilfunknetze, eines oder mehrerer privater Netzwerke, eines oder mehrerer öffentlicher Netzwerke usw. implementiert sein. Das Netzwerk 128 ermöglicht es dem Rechensystem, mit dem/den externen Rechensystem(en) 130 in Kommunikation zu sein. Zum Beispiel entsprechen das/die externe(n) Rechensystem(e) 130 einem oder mehreren Computer-Servern, Dateneinrichtungen, Cloud-Diensten usw., sind für solche repräsentativ und/oder schließen solche auf andere Weise ein.
-
In dem veranschaulichten Beispiel von 1 schließt das Rechensystem 102 eine erste Leistungsrichtliniensteuerung 104A (z. B. eine erste Instanz der Leistungsrichtliniensteuerung 104A-B) und eine zweite Leistungsrichtliniensteuerung 104B (z. B. eine zweite Instanz der Leistungsrichtliniensteuerung 104A-B) (hierin zusammen als die Leistungsrichtliniensteuerung 104A-B bezeichnet, sofern nicht anderweitig angegeben) ein. In dem Beispiel von 1 ist die erste Leistungsrichtliniensteuerung 104A durch die CPU 106 implementiert (z. B. durch Hardware, Software und/oder Firmware implementiert) und ist die zweite Leistungsrichtliniensteuerung 104B außerhalb der CPU 106. Zum Beispiel kann die zweite Leistungsrichtliniensteuerung 104B durch Hardware, Software und/oder Firmware implementiert sein. In solchen Beispielen kann die zweite Leistungsrichtliniensteuerung 104B durch eine oder mehrere analoge oder digitale Schaltung(en), Logikschaltungen, programmierbare Prozessor(en), programmierbare Steuerung(en), GPU(s), DSP(s), ASIC(s), PLD(s) und/oder FPLD(s)) implementiert sein. Zusätzlich oder alternativ dazu können die erste Leistungsrichtliniensteuerung 104A, die zweite Leistungsrichtliniensteuerung 104B und/oder (ein) Abschnitt(e) davon virtualisiert sein, wie durch eine Implementierung unter Verwendung von einer oder mehreren virtuellen Maschinen. Zusätzlich oder alternativ dazu können die erste Leistungsrichtliniensteuerung 104A und/oder die zweite Leistungsrichtliniensteuerung 104B durch eine verschiedene Ressource des Rechensystems 102, wie die erste Beschleunigungsressource 108, die zweite Beschleunigungsressource 110 usw., implementiert sein. Alternativ dazu kann das Rechensystem 102 die erste Leistungsrichtliniensteuerung 104A oder die zweite Leistungsrichtliniensteuerung 104B nicht einschließen.
-
In einigen Beispielen erhält die Leistungsrichtliniensteuerung 104A-B die Telemetriedaten 122 von (einer) Ressource(n) des Rechensystems 102, wie der CPU 106, der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110, der Universalverarbeitungsressource 112, der Schnittstellenressource 114, der Leistungsquelle 118 und/oder der Datenbank 120. In einigen Beispielen entsprechen die Telemetriedaten 122 Daten (z. B. Messungen, Informationen usw.) in Verbindung mit einer Ressource, wie qualitätsbezogenen Informationen (z. B. Hardware-, Firmware- und/oder Softwareparameter, Statistiken usw.), Konfigurationsinformationen (z. B. Hardware-, Firmware- und/oder Softwareattribute) oder beliebigen anderen analytikbasierten Daten, sind für solche repräsentativ und/oder schließen solche auf andere Weise ein. Wie hierin verwendet, werden solche qualitätsbezogenen Informationen, Konfigurationsinformationen, analytikbasierten Daten allgemein als Telemetrie (z. B. die Telemetriedaten 122, Telemetrieinformationen usw.) bezeichnet.
-
In einigen Beispielen schließen die Telemetriedaten 122 Ressourcennutzungsinformationen über die Nutzung der Ressource(n) (z. B. Hardwareressourcen, Softwareressourcen, virtuelle Hardware- und/oder Softwareressourcen usw.) und die Effizienz, mit der diese Ressourcen die an sie gestellten Anforderungen erfüllen können, ein. In einigen Beispielen schließen die Telemetriedaten 122 eine Nutzung (z. B. einen Prozentsatz einer Ressource, die genutzt oder nicht genutzt wird), eine Verzögerung (z. B. eine durchschnittliche Verzögerung) beim Empfangen einer Rechenaufgabe zur Ausführung (z. B. Latenz), eine Rate (z. B. eine durchschnittliche Rate), mit der eine Ressource verfügbar ist (z. B. Bandbreite, Durchsatz usw.), einen Stromverbrauch usw. in Verbindung mit einer/einigen der Ressource(n) des Rechensystems 102, ein.
-
In einigen Beispielen schließen die Telemetriedaten 122 in Verbindung mit der Schnittstellenressource 114 einen Ort des Rechensystems 102 ein. Zum Beispiel schließen die Telemetriedaten 122 einen physischen (z. B. einen geophysischen) Ort des Rechensystems 102 basierend auf Netzwerkdaten, wie einer Internetprotokolladresse (IP-Adresse), einer IP-Port-Nummer, einem Media Access Control-Identifikator (MAC-Identifikator), einer Subnetzmaske usw., oder beliebigen anderen Daten in Verbindung mit dem Netzwerk 128 von 1 ein. In solchen Beispielen geben die Telemetriedaten 122 an, dass das Rechensystem 102 einen Büroort (z. B. mit einem Unternehmensnetzwerk verbunden), einen Wohnungsort (z. B. eine Wohnung, ein Haus, ein Hochhaus usw.) und/oder einen Geschäftsort (z. B. einen Flughafen, ein Cafe, ein Restaurant usw.) aufweist.
-
In einigen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B basierend auf den Telemetriedaten 122 eine Wahrscheinlichkeit, dass das Rechensystem 102 eine Ebene von rechenintensiven Anwendungen ausführen soll. Zum Beispiel bestimmt die Leistungsrichtliniensteuerung 104A-B, dass es wahrscheinlich ist, dass das Rechensystem 102 eine erste oder verhältnismäßig hohe Ebene von rechenintensiven Anwendungen, eine zweite oder verhältnismäßig mittlere Ebene von rechenintensiven Anwendungen, eine dritte oder verhältnismäßig niedrige Ebene von rechenintensiven Anwendungen usw. ausführen soll. Die jeweiligen Ebenen von rechenintensiven Anwendungen entsprechen einer Quantifizierung und/oder Darstellung der Anforderung, die an (eine) Ressource(n) des Rechensystems 102 gestellt wird. Zum Beispiel ist die verhältnismäßig hohe Ebene von rechenintensiven Anwendungen ein hohe oder intensive Anforderung an die Ressource(n) (z. B. Prozessor(en), Speicher, Speicherung usw., die eine verhältnismäßig hohe Nutzung (z. B. 60 % genutzt, 80 % genutzt usw.) aufweisen). In solchen Beispielen ist die verhältnismäßig mittlere Ebene von rechenintensiven Anwendungen eine mittlere, durchschnittliche und/oder typische Anforderung an die Ressource(n) (z. B. Prozessor(en), Speicher, Speicherung usw., die eine verhältnismäßig mittlere, mäßige und/oder typische Nutzung (z. B. 40 % genutzt, 50 % genutzt usw.) aufweisen). In einigen solchen Beispielen ist die verhältnismäßig niedrige Ebene von rechenintensiven Anwendungen eine niedrige oder schwache Anforderung an die Ressource(n) (z. B. Prozessor(en), Speicher, Speicherung usw., die eine verhältnismäßig mittlere, durchschnittliche und/oder typische Nutzung (z. B. 10 % genutzt, 20 % genutzt usw.) aufweisen). In einigen solchen Beispielen ist die verhältnismäßig hohe Ebene der Anforderung größer als die verhältnismäßig mittlere Ebene der Anforderung, und die verhältnismäßig mittlere Ebene der Anforderung ist größer als die verhältnismäßig niedrige Ebene der Anforderung. Zusätzlich oder alternativ dazu können weniger oder mehr Ebenen als hierin beschrieben vorhanden sein.
-
In einigen solchen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B als Reaktion auf das Bestimmen, basierend auf den Telemetriedaten 122, dass sich das Rechensystem 102 in dem Wohnungsort befindet, dass es wahrscheinlich ist, dass das Rechensystem 102 eine verhältnismäßig niedrige Ebene von rechenintensiven (und leistungsintensiven) Anwendungen, wie Browsing-Anwendungen (z. B. Internet-Browsing-Anwendungen) oder unterhaltungsbasierten Anwendungen (z. B. Streamen von Audio- und/oder Videodaten) ausführt. In solchen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B, dass es aufgrund eines leicht verfügbaren Zugriffs auf Wandsteckdosen oder andere Ladequellen wahrscheinlich ist, dass die Leistungsquelle 118 als Reaktion darauf, dass die Akkukapazität einen Akkukapazitätsschwellwert (z. B. einen Schwellwert einer niedrigen Akkukapazität von 5 %, 20 % usw.) erfüllt, geladen wird.
-
In einigen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B als Reaktion auf das Bestimmen, dass sich das Rechensystem 102 in dem Büroort befindet, dass es wahrscheinlich ist, dass das Rechensystem 102 eine verhältnismäßig hohe Ebene von rechenintensiven Anwendungen (z. B. Ausführen von Softwarewerkzeugen für computergestütztes Design (CAD-Softwarewerkzeugen), Grafikdesignsoftware usw.) ausführt. In solchen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B, dass es aufgrund eines leicht verfügbaren Zugriffs auf Wandsteckdosen oder andere Ladequellen in dem Büroort wahrscheinlich ist, dass die Leistungsquelle 118 als Reaktion darauf, dass die Akkukapazität einen Akkukapazitätsschwellwert (z. B. 5 %, 20 % usw.) erfüllt, geladen wird.
-
In einigen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B als Reaktion auf das Bestimmen, dass sich das Rechensystem 102 in dem Geschäftsort befindet, dass es wahrscheinlich ist, dass das Rechensystem 102 eine verhältnismäßig mittlere Ebene von rechenintensiven Anwendungen (z. B. Word-Verarbeitung, Streamen von Audio- und/oder Videodaten usw. und/oder eine Kombination davon) ausführt. In solchen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B, dass es aufgrund eines nicht so leicht verfügbaren Zugriffs auf Wandsteckdosen oder andere Ladequellen in dem Geschäftsort unwahrscheinlich ist, dass die Leistungsquelle 118 als Reaktion darauf, dass die Akkukapazität einen Akkukapazitätsschwellwert (z. B. 5 %, 20 % usw.) erfüllt, geladen wird.
-
In einigen Beispielen schließen die Telemetriedaten 122 in Verbindung mit der Leistungsquelle 118 eine Akkukapazitätsmessung (z. B. einen Prozentsatz verbleibender Akkulaufzeit, eine Menge verbleibender gespeicherter Energie usw.), eine geschätzte verbleibende Zeit, bevor die Leistungsquelle 118 entleert oder verbraucht ist, eine geschätzte Zeit zum Laden der Leistungsquelle 118 auf einen Akkukapazitätsschwellwert, ein Leistungsübergangsereignis, eine Leistungsladequalität usw. ein. Zum Beispiel ist das Leistungsübergangsereignis eine Änderung der Leistungsquelle 118 von nicht geladen zu geladen, von geladen zu nicht geladen usw. In weiteren Beispielen ist die Leistungsladequalität eine erste Ebene der Leistungsladequalität, die angibt, dass die Leistungsquelle 118 von einer zuverlässigen oder unbeschränkten Ladequelle, wie einer Wandsteckdose, geladen wird, eine zweite Ebene der Leistungsladequalität, die angibt, dass die Leistungsquelle 118 von einer unzuverlässigen oder beschränkten Ladequelle, wie einem tragbaren Akku, geladen wird, usw.
-
In einigen Beispielen schließen die Telemetriedaten 122 in Verbindung mit der CPU 106 ein, ob die CPU 106 eine Anweisung ausführt oder zurückzieht, einen logischen Zyklus ausführt, einen Referenzzyklus ausführt, einen Abruf ausführt, einen Direktabruf ausführt, einen Dienst (z. B. einen Firmware- und/oder Softwaredienst) oder Prozess (z. B. einen Firmware- und/oder Softwareprozess) (z. B. einen bestimmten oder angegebenen jeweiligen Dienst oder Prozess) ausführt usw. In einigen Beispielen schließen die Telemetriedaten 122 in Verbindung mit der CPU 106 einen Wert eines Hardwarezählers (z. B. eines Hardwareleistungsindikators), eines Softwarezählers (z. B. eines Softwareleistungsindikators) usw. ein, die in der CPU 106 enthalten sind und die zum Überwachen einer Funktion der CPU 106 verwendet werden. In einigen Beispielen schließen die Telemetriedaten 122 in Verbindung mit der Datenbank 120 eine Menge von Lese-/Schreibzyklen, die durch die Datenbank 120 oder (einen) Abschnitt(e) oder (eine) Partition(en) davon ausgeführt werden, eine Latenz der Datenbank 120, einen Prozentsatz oder Abschnitt der Datenbank 120, der zum Ausführen einer Speicheraufgabe verfügbar ist, usw. ein.
-
In einigen Beispielen klassifiziert die Leistungsrichtliniensteuerung 104A-B die Verwendung der Ressource(n) des Rechensystems 102 und/oder allgemeiner des Rechensystems 102 basierend auf den Telemetriedaten 122. Zum Beispiel bestimmt die Leistungsrichtliniensteuerung 104A-B, ob die Verwendung des Rechensystems 102 eine erste Verwendungsebene (z. B. eine leichte oder niedrige Verwendungsebene), eine zweite Verwendungsebene (z. B. eine mittlere Verwendungsebene), eine dritte Verwendungsebene (z. B. eine schwere oder hohe Verwendungsebene) usw. ist, wobei die erste Verwendungsebene niedriger als die zweite Verwendungsebene ist, die zweite Verwendungsebene niedriger als die dritte Verwendungsebene ist usw. In solchen Beispielen ist die erste Verwendungsebene dafür repräsentativ, dass das Rechensystem 102 Aufgaben ausführt, die eine verhältnismäßig niedrige Rechenintensität aufweisen, wie Word-Verarbeitung oder Internet-Browsing. In weiteren Beispielen ist die dritte Verwendungsebene dafür repräsentativ, dass das Rechensystem 102 Aufgaben ausführt, die eine verhältnismäßig hohe Rechenintensität aufweisen, wie künstliche Intelligenz, Computermodellierung oder -simulation oder Inhaltserstellungsaufgaben, wie Audio-, Grafik- und/oder Videoerzeugung. In einigen Beispielen ist die erste Verwendungsebene für einen ersten Bedarf an (einer) Ressource(n) repräsentativ, ist die zweite Verwendungsebene für einen zweiten Bedarf an (einer) Ressource(n) repräsentativ, ist die dritte Verwendungsebene für einen dritten Bedarf an (einer) Ressource(n) repräsentativ usw., wobei der erste Bedarf niedriger als der zweite Bedarf ist und der zweite Bedarf niedriger als der dritte Bedarf ist usw.
-
In einigen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B die Wahrscheinlichkeit einer niedrigen Akkukapazität basierend auf der Klassifizierung der Verwendung. Zum Beispiel ist die Wahrscheinlichkeit einer niedrigen Akkukapazität für eine Wahrscheinlichkeit repräsentativ, dass das Rechensystem 102 mit einer niedrigen Akkukapazität (z. B. Akkukapazität von 5 %, Akkukapazität von 10 % usw.) betrieben wird. In solchen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B die Wahrscheinlichkeit einer niedrigen Akkukapazität basierend auf einer Klassifizierung dafür, dass ein Benutzer eine geringe, mittlere, hohe usw. Angst vor einer Akkuentleerung hat. Zum Beispiel gibt die Wahrscheinlichkeit einer niedrigen Akkukapazität an und/oder ist auf andere Weise dafür repräsentativ, dass ein Benutzer eine verhältnismäßig hohe Ebene von Angst vor einer Akkuentleerung hat, für den es wahrscheinlich ist, dass er die Leistungsquelle 118 lädt, bevor die Leistungsquelle 118 unter einen Akkukapazitätsschwellwert fällt. In solchen Beispielen ist es unwahrscheinlich, dass der Benutzer mit der verhältnismäßig hohen Ebene von Angst vor einer Akkuentleerung das Rechensystem 102 betreibt, wenn die Leistungsquelle 118 eine niedrige Akkukapazität aufweist. In weiteren Beispielen gibt die Wahrscheinlichkeit einer niedrigen Akkukapazität an, dass ein Benutzer eine verhältnismäßig niedrige Ebene von Angst vor einer Akkuentleerung hat, für den es unwahrscheinlich ist, dass er die Leistungsquelle 118 lädt, bevor die Leistungsquelle 118 unter einen Akkukapazitätsschwellwert fällt, und somit bewirken kann, dass das Rechensystem 102 ausgeschaltet wird (z. B. abrupt ausgeschaltet wird), bevor der Benutzer eine Möglichkeit hat, die Leistungsquelle 118 zu laden. In solchen Beispielen ist es wahrscheinlich, dass der Benutzer mit der verhältnismäßig niedrigen Ebene von Angst vor einer Akkuentleerung das Rechensystem 102 betreibt, wenn die Leistungsquelle 118 eine niedrige Akkukapazität aufweist.
-
In einigen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B eine Einstellung (z. B. eine Richtlinieneinstellung, eine Leistungsrichtlinieneinstellung usw.) an der Richtlinie 124 basierend auf zumindest einem von der Klassifizierung der Verwendung oder der Wahrscheinlichkeit einer niedrigen Akkukapazität. Zum Beispiel bestimmt die Leistungsrichtliniensteuerung 104A-B eine oder mehrere Einstellungen an der Richtlinie 124 zum Verbessern der Energieeffizienz basierend auf einer Klassifizierung einer schweren Verwendung und einer Wahrscheinlichkeit einer niedrigen Akkukapazität, die einen Benutzer mit einer verhältnismäßig geringen Angst vor einer Akkuentleerung angibt. In solchen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit einer niedrigen Akkukapazität eine Verbesserung der Energieeffizienz, weil die Akkukapazität der Leistungsquelle 118 genug abnehmen kann, um ohne einen Eingriff unter einen Akkukapazitätsschwellwert zu fallen.
-
In weiteren Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B basierend auf einer Klassifizierung einer schweren Verwendung und einer Wahrscheinlichkeit einer niedrigen Akkukapazität, die einen Benutzer mit einer verhältnismäßig hohen Angst vor einer Akkuentleerung angibt, eine oder mehrere Einstellungen an der Richtlinie 124 zum Verbessern der Leistung (z. B. der Systemleistung) des Rechensystems 102. In solchen Beispielen bestimmt die Leistungsrichtliniensteuerung 104A-B eine Verbesserung der Systemleistung, weil die Wahrscheinlichkeit einer niedrigen Akkukapazität angibt, dass es wahrscheinlich ist, dass der Benutzer die Leistungsquelle 118 lädt, bevor die Akkukapazität unter einen Akkukapazitätsschwellwert fällt, oder angibt, dass es unwahrscheinlich ist, dass der Benutzer das Rechensystem 102 für einen verhältnismäßig kurzen Zeitraum im Akkubetrieb verwendet, für die es wahrscheinlich ist, dass die Leistungsquelle 118 nicht geladen werden muss.
-
Vorteilhafterweise verbessert die Leistungsrichtliniensteuerung 104A-B des Beispiels von 1 in einigen Beispielen die Leistung (z. B. Erhöhen einer Frequenz der ersten Beschleunigungsressource 108, Erhöhen der Leistung an eine Wi-Fi-Antenne der Schnittstellenressource 114 usw.) des Rechensystems 102 als Reaktion darauf, dass die Leistungsrichtliniensteuerung 104A-B bestimmt, dass die Kapazität der Leistungsquelle 118 unter einem ersten Schwellwert (z. B. Kapazität von 40 %, Kapazität von 50 % usw.) liegt und höher als ein zweiter Schwellwert (z. B. Kapazität von 5 %, Kapazität von 10 % usw.) ist, wobei der zweite Schwellwert niedriger als der erste Schwellwert ist. Vorteilhafterweise verbessert die Leistungsrichtliniensteuerung 104A-B des Beispiels von 1 die Leistung des Rechensystems 102 basierend auf zumindest einem von der Klassifizierung der Rechensystemverwendung oder der Wahrscheinlichkeit einer niedrigen Akkukapazität und verbessert somit das Bewirken, durch die Leistungsrichtliniensteuerung 104A-B, von einer oder mehreren Verbesserung(en) der Funktionsweise eines Computers, wie des Rechensystems 102.
-
2 ist ein Blockdiagramm einer beispielhaften Implementierung der beispielhaften Leistungsrichtliniensteuerung 104A-B von 1. Die Leistungsrichtliniensteuerung 104A-B des Beispiels von 2 schließt eine beispielhafte Richtliniensteuerungsschnittstelle 202, einen beispielhaften Richtlinienmodellausführer 204, einen beispielhaften Verwendungsklassifizierer 206, einen beispielhaften Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208, einen beispielhaften Richtlinienbelohnungsbestimmer 210, einen beispielhaften Richtlinieneinsteller 212 und (eine) beispielhafte Richtlinieneinstellung(en) 214 ein.
-
In dem veranschaulichten Beispiel von 2 schließt die Leistungsrichtliniensteuerung 104A-B den Richtlinienmodellausführer 204 ein, um zumindest eines von dem Verwendungsklassifizierer 206, dem Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 oder dem Richtlinienbelohnungsbestimmer 210 zu erzeugen, zu trainieren und/oder auszuführen. In dem Beispiel von 2 erhält der Richtlinienmodellausführer 204 die Telemetriedaten 122 von 1 von (einer) Ressource(n) des Rechensystems 102 von 1 über die Richtliniensteuerungsschnittstelle 202, die die Telemetriedaten 122 von dem Bus 116 von 1 (RECHENSYSTEMBUS) erhält. In einigen Beispielen erzeugt und/oder trainiert der Richtlinienmodellausführer 204 zumindest eines von dem Verwendungsklassifizierer 206, dem Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 oder dem Richtlinienbelohnungsbestimmer 210 basierend auf den Telemetriedaten 122. In dem Beispiel von 2 führt der Richtlinienmodellausführer 204 zumindest eines von dem Verwendungsklassifizierer 206, dem Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 oder dem Richtlinienbelohnungsbestimmer 210 aus und/oder ruft diese auf andere Weise auf, um (eine) beispielhafte Modellausgabe(n) 216 zu erzeugen.
-
In dem veranschaulichten Beispiel von 2 schließt der Richtlinienmodellausführer 204 den Verwendungsklassifizierer 206 ein, um die Verwendung des Rechensystems 102 von 1 zu klassifizieren und/oder auf andere Weise zu charakterisieren. In diesem Beispiel kann der Verwendungsklassifizierer 206 durch ein oder mehrere ML-/KI-Modelle implementiert sein. Zum Beispiel kann der Verwendungsklassifizierer 206 durch ein oder mehrere neuronale Netzwerke, wie ein oder mehrere RNNs oder einen beliebigen anderen Typ und/oder eine beliebige andere Menge von neuronalen Netzwerken, implementiert sein. In solchen Beispielen ruft der Richtlinienmodellausführer 204 die Ausführung des neuronalen Netzwerks auf, das durch den Verwendungsklassifizierer 206 repräsentiert wird, um die Modellausgabe(n) 216 zu erzeugen, um eine Klassifizierung der Verwendung, eine Klassifizierung eines Benutzers in Verbindung mit dem Rechensystem 102 usw. einzuschließen. Zum Beispiel erzeugt der Verwendungsklassifizierer 206 eine erste Verwendungsklassifizierung, die eine verhältnismäßig niedrige Verwendung oder Anforderung an die Ressource(n) des Rechensystems 102 repräsentiert, eine zweite Verwendungsklassifizierung, die eine verhältnismäßig hohe Verwendung oder Anforderung an die Ressource(n) des Rechensystems 102 repräsentiert, eine dritte Verwendungsklassifizierung, die eine Verwendung oder Anforderung an die Ressource(n) des Rechensystems 102 repräsentiert, die zwischen der niedrigen Verwendung und der hohen Verwendung liegt, usw.
-
In einigen Beispielen implementiert der Verwendungsklassifizierer 206 ein Mittel zum Klassifizieren der Verwendung eines Rechensystems, wie des Rechensystems 102. In diesem Beispiel ist das Klassifizierungsmittel durch einen beliebigen Prozessor implementiert, der strukturiert ist, um die entsprechende Operation durch Ausführen von Software oder Firmware oder einer Hardwareschaltung (z. B. diskrete und/oder integrierte analoge und/oder digitale Schaltungen, eine PLD, eine FPLD, eine ASIC, einen Komparator, einen Operationsverstärker (op-amp), eine Logikschaltung usw.) durchzuführen, die strukturiert ist, um die entsprechende Operation durchzuführen, ohne Software oder Firmware auszuführen, aber andere Strukturen sind gleichermaßen geeignet.
-
In dem veranschaulichten Beispiel von 2 schließt der Richtlinienmodellausführer 204 den Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 ein, um basierend auf der Klassifizierung durch den Verwendungsklassifizierer 206 eine Wahrscheinlichkeit zu bestimmen, dass das Rechensystem 102 mit einer niedrigen Akkukapazität betrieben wird. Zum Beispiel bestimmt der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 eine Wahrscheinlichkeit einer niedrigen Akkukapazität. In solchen Beispielen bestimmt der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 eine Wahrscheinlichkeit einer niedrigen Akkukapazität, die einem Verwendungsklassifizierung entspricht (z. B. eine erste Wahrscheinlichkeit einer niedrigen Akkukapazität, die einer ersten Verwendungsklassifizierung entspricht, eine zweite Wahrscheinlichkeit einer niedrigen Akkukapazität, die einer zweiten Verwendungsklassifizierung entspricht, usw.). In diesem Beispiel kann der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 durch ein oder mehrere ML-/KI-Modelle implementiert sein. Zum Beispiel kann der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 durch ein oder mehrere neuronale Netzwerke, wie ein oder mehrere RNNs oder einen beliebigen anderen Typ und/oder eine beliebige andere Menge von neuronalen Netzwerken, implementiert sein. In solchen Beispielen ruft der Richtlinienmodellausführer 204 die Ausführung des neuronalen Netzwerks auf, das durch den Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 repräsentiert wird, um die Modellausgabe(n) 216 zu erzeugen, um eine Wahrscheinlichkeit einzuschließen, die angibt, ob der Benutzer in Verbindung mit dem Rechensystem 102 eine niedrige Ebene von Angst vor einer Akkuentleerung, eine hohe Ebene von Angst vor einer Akkuentleerung oder eine mittlere Ebene von Angst vor einer Akkuentleerung zwischen der niedrigen Ebene und der hohen Ebene hat. Zum Beispiel bestimmt der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208, dass die Wahrscheinlichkeit eine Wahrscheinlichkeit angibt, dass das Rechensystem 102 betrieben werden soll, wenn die Leistungsquelle 118 eine Akkukapazität aufweist, die einen Akkukapazitätsschwellwert erfüllt, indem sie niedriger als der Akkukapazitätsschwellwert ist.
-
In einigen Beispielen implementiert der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 ein Mittel zum Bestimmen, basierend auf einer Klassifizierung (z. B. einer Verwendungsklassifizierung), einer Wahrscheinlichkeit, das ein Rechensystem, wie das Rechensystem 102, mit einer niedrigen Akkukapazität betrieben wird. In diesem Beispiel ist das Bestimmungsmittel durch einen beliebigen Prozessor implementiert, der strukturiert ist, um die entsprechende Operation durch Ausführen von Software oder Firmware oder einer Hardwareschaltung (z. B. diskrete und/oder integrierte analoge und/oder digitale Schaltungen, eine PLD, eine FPLD, eine ASIC, einen Komparator, einen Operationsverstärker (op-amp), eine Logikschaltung usw.) durchzuführen, die strukturiert ist, um die entsprechende Operation durchzuführen, ohne Software oder Firmware auszuführen, aber andere Strukturen sind gleichermaßen geeignet.
-
In dem veranschaulichten Beispiel von 2 schließt der Richtlinienmodellausführer 204 den Richtlinienbelohnungsbestimmer 210 ein, um Leistungsrichtlinieneinstellung(en), (eine) Belohnung(en) (z. B. (eine) Richtlinienbelohnung(en), (eine) Leistungsrichtlinienbelohnung(en) usw.) usw. basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit zu bestimmen und eine Akkukapazität der Leistungsquelle 118 und/oder allgemeiner des Rechensystems 102 als Reaktion auf die Leistungsrichtlinieneinstellung(en) zu bestimmen. In diesem Beispiel kann der Richtlinienbelohnungsbestimmer 210 durch ein oder mehrere ML-/KI-Modelle implementiert sein. Zum Beispiel kann der Richtlinienbelohnungsbestimmer 210 durch ein oder mehrere neuronale Netzwerke, wie ein oder mehrere RNNs oder einen beliebigen anderen Typ und/oder eine beliebige andere Menge von neuronalen Netzwerken, implementiert sein. In solchen Beispielen ruft der Richtlinienmodellausführer 204 die Ausführung des neuronalen Netzwerks auf, das durch den Richtlinienbelohnungsbestimmer 210 repräsentiert wird, um die Modellausgabe(n) 216 zu erzeugen, um eine oder mehrere Leistungsrichtlinieneinstellungen an der Richtlinie 124 von 1, eine oder mehrere Belohnungen usw. einzuschließen.
-
In einigen Beispielen erzeugt der Richtlinienbelohnungsbestimmer 210 eine oder mehrere Leistungsrichtlinieneinstellungen an der Richtlinie 124 basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit einer niedrigen Akkukapazität und/oder bestimmt diese auf andere Weise. Zum Beispiel bestimmt der Richtlinienbelohnungsbestimmer 210 eine erste Leistungsrichtlinieneinstellung des Erhöhens einer Frequenz der zweiten Beschleunigungsressource 110 von 1 zum Verbessern der Systemleistung und eine zweite Leistungsrichtlinieneinstellung des Verringerns der an eine Wi-Fi-Antenne der Schnittstellenressource 114 von 1 gelieferten Leistung.
-
In einigen Beispielen erzeugt der Richtlinienbelohnungsbestimmer 210 eine Belohnung entsprechend einer Leistungsrichtlinieneinstellung. In einigen Beispielen ist eine Belohnung (z. B. eine Richtlinienbelohnung, eine Leistungsrichtlinienbelohnung usw.) eine Verstärkung (z. B. eine KI-/ML-Verstärkung), die in einem KI-/ML-Modell verwendet wird, um das KI-/ML-Modell aufzurufen, um eine Ausgabe zu erzeugen, die auf ein spezifisches Ziel, wie ein Verbessern der Energieeffizienz, Systemleistung usw., gerichtet ist. Zum Beispiel ist die Belohnung eine Auswirkung oder Quantifizierung dafür, wie die eine oder die mehreren Leistungsrichtlinieneinstellungen eine Änderung oder Einstellung an der Akkukapazität der Leistungsquelle 118 bewirken.
-
In einigen Beispielen sagt der Richtlinienbelohnungsbestimmer 210 eine Richtlinienbelohnung basierend auf einer Auswirkung auf die Akkukapazität der Leistungsquelle 118 als Reaktion auf zumindest eines von der ersten Leistungsrichtlinieneinstellung oder der zweiten Leistungsrichtlinieneinstellung vorher, schätzt diese und/oder bestimmt diese auf andere Weise. Zum Beispiel bestimmt der Richtlinienbelohnungsbestimmer 210 eine erste Auswirkung (z. B. eine erste Akkukapazitätsauswirkung, einen ersten Akkukapazitätsauswirkungswert oder -quantifizierer usw.) auf die Akkukapazität derart, dass die Akkukapazität nach einem Zeitraum (z. B. 30 Minuten, 2 Stunden usw.) als Reaktion auf die erste Leistungsrichtlinieneinstellung um 10 % abnehmen kann. In solchen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion darauf, dass eine Verwendung des Rechensystems 102 als schwere Verwendung klassifiziert wird und die Wahrscheinlichkeit, dass das Rechensystem 102 in einem Zustand einer niedrigen Akkukapazität betrieben wird, niedrig ist, dass eine erste Richtlinienbelohnung verhältnismäßig hoch ist. Zum Beispiel soll die erste Richtlinienbelohnung verhältnismäßig hoch sein, weil ein Erhöhen der Frequenz der ersten Beschleunigungsressource 108 die Systemleistung des Rechensystems 102 verbessert, für das es unwahrscheinlich ist, dass es aufgrund einer niedrigen Akkukapazität plötzlich ausgeschaltet wird, weil ein Benutzer des Rechensystems 102 eine verhältnismäßig hohe Angst vor einer Akkuentleerung hat.
-
In einigen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 eine zweite Auswirkung (z. B. eine zweite Akkukapazitätsauswirkung, einen zweiten Akkukapazitätsauswirkungswert oder -quantifizierer) auf die Akkukapazität derart, dass die Akkukapazität nach einem Zeitraum (z. B. 30 Minuten, 2 Stunden usw.) als Reaktion auf die zweite Leistungsrichtlinieneinstellung um 1 % abnehmen kann. In solchen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion darauf, dass eine Verwendung des Rechensystems 102 als schwere Verwendung klassifiziert wird und die Wahrscheinlichkeit, dass das Rechensystem 102 in einem Zustand einer niedrigen Akkukapazität betrieben wird, niedrig ist, dass eine zweite Richtlinienbelohnung verhältnismäßig niedrig ist. Zum Beispiel soll die zweite Richtlinienbelohnung verhältnismäßig niedrig sein, weil ein Verringern der an die Wi-Fi-Antenne der Schnittstellenressource 114 gelieferten Leistung die Systemleistung des Rechensystems 102 nicht verbessert und die Energieeffizienz für das Rechensystem 102 nicht wesentlich verbessert, für das es unwahrscheinlich ist, dass es aufgrund einer niedrigen Akkukapazität plötzlich ausgeschaltet wird, weil ein Benutzer des Rechensystems 102 eine verhältnismäßig hohe Angst vor einer Akkuentleerung hat. In einigen solchen Beispielen schließen die Modellausgabe(n) 216 die erste Leistungsrichtlinieneinstellung, die zweite Leistungsrichtlinieneinstellung, die erste Auswirkung, die zweite Auswirkung, die erste Richtlinienbelohnung und/oder die zweite Richtlinienbelohnung ein.
-
In einigen Beispielen implementiert der Richtlinienbelohnungsbestimmer 210 ein Mittel zum Bestimmen und/oder ein Mittel zum Identifizieren einer Einstellung einer Richtlinie, wie der Richtlinie 124, basierend auf zumindest einem von einer Klassifizierung (z. B. einer Verwendungsklassifizierung) oder einer Wahrscheinlichkeit (z. B. einer Wahrscheinlichkeit einer niedrigen Akkukapazität). In einigen Beispielen implementiert der Richtlinienbelohnungsbestimmer 210 ein Mittel zum Bestimmen und/oder ein Mittel zum Vorhersagen einer Akkukapazität eines Rechensystems, wie des Rechensystems 102, als Reaktion auf die Einstellung. In solchen Beispielen ist/sind das Bestimmungsmittel, das Identifizierungsmittel und/oder das Vorhersagemittel durch einen beliebigen Prozessor implementiert, der strukturiert ist, um die entsprechende Operation durch Ausführen von Software oder Firmware oder einer Hardwareschaltung (z. B. diskrete und/oder integrierte analoge und/oder digitale Schaltungen, eine PLD, eine FPLD, eine ASIC, einen Komparator, einen Operationsverstärker (op-amp), eine Logikschaltung usw.) durchzuführen, die strukturiert ist, um die entsprechende Operation durchzuführen, ohne Software oder Firmware auszuführen, aber andere Strukturen sind gleichermaßen geeignet.
-
In dem veranschaulichten Beispiel von 2 schließt die Leistungsrichtliniensteuerung 104A-B den Richtlinieneinsteller 212 ein, um eine Leistungsrichtlinie, wie die Richtlinie 124 von 1, des Rechensystems 102 basierend auf zumindest einem von der/den Modellausgabe(n) 216 oder beispielhaften Richtlinieneinstellungsdaten 218 von der/den Richtlinieneinstellung(en) 214 einzustellen. In einigen Beispielen bestimmt der Richtlinieneinsteller 212, ob die Richtlinie 124 mit einer oder mehreren Richtlinieneinstellungen basierend auf zumindest einem von der/den Klassifizierung(en), der Wahrscheinlichkeit einer niedrigen Akkukapazität, den Auswirkungen usw. von dem Richtlinienmodellausführer 204 eingestellt werden soll. In solchen Beispielen erzeugt der Richtlinieneinsteller 212 beispielhafte Richtliniendaten 220 basierend auf der Bestimmung, ob die Richtlinie 124 eingestellt werden soll. Zum Beispiel schließen die Richtliniendaten 220 (eine) Einstellung(en) an der Richtlinie 124 ein.
-
In einigen Beispielen fragt der Richtlinieneinsteller 212 die Richtlinieneinstellung(en) 214 für die Richtlinieneinstellungsdaten 218 ab. Zum Beispiel schließt/schließen die Richtlinieneinstellung(en) 214 Zustände (z. B. Leistungszustände) der Ressource(n) des Rechensystems 102 ein. In solchen Beispielen sind die Zustände für Konfigurationen, Parameter, Einstellungen usw. von einer/mehreren der Ressource(n) (z. B. (einer) Hardware-, Firmware- und/oder Softwareressource(n)) repräsentativ, die modifizierbar und/oder auf andere Weise einstellbar sind, um die Leistung zu verbessern (z. B. die Leistung auf Kosten der Energieeffizienz zu verbessern), die Energieeffizienz zu verbessern (z. B. die Energieeffizienz auf Kosten der Leistung zu verbessern) usw. Zum Beispiel schließt/schließen die Richtlinieneinstellung(en) 214 einen ersten Zustand der ersten Beschleunigungsressource 108 von 1, der für eine erste Frequenz für die erste Beschleunigungsressource 108 zum Ausführen einer Rechenaufgabe/von Rechenaufgaben repräsentativ ist, einen zweiten Zustand der ersten Beschleunigungsressource 108, der für eine zweite Frequenz für die erste Beschleunigungsressource 108 zum Ausführen einer Rechenaufgabe/von Rechenaufgaben repräsentativ ist, usw. ein.
-
In einigen Beispielen implementiert der Richtlinieneinsteller 212 ein Mittel zum Einstellen einer Richtlinie, wie der Richtlinie 124, als Reaktion darauf, dass eine Akkukapazität einen Schwellwert erfüllt. In einigen Beispielen ist die Richtlinie eine erste Richtlinie und soll das Mittel zum Einstellen die erste Richtlinie als Reaktion darauf, dass eine Wahrscheinlichkeit, wie eine Wahrscheinlichkeit einer niedrigen Akkukapazität, einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität erfüllt, auf eine zweite Richtlinie einstellen. In solchen Beispielen soll die erste Richtlinie die Leistung eines Rechensystems, wie des Rechensystems 102, verbessern und soll die zweite Richtlinie die Energieeffizienz des Rechensystems verbessern. In einigen Beispielen ist die Richtlinie eine erste Richtlinie und soll das Mittel zum Einstellen die erste Richtlinie als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität nicht erfüllt, auf eine zweite Richtlinie einstellen, wobei die erste Richtlinie die Energieeffizienz des Rechensystems verbessern soll und die zweite Richtlinie die Leistung des Rechensystems verbessern soll. In einigen Beispielen ist die Richtlinie für ein Verbessern der Leistung des Rechensystems repräsentativ und soll das Mittel zum Einstellen die Richtlinie durch zumindest eines von einem Erhöhen einer ersten Frequenz in Verbindung mit einer Hardwareressource (z. B. einer Ressource des Rechensystems 102), einem Erhöhen einer zweiten Frequenz in Verbindung mit einer Softwareressource (z. B. einer Softwareressource des Rechensystems 102) oder einem Erhöhen der Leistungsabgabe an eine Antenne (z. B. eine Antenne der Schnittstellenressource 114) einstellen. In einigen Beispielen ist die Einstellung eine erste Einstellung, die für einen ersten Zustand einer Hardwareressource repräsentativ ist, und als Reaktion darauf, dass die Akkukapazität den Schwellwert nicht erfüllt, soll das Mittel zum Einstellen eine zweite Einstellung bestimmen, die für einen zweiten Zustand der Hardwareressource repräsentativ ist. In solchen Beispielen soll der erste Zustand einen ersten Energieaufwand bewirken, der größer als ein zweiter Energieaufwand durch den zweiten Zustand ist.
-
In diesen Beispielen ist das Einstellmittel durch einen beliebigen Prozessor implementiert, der strukturiert ist, um die entsprechende Operation durch Ausführen von Software oder Firmware oder einer Hardwareschaltung (z. B. diskrete und/oder integrierte analoge und/oder digitale Schaltungen, eine PLD, eine FPLD, eine ASIC, einen Komparator, einen Operationsverstärker (op-amp), eine Logikschaltung usw.) durchzuführen, die strukturiert ist, um die entsprechende Operation durchzuführen, ohne Software oder Firmware auszuführen, aber andere Strukturen sind gleichermaßen geeignet.
-
In einigen Beispielen schließt/schließen die Richtlinieneinstellung(en) 214 Zustände eines OS des Rechensystems 102 ein, die für verschiedene Intervalle zum Erzeugen von Ausnahmen oder Interrupts (z. B. Firmware-, Software- und/oder OS-Interrupts) repräsentativ sind. In einigen Beispielen schließen die Richtlinieneinstellungsdaten 218 die Zustände, wie die Konfigurationen, Parameter, Einstellungen usw., von einer/mehreren der Ressource(n) (z. B. (einer) Hardware-, Firmware- und/oder Softwareressource(n)) des Rechensystems 102 ein.
-
Die Richtlinieneinstellung(en) 214 dieses Beispiels können durch eine oder mehrere Datenbanken, die Daten (z. B. die Zustände, die Richtlinieneinstellungsdaten 218 usw.) erfassen, implementiert sein. Zum Beispiel können die Richtlinieneinstellung(en) 214 durch einen flüchtigen Speicher (z. B. einen SDRAM, DRAM, RDRAM usw.) und/oder einen nicht flüchtigen Speicher (z. B. Flash-Speicher) implementiert sein. Die Richtlinieneinstellung(en) 214 dieses Beispiels können zusätzlich oder alternativ dazu durch einen oder mehrere DDR-Speicher, wie DDR, DDR2, DDR3, DDR4, mDDR usw., implementiert sein. Die Richtlinieneinstellung(en) 214 können zusätzlich oder alternativ dazu durch eine oder mehrere Massenspeichervorrichtungen, wie Plattenlaufwerk(e), CD-Laufwerk(e), DVD-Laufwerk(e), Solid-State-Disk-Laufwerk(e) usw. implementiert sein. Während die Richtlinieneinstellung(en) 214 in dem veranschaulichten Beispiel als eine einzelne Datenbank veranschaulicht sind, können die Richtlinieneinstellung(en) 214 durch eine beliebige Anzahl und/oder (einen) beliebigen Typ(en) von Datenbanken implementiert sein. Des Weiteren können die in der/den Richtlinieneinstellung(en) 214 gespeicherten Daten in einem beliebigen Datenformat, wie zum Beispiel Binärdaten, durch Kommata getrennte Daten, durch Tabstopps getrennte Daten, SQL-Strukturen usw., vorliegen.
-
In dem veranschaulichten Beispiel von 2 schließt die Leistungsrichtliniensteuerung 104A-B die Richtliniensteuerungsschnittstelle 202 ein, um die Telemetriedaten 122 von dem Bus 116 zu erhalten und die Richtliniendaten 220 zu dem Bus 116 zu übertragen. In einigen Beispielen ist die Richtliniensteuerungsschnittstelle 202 durch eine oder mehrere Bibliotheken (z. B. eine Dynamic Link Library (DLL)), eine oder mehrere Anwendungsprogrammierschnittstellen (APIs) usw. implementiert. In einigen Beispielen verarbeitet (z. B. vorverarbeitet) die Richtliniensteuerungsschnittstelle 202 die Telemetriedaten 122. Zum Beispiel extrahiert die Richtliniensteuerungsschnittstelle 202 Informationen aus den Telemetriedaten 122 und erzeugt Telemetrieparameter und/oder bestimmt diese auf andere Weise basierend auf den extrahierten Informationen. Zum Beispiel extrahiert die Richtliniensteuerungsschnittstelle 202 eine IP-Adresse aus den Telemetriedaten 122 und bestimmt einen Telemetrieparameter, wie einen Ort des Rechensystems 102, basierend auf der IP-Adresse. In weiteren Beispielen extrahiert die Richtliniensteuerungsschnittstelle 202 Daten in Verbindung mit Hardware-, Software- und/oder Firmwarezählern in der CPU 106 und bestimmt eine Nutzung der CPU 106 basierend auf den extrahierten Daten.
-
In einigen Beispielen implementiert die Richtliniensteuerungsschnittstelle 202 ein Mittel zum Bestimmen (z. B. ein erstes Mittel zum Bestimmen, ein zweites Mittel zum Bestimmen usw.) eines Telemetrieparameters basierend auf Telemetriedaten, wie den Telemetriedaten 122, die von einem Rechensystem, wie dem Rechensystems 102, erhalten werden. In solchen Beispielen basiert der Telemetrieparameter auf zumindest einem von einem Ort, einem Prozess, einem Leistungsübergangsereignis oder einer Leistungsquelle in Verbindung mit dem Rechensystem. In diesem Beispiel ist das Bestimmungsmittel durch einen beliebigen Prozessor implementiert, der strukturiert ist, um die entsprechende Operation durch Ausführen von Software oder Firmware oder einer Hardwareschaltung (z. B. diskrete und/oder integrierte analoge und/oder digitale Schaltungen, eine PLD, eine FPLD, eine ASIC, einen Komparator, einen Operationsverstärker (op-amp), eine Logikschaltung usw.) durchzuführen, die strukturiert ist, um die entsprechende Operation durchzuführen, ohne Software oder Firmware auszuführen, aber andere Strukturen sind gleichermaßen geeignet.
-
Während eine beispielhafte Weise des Implementierens der Leistungsrichtliniensteuerung 104A-B von 1 in 2 veranschaulicht ist, können eine/r/s oder mehrere der Elemente, Prozesse und/oder Vorrichtungen, die in 2 veranschaulicht sind, in einer beliebigen anderen Weise kombiniert, geteilt, neu angeordnet, weggelassen, entfernt und/oder implementiert werden. Außerdem können die beispielhafte Richtliniensteuerungsschnittstelle 202, der beispielhafte Richtlinienmodellausführer 204, der beispielhafte Verwendungsklassifizierer 206, der beispielhafte Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208, der beispielhafte Richtlinienbelohnungsbestimmer 210, der beispielhafte Richtlinieneinsteller 212, die beispielhafte(n) Richtlinieneinstellung(en) 214 und/oder allgemeiner die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert sein. Somit könnten zum Beispiel beliebige der beispielhaften Richtliniensteuerungsschnittstelle 202, des beispielhaften Richtlinienmodellausführers 204, des beispielhaften Verwendungsklassifizierers 206, des beispielhaften Bestimmers einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208, des beispielhaften Richtlinienbelohnungsbestimmers 210, des beispielhaften Richtlinieneinstellers 212, der beispielhaften Richtlinieneinstellung(en) 214 und/oder allgemeiner der beispielhaften Leistungsrichtliniensteuerung 104A-B durch eine(n) oder mehrere analoge(n) oder digitale(n) Schaltung(en), Logikschaltungen, programmierbare(n) Prozessor(en), programmierbar(en) Steuerung(en), GPU(s), DSP(s), ASIC(s), PLD(s) und/oder FPLD(s) implementiert sein. Beim Lesen eines beliebigen der Einrichtungs- oder Systemansprüche dieses Patents, um eine reine Software- und/oder Firmwareimplementierung abzudecken, ist/sind zumindest eines von der beispielhaften Richtliniensteuerungsschnittstelle 202, dem beispielhaften Richtlinienmodellausführer 204, dem beispielhaften Verwendungsklassifizierer 206, dem beispielhaften Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208, dem beispielhaften Richtlinienbelohnungsbestimmer 210, dem beispielhaften Richtlinieneinsteller 212 und/oder der/den beispielhaften Richtlinieneinstellung(en) 214 hiermit ausdrücklich als eine nicht transitorische computerlesbare Speichervorrichtung oder Speicherplatte, wie einen Speicher, eine DVD, eine CD, einen Blu-ray-Datenträger usw., einschließlich der Software und/oder Firmware, einschließend definiert. Ferner kann außerdem die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 ein/e/n oder mehrere Elemente, Prozesse und/oder Vorrichtungen zusätzlich zu den oder anstelle der in 2 veranschaulichten einschließen und/oder kann mehr als einen von beliebigen oder allen der veranschaulichten Elemente, Prozesse und Vorrichtungen einschließen. Bei Verwendung in diesem Dokument umfasst der Ausdruck „in Kommunikation“, einschließlich Variationen davon, eine direkte Kommunikation und/oder indirekte Kommunikation durch eine oder mehrere Zwischenkomponenten und erfordert keine direkte physische (z. B. drahtverbundene) Kommunikation und/oder konstante Kommunikation, sondern schließt stattdessen außerdem eine selektive Kommunikation in periodischen Abständen, geplanten Intervallen, aperiodischen Intervallen und/oder bei einmaligen Ereignissen ein.
-
3 ist ein Blockdiagramm einer beispielhaften Implementierung des beispielhaften Richtlinieneinstellers 212 von 2. Der Richtlinieneinsteller 212 des Beispiels von 3 schließt eine beispielhafte Systemleistungsrichtlinienlogik 302 und beispielhafte Energieeffizienzrichtlinienlogik 304 ein. In einigen Beispielen können die Systemleistungsrichtlinienlogik 302 und/oder die Energieeffizienzrichtlinienlogik 304 durch beispielhafte Hardwarelogik, beispielhafte maschinenlesbare Anweisungen, beispielhafte hardwareimplementierte Zustandsmaschinen und/oder eine beliebige Kombination davon implementiert sein.
-
In einigen Beispielen ruft der Richtlinieneinsteller 212 zumindest eines von der Systemleistungsrichtlinienlogik 302 und/oder der Energieeffizienzrichtlinienlogik 304 auf, um die Richtliniendaten 220 von 2 basierend auf (einer) Ausgabe(n) von einer jeweiligen/jeweiligen mehreren der Logik zu erzeugen. Zum Beispiel erzeugt der Richtlinieneinsteller 212 die Richtliniendaten 220 und/oder bestimmt diese auf andere Weise basierend auf zumindest einem von der/den Modellausgabe(n) 216 von 2 oder den Richtlinieneinstellungsdaten 218 von 2.
-
In dem veranschaulichten Beispiel von 3 schließt/schließen die Modellausgabe(n) 216 (eine) beispielhafte Verwendungsklassifizierungsausgabe(n) 306, (eine) beispielhafte Ausgabe(n) einer Wahrscheinlichkeit einer niedrigen Akkukapazität 308 und (eine) beispielhafte Richtlinienbelohnungsausgabe(n) 310 ein. Zum Beispiel erzeugt, bestimmt der Verwendungsklassifizierer 206 von 2 die Verwendungsklassifizierungsausgabe(n) 306 und/oder gibt diese auf andere Weise aus. In solchen Beispielen erzeugt der Verwendungsklassifizierer 206 die Verwendungsklassifizierungsausgabe(n) 306, um eine Klassifizierung der Verwendung des Rechensystems 102 einzuschließen. Zum Beispiel kann die Klassifizierung eine erste Verwendungsklassifizierung, eine zweite Verwendungsklassifizierung usw. sein. In solchen Beispielen ist die erste Klassifizierung eine erste Klassifizierung einer schweren Verwendung oder Ressourcenanforderung, ist die zweite Klassifizierung eine zweite Klassifizierung einer mittleren Verwendung oder Ressourcenanforderung, ist die dritte Klassifizierung eine dritte Klassifizierung einer niedrigen Verwendung oder Ressourcenanforderung usw. des Rechensystems 102.
-
Der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 des Beispiels von 2 erzeugt, bestimmt die Ausgabe(n) einer Wahrscheinlichkeit einer niedrigen Akkukapazität 308 und/oder gibt diese auf andere Weise aus. Zum Beispiel erzeugt der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 von 2 die Ausgabe(n) einer Wahrscheinlichkeit einer niedrigen Akkukapazität 308, um einen oder mehrere Wahrscheinlichkeitswerte, wie einen klassischen Wahrscheinlichkeitswert (z. B. einen a-priori- oder theoretischen Wahrscheinlichkeitswert), einen empirischen Wahrscheinlichkeitswert (z. B. einen a-posteriori- oder frequentistischen Wahrscheinlichkeitswert), einen axiomatischen Wahrscheinlichkeitswert usw. einzuschließen. In solchen Beispielen geben der eine oder die mehreren Wahrscheinlichkeitswerte der Ausgabe(n) einer Wahrscheinlichkeit einer niedrigen Akkukapazität 308 eine Wahrscheinlichkeit an, dass das Rechensystem 102 betrieben werden soll, wenn die Leistungsquelle 118 eine Akkukapazität aufweist, die niedriger als ein Akkukapazitätsschwellwert ist.
-
Der Richtlinienbelohnungsbestimmer 210 des Beispiels von 2 erzeugt, bestimmt die Richtlinienbelohnungsausgabe(n) 310 und/oder gibt diese auf andere Weise aus. Zum Beispiel erzeugt der Richtlinienbelohnungsbestimmer 210 von 2 die Richtlinienbelohnungsausgabe(n) 310, um (eine) Richtlinieneinstellung(en), eine Richtlinienbelohnung für eine jeweilige Richtlinieneinstellung/jeweilige mehrere Richtlinieneinstellungen usw. einzuschließen. In solchen Beispielen erzeugt der Richtlinienbelohnungsbestimmer 210 eine Vielzahl von Richtlinieneinstellungen, einschließlich einer ersten Richtlinieneinstellung (z. B. einer ersten Leistungsrichtlinieneinstellung) und einer zweiten Richtlinieneinstellung (z. B. einer zweiten Leistungsrichtlinieneinstellung). In einigen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 eine erste Richtlinienbelohnung, die eine Änderung (z. B. eine potenzielle Änderung, eine vorhergesagte Änderung, eine geschätzte Änderung usw.) einer Akkukapazität der Leistungsquelle 118 als Reaktion auf die erste Richtlinieneinstellung repräsentiert.
-
In einigen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion darauf, dass (1) die erste Richtlinieneinstellung eine Drosselung der ersten Beschleunigungsressource 108 von 1 nach oben ist (z. B. ein Erhöhen einer Frequenz der ersten Beschleunigungsressource 108) und (2) die Verwendungsklassifizierung eine schwere Verwendung (z. B. Inhaltserstellung, rechenintensive Verwendung usw.) angibt, dass die erste Richtlinienbelohnung verhältnismäßig hoch ist. In weiteren Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion darauf, dass (1) die erste Richtlinieneinstellung eine Drosselung der ersten Beschleunigungsressource 108 von 1 nach unten ist (z. B. ein Verringern einer Frequenz der ersten Beschleunigungsressource 108) und (2) die Verwendungsklassifizierung eine leichte Verwendung (z. B. Internet-Browsing, Textverarbeitung usw.) angibt, dass die erste Richtlinienbelohnung verhältnismäßig niedrig ist. In solchen Beispielen ist die erste Richtlinienbelohnung verhältnismäßig niedrig, weil die Verwendungsklassifizierung keine schwere Anforderung an die erste Beschleunigungsressource 108 angibt und es somit unwahrscheinlich ist, dass eine Drosselung der ersten Beschleunigungsressource 108 nach unten eine verhältnismäßig große Auswirkung auf die Akkukapazität der Leistungsquelle 118 aufweist. In noch weiteren Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion darauf, dass (1) die erste Richtlinieneinstellung eine Drosselung der ersten Beschleunigungsressource 108 von 1 nach unten ist (z. B. ein Verringern einer Frequenz der ersten Beschleunigungsressource 108) und (2) die Verwendungsklassifizierung eine leichte Verwendung (z. B. Internet-Browsing, Textverarbeitung usw.) angibt, dass die erste Richtlinienbelohnung verhältnismäßig hoch ist. In solchen Beispielen ist die erste Richtlinienbelohnung verhältnismäßig hoch, weil, wenngleich die Verwendungsklassifizierung keine schwere Anforderung an die erste Beschleunigungsressource 108 angibt, der Richtlinienbelohnungsbestimmer 210 bestimmt, dass es wahrscheinlich ist, dass eine Drosselung der ersten Beschleunigungsressource 108 nach unten eine Auswirkung auf die Akkukapazität der Leistungsquelle 118 aufweist, indem Leistung eingespart und/oder die erste Beschleunigungsressource 108 und/oder allgemeiner das Rechensystem 102 auf andere Weise in einem Modus mit niedrigem Stromverbrauch betrieben wird.
-
In dem veranschaulichten Beispiel von 3 ordnet der Richtlinieneinsteller 212 Leistungsrichtlinieneinstellungen, die in der/den Modellausgabe(n) 216 enthalten sind, zu einer Ausführung von entweder der Systemleistungsrichtlinienlogik 302 oder der Energieeffizienzrichtlinienlogik 304 zu. Zum Beispiel ordnet der Richtlinieneinsteller 212 eine erste Leistungsrichtlinieneinstellung des Erhöhens einer Frequenz der ersten Beschleunigungsressource 108 zum Verbessern der Systemleistung zu und ordnet somit die erste Leistungsrichtlinieneinstellung zu der Systemleistungsrichtlinienlogik 302 zu. In solchen Beispielen ruft der Richtlinieneinsteller 212 die Systemleistungsrichtlinienlogik 302 als Reaktion auf die Zuordnung auf. In weiteren Beispielen ordnet der Richtlinieneinsteller 212 eine zweite Leistungsrichtlinieneinstellung des Reduzierens von an eine Antenne der Schnittstellenressource 114 gelieferter Leistung zum Verbessern der Energieeffizienz zu und ordnet somit die zweite Leistungsrichtlinieneinstellung zu der Energieeffizienzrichtlinienlogik 304 zu. In solchen Beispielen ruft der Richtlinieneinsteller 212 die Energieeffizienzrichtlinienlogik 304 als Reaktion auf die Zuordnung auf.
-
In einigen Beispielen ruft der Richtlinieneinsteller 212 die Ausführung der Systemleistungsrichtlinienlogik 302 auf, um die Richtliniendaten 220 zu erzeugen, die ein Verbessern der Leistung des Rechensystems 102 auf Kosten der Energieeffizienz angeben sollen. In dem Beispiel von 3 bestimmt die Systemleistungsrichtlinienlogik 302, ob die beispielhaften Leistungszustände 312 von einer/mehreren der Ressource(n) des Rechensystems 102 eingestellt werden sollen.
-
Die Leistungszustände 312 dieses Beispiels entsprechen einem oder mehreren von der CPU 106, der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110 usw. des Rechensystems 102 von 1. Zum Beispiel entsprechen die Leistungszustände 312 der CPU 106. In weiteren Beispielen entspricht jeder der Leistungszustände 312 einem von der CPU 106, der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110 usw.
-
In einigen Beispielen entspricht ein erster Leistungszustand (LEISTUNGSZUSTAND 0) der Leistungszustände 312 einem ersten Leistungszustand der CPU 106, einem ersten Leistungszustand der ersten Beschleunigungsressource 108, einem ersten Leistungszustand der zweiten Beschleunigungsressource 110 usw. von 1. In solchen Beispielen ist der erste Leistungszustand für eine erste Frequenz der CPU 106, einen ersten Leistungspegel zum Liefern an eine Bluetooth-Schnittstelle der Schnittstellenressource 114 usw. repräsentativ.
-
In einigen Beispielen entspricht ein zweiter Leistungszustand (LEISTUNGSZUSTAND 1) der Leistungszustände 312 einem zweiten Leistungszustand der CPU 106, einem zweiten Leistungszustand der ersten Beschleunigungsressource 108, einem zweiten Leistungszustand der zweiten Beschleunigungsressource 110 usw. von 1. In solchen Beispielen ist der zweite Leistungszustand für eine zweite Frequenz der CPU 106, die größer als die erste Frequenz ist, einen zweiten Leistungspegel zum Liefern an die Bluetooth-Schnittstelle der Schnittstellenressource 114, der größer als der erste Leistungspegel ist, usw. repräsentativ.
-
Vorteilhafterweise ruft der Richtlinieneinsteller 212 in einigen Beispielen die Systemleistungsrichtlinienlogik 302 auf, um den ersten Leistungszustand auf den zweiten Leistungszustand einzustellen und/oder auf andere Weise von dem ersten Leistungszustand auf den zweiten Leistungszustand zu wechseln, um die Richtlinie 124 von 1 einzustellen, um die Leistung des Rechensystems 102 zu erhöhen und/oder auf andere Weise zu verbessern. In einigen Beispielen ruft der Richtlinieneinsteller 212 die Systemleistungsrichtlinienlogik 302 auf, um den zweiten Leistungszustand auf den ersten Leistungszustand einzustellen und/oder auf andere Weise von dem zweiten Leistungszustand auf den ersten Leistungszustand zu wechseln, um die Richtlinie 124 von 1 einzustellen, um die Leistung des Rechensystems 102 zu verringern und/oder auf andere Weise zu verringern.
-
In dem veranschaulichten Beispiel von 3 ruft der Richtlinieneinsteller 212 die Energieeffizienzrichtlinienlogik 304 auf, um die Richtliniendaten 220 zu erzeugen, die ein Verbessern der Energieeffizienz des Rechensystems 102 auf Kosten der Leistung angeben sollen. In dem Beispiel von 3 bestimmt die Energieeffizienzrichtlinienlogik 304, ob beispielhafte Energiezustände (z. B. Energieeffizienzzustände) 314 von einer/mehreren der Ressource(n) des Rechensystems 102 eingestellt werden sollen. Die Energiezustände 314 dieses Beispiels entsprechen einem oder mehreren von der CPU 106, der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110 usw. des Rechensystems 102 von 1. Zum Beispiel entsprechen die Energiezustände 314 der CPU 106. In weiteren Beispielen entspricht jeder der Energiezustände 314 einem von der CPU 106, der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110 usw.
-
In einigen Beispielen entspricht ein erster Energiezustand (ENERGIEZUSTAND 0) der Energiezustände 314 einem ersten Energiezustand der CPU 106, einem ersten Energiezustand der ersten Beschleunigungsressource 108, einem ersten Energiezustand der zweiten Beschleunigungsressource 110 usw. von 1. In solchen Beispielen ist der erste Energiezustand für eine erste Frequenz der ersten Beschleunigungsressource 108, einen ersten Leistungspegel zum Liefern an eine Wi-Fi-Schnittstelle der Schnittstellenressource 114, eine Bestimmung zur Verwendung einer diskreten Grafikkarte usw. repräsentativ.
-
In einigen Beispielen entspricht ein zweiter Energiezustand (ENERGIEZUSTAND 1) der Energiezustände 314 einem zweiten Energiezustand der CPU 106, einem zweiten Energiezustand der ersten Beschleunigungsressource 108, einem zweiten Energiezustand der zweiten Beschleunigungsressource 110 usw. von 1. In solchen Beispielen ist der zweite Energiezustand für eine zweite Frequenz der ersten Beschleunigungsressource 108, die niedriger als die erste Frequenz ist, einen zweiten Leistungspegel zum Liefern an die Wi-Fi-Schnittstelle der Schnittstellenressource 114, der niedriger als der erste Leistungspegel ist, eine Bestimmung zur Verwendung einer integrierten Grafikkarte, die weniger Energie als die diskrete Grafikkarte verwendet, usw. repräsentativ.
-
Vorteilhafterweise ruft der Richtlinieneinsteller 212 in einigen Beispielen die Energieeffizienzrichtlinienlogik 304 auf, um den ersten Energiezustand auf den zweiten Energiezustand einzustellen und/oder auf andere Weise von dem ersten Energiezustand auf den zweiten Energiezustand zu wechseln, um die Richtlinie 124 von 1 einzustellen, um die Energieeffizienz des Rechensystems 102 zu erhöhen und/oder auf andere Weise zu verbessern. In einigen Beispielen ruft der Richtlinieneinsteller 212 die Energieeffizienzrichtlinienlogik 304 auf, um den zweiten Energiezustand auf den ersten Energiezustand einzustellen und/oder auf andere Weise von dem zweiten Energiezustand auf den ersten Energiezustand zu wechseln, um die Richtlinie 124 von 1 einzustellen, um die Energieeffizienz des Rechensystems 102 zu verringern und/oder auf andere Weise zu verringern.
-
In einigen Beispielen erhält der Richtlinieneinsteller
212 die Modellausgabe(n)
216 und bestimmt basierend auf der/den Modellausgabe(n)
216, ob die Systemleistungsrichtlinienlogik
302 oder die Energieeffizienzrichtlinienlogik
304 aufgerufen werden soll. In einigen Beispielen wechselt der Richtlinieneinsteller
212 basierend auf zumindest einem von einer ersten beispielhaften Gleichung oder einer zweiten beispielhaften Gleichung von der Energieeffizienzrichtlinienlogik
304 zu der Systemleistungsrichtlinienlogik
302, wie unten beschrieben:
-
Die Beispiele der vorstehenden Gleichung (1) und Gleichung (2) stellen eine beispielhafte Logik dar, die durch den Richtlinieneinsteller 212 ausgeführt wird. In dem Beispiel der vorstehenden Gleichung (1) ist
P(Low Battery Capacity for Usage Classification) eine beispielhafte Wahrscheinlichkeit einer niedrigen Akkukapazität, die eine Wahrscheinlichkeit dafür darstellt, ob das Rechensystem 102 für eine gegebene oder angegebene Verwendungsklassifizierung in einem Zustand einer niedrigen Akkukapazität betrieben werden soll, wie wenn die Leistungsquelle 118 eine Akkukapazität aufweist, die niedriger als ein Akkukapazitätsschwellwert ist (z. B. ein Akkukapazitätsschwellwert von 5 %, 15 %, 25 % usw.). In dem Beispiel der vorstehenden Gleichung (1) ist LowBatE2P ein Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität, der in der/den Richtlinieneinstellung(en) 214 von 2 definiert ist. Zum Beispiel entspricht LowBatE2P einem Wahrscheinlichkeitsschwellwert dafür, dass das Rechensystem 102 als Reaktion darauf, dass das Rechensystem 102 von einem Energieeffizienzzustand (E) in einen Systemleistungszustand (P) wechselt, mit der niedrigen Akkukapazität betrieben werden soll.
-
In dem Beispiel der vorstehenden Gleichung (2) entspricht der Begriff „Change in Battery Capacity for Usage Classification“ einer vorhergesagten, geschätzten und/oder auf andere Weise bestimmten Änderung (z. B. einer Prozentsatzänderung) der Akkukapazität der Leistungsquelle 118 basierend auf einer Verwendungsklassifizierung, nachdem ein Zeitraum (z. B. eine Minute, eine Stunde, ein Tag usw.) abgelaufen und/oder auf andere Weise erfolgt ist. In dem Beispiel der vorstehenden Gleichung (2) ist BatCapE2P ein Akkukapazitätsänderungsschwellwert, der in der/den Richtlinieneinstellung(en) 214 von 2 definiert ist. Zum Beispiel entspricht BatCapE2P einem Schwellwert, der für eine Änderung der Akkukapazität als Reaktion darauf, dass das Rechensystem 102 von einem Energieeffizienzzustand (E) in einen Systemleistungszustand (P) wechselt, repräsentativ ist.
-
In einigen Beispielen ruft der Richtlinieneinsteller 212 die Systemleistungsrichtlinienlogik 302 als Reaktion darauf auf, dass zumindest eine der vorstehenden Gleichung (1) oder Gleichung (2) erfüllt ist. Zum Beispiel ruft der Richtlinieneinsteller 212 die Systemleistungsrichtlinienlogik 302 als Reaktion auf zumindest eines davon auf, (1) dass ein erster Wahrscheinlichkeitswert (z. B. eine erste Wahrscheinlichkeit einer niedrigen Akkukapazitätswert, eine erste P(Low Battery Capacity for Usage Classification), usw.) einen Wahrscheinlichkeitsschwellwert (z. B. einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität, einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität, LowBatE2P usw.) basierend darauf erfüllt, dass der erste Wahrscheinlichkeitswert niedriger als der Wahrscheinlichkeitsschwellwert ist, oder (2) dass eine Änderung der Akkukapazität als Reaktion auf ein Wechseln von einer energieeffizienten Richtlinie zu einer Richtlinie für eine verbesserte Leistung (z. B. Change in Battery Capacity for Usage Classification) einen Akkukapazitätsschwellwert (z. B. BatCapE2P) basierend darauf erfüllt, dass die Änderung niedriger als der Akkukapazitätsschwellwert ist. In solchen Beispielen ist der Wahrscheinlichkeitsschwellwert, der Akkukapazitätsschwellwert usw. in den Richtlinieneinstellungsdaten 218 enthalten, die von der/den Richtlinieneinstellung(en) 214 abgerufen werden, die durch einen Benutzer durch Ausführen einer Anweisung oder eines Befehls mit der Benutzerschnittstelle 126 von 1 usw. eingestellt werden. Vorteilhafterweise erhöht die Systemleistungsrichtlinienlogik 302 in einigen Beispielen die Leistung des Rechensystems 102 als Reaktion auf ein Bestimmen, dass der erste Wahrscheinlichkeitswert, der den Wahrscheinlichkeitsschwellwert erfüllt, eine niedrige Wahrscheinlichkeit einer niedrigen Akkukapazität angibt.
-
In einigen Beispielen bestimmt die Systemleistungsrichtlinienlogik 302 als Reaktion auf ein Aufrufen der Systemleistungsrichtlinienlogik 302 basierend auf einem Erfüllen von zumindest einem von dem Wahrscheinlichkeitsschwellwert oder dem Akkukapazitätsschwellwert, wie oben beschrieben, in welchen der Leistungszustände 312 das Rechensystem 102 wechseln soll. Zum Beispiel wählt die Systemleistungsrichtlinienlogik 302 den ersten Leistungszustand aus. In solchen Beispielen vergleicht die Systemleistungsrichtlinienlogik 302 die durch ein Wechseln des Rechensystems 102 in den ersten Leistungszustand angegebenen Einstellungen mit den in der/den Richtlinienbelohnungsausgabe(n) 310 enthaltenen Richtlinienbelohnungen.
-
In einigen Beispielen bestimmt die Systemleistungsrichtlinienlogik 302, ob ein Ausführen der durch den ersten Leistungszustand angegebenen Einstellungen bewirkt, dass ein Schwellwert, wie der Akkukapazitätsschwellwert, nicht mehr erfüllt ist. Wenn zum Beispiel der Akkukapazitätsschwellwert 40 % beträgt, bestimmt die Systemleistungsrichtlinienlogik 302 als Reaktion auf ein Bestimmen, dass die Richtlinienbelohnung(en) für ein Wechsein in den dritten Leistungszustand nicht bewirken, dass die Akkukapazität unter den Akkukapazitätsschwellwert von 40 % fällt, den dritten Leistungszustand (z. B. den Leistungszustand 2) auszuwählen. In weiteren Beispielen, wenn der Akkukapazitätsschwellwert 40 % beträgt, bestimmt die Systemleistungsrichtlinienlogik 302 als Reaktion auf ein Bestimmen, dass die Richtlinienbelohnung(en) für ein Wechseln in den dritten Leistungszustand bewirken, dass die Akkukapazität unter den Akkukapazitätsschwellwert von 40 % fällt, und somit bewirken, dass der Akkukapazitätsschwellwert nicht mehr erfüllt ist, den dritten Leistungszustand nicht auszuwählen. In solchen Beispielen wählt die Systemleistungsrichtlinienlogik 302 den ersten Leistungszustand, den zweiten Leistungszustand usw. aus, um durch Wechseln in einen solchen Leistungszustand sicherzustellen, dass der Akkukapazitätsschwellwert erfüllt ist.
-
In einigen Beispielen wechselt der Richtlinieneinsteller
212 basierend auf zumindest einem von einer dritten beispielhaften Gleichung oder einer vierten beispielhaften Gleichung von der Systemleistungsrichtlinienlogik
302 zu der Energieeffizienzrichtlinienlogik
304, wie unten beschrieben:
-
Die Beispiele der vorstehenden Gleichung (3) und Gleichung (4) stellen eine beispielhafte Logik dar, die durch den Richtlinieneinsteller 212 ausgeführt wird. In dem Beispiel der vorstehenden Gleichung (3) ist LowBatP2E ein Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität, der in der/den Richtlinieneinstellung(en) 214 von 2 definiert ist. Zum Beispiel entspricht LowBatP2E einem Wahrscheinlichkeitsschwellwert dafür, dass das Rechensystem 102 als Reaktion darauf, dass das Rechensystem 102 von einem Systemleistungszustand (P) in einen Energieeffizienzzustand (E) wechselt, mit der niedrigen Akkukapazität betrieben werden soll. In dem Beispiel der vorstehenden Gleichung (4) ist BatCapP2E ein Akkukapazitätsänderungsschwellwert, der in der/den Richtlinieneinstellung(en) 214 von 2 definiert ist. Zum Beispiel entspricht BatCapP2E einem Schwellwert, der für eine Änderung der Akkukapazität als Reaktion darauf, dass das Rechensystem 102 von einem Systemleistungszustand (P) in einen Energieeffizienzzustand (E) wechselt, repräsentativ ist.
-
In einigen Beispielen ruft der Richtlinieneinsteller 212 die Energieeffizienzrichtlinienlogik 304 als Reaktion darauf auf, dass zumindest eine der vorstehenden Gleichung (3) oder Gleichung (4) erfüllt ist. Zum Beispiel ruft der Richtlinieneinsteller 212 die Energieeffizienzrichtlinienlogik 304 als Reaktion auf zumindest eines davon auf, (1) dass ein zweiter Wahrscheinlichkeitswert (z. B. eine zweite Wahrscheinlichkeit einer niedrigen Akkukapazitätswert, eine zweite P(Low Battery Capacity for Usage Classification) usw.) einen Wahrscheinlichkeitsschwellwert (z. B. einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität, einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität, LowBatE2P usw.) basierend darauf erfüllt, dass ein zweiter Wahrscheinlichkeitswert größer oder gleich dem Wahrscheinlichkeitsschwellwert ist, oder (2) dass eine Änderung der Akkukapazität als Reaktion auf ein Wechseln von einer Richtlinie für eine verbesserte Leistung zu einer energieeffizienten Richtlinie (z. B. Change in Battery Capacity for Usage Classification) einen Akkukapazitätsschwellwert (z. B. BatCapP2E) basierend darauf erfüllt, dass die Änderung größer oder gleich dem Akkukapazitätsschwellwert ist. In solchen Beispielen sind der Wahrscheinlichkeitsschwellwert, der Akkukapazitätsschwellwert usw. in den Richtlinieneinstellungsdaten 218 enthalten, die durch einen Benutzer durch Ausführen einer Anweisung oder eines Befehls mit der Benutzerschnittstelle 126 von 1 usw. eingestellt werden.
-
In einigen Beispielen, als Reaktion auf ein Aufrufen der Energieeffizienzrichtlinienlogik 304 basierend auf einem Erfüllen der Logikbeziehungen in zumindest einer der vorstehenden Gleichung (3) oder Gleichung (4), bestimmt die Energieeffizienzrichtlinienlogik 304, in welchem der Energiezustände 314 das Rechensystem 102 angewiesen werden soll, zu arbeiten. Zum Beispiel wählt die Energieeffizienzrichtlinienlogik 304 den ersten Energiezustand aus. In solchen Beispielen vergleicht die Energieeffizienzrichtlinienlogik 304 die durch ein Wechseln des Rechensystems 102 in den ersten Energiezustand angegebenen Einstellungen mit den in der/den Richtlinienbelohnungsausgabe(n) 310 enthaltenen Richtlinienbelohnungen, um zu bestimmen, ob der Akkukapazitätsschwellwert erfüllt wird. In solchen Beispielen wählt die Energieeffizienzrichtlinienlogik 304 als Reaktion darauf, dass der Akkukapazitätsschwellwert als Reaktion auf die durch die Richtlinienbelohnungen angegebenen Einstellungen erfüllt wird, den ersten Energiezustand aus.
-
In einigen Beispielen bestimmt die Energieeffizienzrichtlinienlogik 304, ob ein Ausführen der durch den ersten Energiezustand angegebenen Einstellungen bewirkt, dass ein Schwellwert, wie der Akkukapazitätsschwellwert, erfüllt ist. Wenn zum Beispiel der Akkukapazitätsschwellwert 20 % beträgt, bestimmt die Energieeffizienzrichtlinienlogik 304 als Reaktion auf ein Bestimmen, dass die Richtlinienbelohnung(en) für ein Wechsein in den dritten Energiezustand nicht bewirken, dass die Akkukapazität unter den Akkukapazitätsschwellwert von 20 % fällt, den dritten Energiezustand (z. B. den ENERGIEZUSTAND 2) auszuwählen. In weiteren Beispielen, wenn der Akkukapazitätsschwellwert 20 % beträgt, bestimmt die Energieeffizienzrichtlinienlogik 304 als Reaktion auf ein Bestimmen, dass die Richtlinienbelohnung(en) für ein Wechseln in den dritten Energiezustand bewirken, dass die Akkukapazität unter den Akkukapazitätsschwellwert von 20 % fällt, den dritten Energiezustand nicht auszuwählen. In solchen Beispielen wählt die Systemleistungsrichtlinienlogik 302 den ersten Energiezustand, den zweiten Energiezustand usw. aus, um durch Wechseln in einen solchen Energiezustand sicherzustellen, dass der Akkukapazitätsschwellwert erfüllt ist.
-
In einigen Beispielen wechselt der Richtlinieneinsteller 212 nach einem oder anschließend an ein Aufrufen der Energieeffizienzrichtlinienlogik 304 (z. B. Aufrufen der Logik einer energieeffizienten Richtlinie 304 als Reaktion darauf, dass zumindest eine der vorstehenden Gleichung (3) oder Gleichung (4) erfüllt ist) in die Systemleistungsrichtlinienlogik 302. Zum Beispiel bestimmt der Richtlinieneinsteller 212 zu einem ersten Zeitpunkt, dass die Verwendungsklassifizierung des Rechensystems 102 eine erste Verwendungsklassifizierung ist, die für eine schwere Verwendung repräsentativ ist, und die Wahrscheinlichkeit eine erste Wahrscheinlichkeit ist, die dafür repräsentativ ist, dass ein Benutzer eine verhältnismäßig geringe Angst vor einer Akkuentleerung hat. In solchen Beispielen bestimmt der Richtlinieneinsteller 212 zu einem zweiten Zeitpunkt nach dem ersten Zeitpunkt basierend auf den Telemetriedaten 122, die angeben, dass der Benutzer nicht erlaubt, dass die Leistungsquelle 118 unter einen Schwellwert einer niedrigen Akkukapazität fällt, und stattdessen die Leistungsquelle 118 lädt, bevor das Rechensystem 102 aufgrund einer niedrigen Akkukapazität abrupt ausgeschaltet wird, dass der Benutzer eine verhältnismäßig hohe Angst vor einer Akkuentleerung hat. In solchen Beispielen bestimmt der Richtlinieneinsteller 212, dass die Verwendungsklassifizierung des Rechensystems 102 eine zweite Verwendungsklassifizierung ist, die für eine schwere Verwendung repräsentativ ist, und die Wahrscheinlichkeit eine zweite Wahrscheinlichkeit ist, die dafür repräsentativ ist, dass der Benutzer eine verhältnismäßig hohe Angst vor einer Akkuentleerung hat. In einigen solchen Beispielen, als Reaktion auf ein Bestimmen von zumindest einem von der zweiten Verwendungsklassifizierung oder der zweiten Wahrscheinlichkeit, wechselt der Richtlinieneinsteller 212 von der Energieeffizienzlogik 304 zu der Systemleistungsrichtlinienlogik 302, um die Systemleistung des Rechensystems 102 zu verbessern. Vorteilhafterweise lernt der Richtlinieneinsteller 212 und/oder bestimmt auf andere Weise über einen Zeitraum eine entsprechende Verwendungsklassifizierung, eine Wahrscheinlichkeit einer niedrigen Akkukapazität usw. und/oder eine Kombination davon, die in Verbindung mit der Verwendung des Rechensystems 102 steht, durch Ausführen von einem oder mehreren KI-/ML-Modellen.
-
Flussdiagramme, die beispielhafte Hardwarelogik, maschinenlesbare Anweisungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige Kombination davon zum Implementieren der beispielhaften Leistungsrichtliniensteuerung 104A-B von 1 und/oder 2 darstellen, sind in 4-7 gezeigt. Die maschinenlesbaren Anweisungen können ein oder mehrere ausführbare Programme oder (einen) Abschnitt(e) eines ausführbaren Programms zur Ausführung durch einen Computerprozessor und/oder Prozessorschaltungen, wie den Prozessor 812, sein, der in der beispielhaften Prozessorplattform 800 gezeigt ist, die unten in Verbindung mit 8 erörtert ist. Das Programm kann in Software ausgeführt sein, die auf einem nicht transitorischen computerlesbaren Speichermedium, wie einer CD-ROM, einer Diskette, einer Festplatte, einer DVD, einem Blu-ray-Datenträger oder einem Speicher in Verbindung mit dem Prozessor 812, gespeichert ist, aber das gesamte Programm und/oder Teile davon könnten alternativ dazu durch eine andere Vorrichtung als den Prozessor 812 ausgeführt werden und/oder in Firmware oder dedizierter Hardware ausgeführt sein. Wenngleich ferner das beispielhafte Programm Bezug nehmend auf die in 4-7 beschriebenen Flussdiagramme veranschaulicht ist, können viele andere Verfahren zum Implementieren der beispielhaften Leistungsrichtliniensteuerung 104A-B alternativ dazu verwendet werden. Zum Beispiel kann die Ausführungsreihenfolge der Blöcke geändert werden und/oder können einige der beschriebenen Blöcke geändert, entfernt oder kombiniert werden. Zusätzlich oder alternativ dazu können beliebige oder alle der Blöcke durch eine oder mehrere Hardwareschaltungen (z. B. diskrete und/oder integrierte analoge und/oder digitale Schaltungen, eine FPLD, eine ASIC, einen Komparator, einen Operationsverstärker (op-amp), eine Logikschaltung usw.) implementiert werden, die strukturiert sind, um die entsprechende Operation durchzuführen, ohne Software oder Firmware auszuführen. Die Prozessorschaltungen können an verschiedenen Netzwerkorten verteilt und/oder für eine oder mehrere Vorrichtungen (z. B. einen Mehrkernprozessor in einer einzelnen Maschine, mehrere Prozessoren, die über ein Server-Rack verteilt sind, usw.) lokal sein.
-
Die hierin beschriebenen maschinenlesbaren Anweisungen können in einem oder mehreren von einem komprimierten Format, einem verschlüsselten Format, einem fragmentierten Format, einem kompilierten Format, einem ausführbaren Format, einem gepackten Format usw. gespeichert sein. Maschinenlesbare Anweisungen wie hierin beschrieben können als Daten oder eine Datenstruktur (z. B. Abschnitte von Anweisungen, Code, Darstellungen von Code usw.) gespeichert sein, die genutzt werden können, um maschinenausführbare Anweisungen zu erstellen, herzustellen und/oder zu erzeugen. Zum Beispiel können die maschinenlesbaren Anweisungen fragmentiert und auf einer oder mehreren Speichervorrichtungen und/oder Rechenvorrichtungen (z. B. Servern) gespeichert sein, die sich am gleichen oder an verschiedenen Orten eines Netzwerks oder einer Sammlung von Netzwerken (z. B. in der Cloud, in Edge-Vorrichtungen usw.) befinden. Die maschinenlesbaren Anweisungen können eines oder mehrere von Installation, Modifikation, Anpassung, Aktualisieren, Kombinieren, Erweitern, Konfigurieren, Entschlüsselung, Dekomprimierung, Entpacken, Verteilung, Neuzuweisung, Kompilierung usw. erfordern, um sie direkt durch eine Rechenvorrichtung und/oder andere Maschine lesbar, interpretierbar und/oder ausführbar zu machen. Zum Beispiel können die maschinenlesbaren Anweisungen in mehreren Teilen gespeichert sein, die einzeln komprimiert, verschlüsselt und auf separaten Rechenvorrichtungen gespeichert werden, wobei die Teile, wenn sie entschlüsselt, dekomprimiert und kombiniert werden, einen Satz von ausführbaren Anweisungen bilden, die eine oder mehrere Funktionen implementieren, die zusammen ein Programm wie das hierin beschriebene, bilden können.
-
In einem anderen Beispiel können die maschinenlesbaren Anweisungen in einem Zustand gespeichert sein, in dem sie durch Prozessorschaltungen gelesen werden können, aber die Hinzufügung einer Bibliothek (z. B. einer Dynamical Linked Library (DLL)), eines Software Development Kit (SDK), einer Anwendungsprogrammierschnittstelle (API) usw. erfordern, um die Anweisungen auf einer bestimmten Rechenvorrichtung oder anderen Vorrichtung auszuführen. In einem anderen Beispiel müssen die maschinenlesbaren Anweisungen möglicherweise konfiguriert werden (z. B. Einstellungen gespeichert, Daten eingegeben, Netzwerkadressen erfasst usw.), bevor die maschinenlesbaren Anweisungen und/oder das/die entsprechende(n) Programm(e) ganz oder teilweise ausgeführt werden können. Somit können maschinenlesbare Medien, wie hierin verwendet, maschinenlesbare Anweisungen und/oder (ein) Programm(e) unabhängig von dem bestimmten Format oder Zustand der maschinenlesbaren Anweisungen und/oder des Programms/der Programme, wenn sie gespeichert oder auf andere Weise im Ruhezustand oder im Übermittlungszustand sind, einschließen.
-
Die hierin beschriebenen maschinenlesbaren Anweisungen können durch eine beliebige frühere, aktuelle oder künftige Anweisungssprache, Skriptsprache, Programmiersprache usw. dargestellt sein. Zum Beispiel können die maschinenlesbaren Anweisungen unter Verwendung einer beliebigen der folgenden Sprachen dargestellt sein: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), SQL, Swift usw.
-
Wie oben angegeben, können die beispielhaften Prozesse von 4-9 unter Verwendung von ausführbaren Anweisungen (z. B. computer- und/oder maschinenlesbaren Anweisungen) implementiert sein, die auf einem nicht transitorischen computer- und/oder maschinenlesbaren Medium, wie einem Festplattenlaufwerk, einem Flash-Speicher, einem Festwertspeicher, einer CD, einer DVD, einem Cache, einem Speicher mit wahlfreiem Zugriff und/oder einer beliebigen anderen Speichervorrichtung oder Speicherplatte gespeichert sind, in der Informationen für eine beliebige Dauer (z. B. für längere Zeiträume, dauerhaft, für kurze Instanzen, für vorübergehendes Puffern und/oder zum Zwischenspeichern der Informationen) gespeichert werden. Wie hierin verwendet, ist der Begriff nicht transitorisches computerlesbares Medium ausdrücklich als einen beliebigen Typ von computerlesbarer Speichervorrichtung und/oder Speicherplatte einschließend und als propagierende Signale ausschließend und als Übertragungsmedien ausschließend definiert.
-
„Einschließlich“ und „umfassend“ (und alle Formen und Zeitformen davon) werden hierin als offene Begriffe verwendet. Somit sei klargestellt, dass jedes Mal, wenn ein Anspruch eine beliebige Form von „einschließen“ oder „umfassen“ (z. B. umfasst, schließt ein, umfassend, einschließlich, aufweisend usw.) als einen Oberbegriff oder innerhalb einer Anspruchsangabe irgendeiner Art einsetzt, zusätzliche Elemente, Begriffe usw. vorhanden sein können, ohne außerhalb des Schutzumfangs des entsprechenden Anspruchs oder der entsprechenden Angabe zu fallen. Wenn bei Verwendung in diesem Dokument der Ausdruck „zumindest“ als der Übergangsbegriff in zum Beispiel einem Oberbegriff eines Anspruchs verwendet wird, ist dieser in der gleichen Weise offen, wie die Begriffe „umfassend“ und „einschließlich“ offen sind. Der Begriff „und/oder“ bezieht sich, wenn er zum Beispiel in einer Form, wie A, B und/oder C, verwendet wird, auf eine beliebige Kombination oder einen beliebigen Teilsatz von A, B, C, wie (1) A allein, (2) B allein, (3) C allein, (4) A mit B, (5) A mit C, (6) B mit C und (7) A mit B und mit C. Bei Verwendung in diesem Dokument im Kontext des Beschreibens von Strukturen, Komponenten, Elementen, Objekten und/oder Dingen soll sich der Ausdruck „zumindest eines von A und B“ auf Implementierungen beziehen, die ein beliebiges von (1) zumindest ein A, (2) zumindest ein B und (3) zumindest ein A und zumindest ein B einschließen. In ähnlicher Weise soll sich der Ausdruck „zumindest eines von A oder B“ bei Verwendung in diesem Dokument im Kontext des Beschreibens von Strukturen, Komponenten, Elementen, Objekten und/oder Dingen auf Implementierungen beziehen, die ein beliebiges von (1) zumindest ein A, (2) zumindest ein B und (3) zumindest ein A und zumindest ein B einschließen. Bei Verwendung in diesem Dokument im Kontext des Beschreibens der Durchführung oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten soll sich der Ausdruck „zumindest eines von A und B“ auf Implementierungen beziehen, die ein beliebiges von (1) zumindest ein A, (2) zumindest ein B und (3) zumindest ein A und zumindest ein B einschließen. In ähnlicher Weise soll sich der Ausdruck „zumindest eines von A oder B“ bei Verwendung in diesem Dokument im Kontext des Beschreibens der Durchführung oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten auf Implementierungen beziehen, die ein beliebiges von (1) zumindest ein A, (2) zumindest ein B und (3) zumindest ein A und zumindest ein B einschließen.
-
Bei Verwendung in diesem Dokument schließen Bezugnahmen auf die Einzahl (z. B. „ein“, „eine“, „erste/r/s“, „zweite/r/s“ usw.) eine Vielzahl nicht aus. Der Begriff „eine“ Entität bezieht sich bei Verwendung in diesem Dokument auf eine oder mehrere von dieser Entität. Die Begriffe „ein“ (oder „eine/r/s“), „eine/r/s oder mehrere“ und „zumindest ein/e/r/s“ können hierin austauschbar verwendet werden. Des Weiteren, wenngleich einzeln aufgeführt, kann eine Vielzahl von Mitteln, Elementen oder Verfahrensaktionen durch z. B. eine einzelne Einheit oder einen einzelnen Prozessor implementiert werden. Zusätzlich, wenngleich einzelne Merkmale in verschiedenen Beispielen oder Ansprüchen enthalten sein können, können diese möglicherweise kombiniert werden, und die Einbeziehung in verschiedenen Beispielen oder Ansprüchen impliziert nicht, dass eine Kombination von Merkmalen nicht durchführbar und/oder vorteilhaft ist.
-
4 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen 400 darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 und/oder 2 zu implementieren, um das beispielhafte Rechensystem 102 von 1 anzuweisen, die beispielhafte Richtlinie 124 von 1 basierend auf (einer) beispielhafte(n) Leistungsrichtlinieneinstellung(en) einzustellen.
-
Die maschinenlesbaren Anweisungen 400 von 4 beginnen bei Block 402, bei dem die Leistungsrichtliniensteuerung 104A-B Telemetrieparameter basierend auf Telemetriedaten bestimmt, die von (einer) Ressource(n) eines Rechensystems erhalten werden. Zum Beispiel erhält die Richtliniensteuerungsschnittstelle 202 (2) die Telemetriedaten 122 von 1 und/oder 2 von einer oder mehreren Ressourcen, wie der CPU 106, der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110, der Universalverarbeitungsressource 112, der Schnittstellenressource 114, der Leistungsquelle 118, der Datenbank 120 und/oder allgemeiner dem Rechensystem 102 (z. B. Hardware, Software und/oder Firmware in Verbindung mit dem Rechensystem 102). In solchen Beispielen bestimmt die Richtliniensteuerungsschnittstelle 202 basierend auf den Telemetriedaten 122 Telemetrieparameter, wie eine Nutzung von einer/mehreren der Ressource(n), eine Akkukapazität der Leistungsquelle 118, eine Identifikation von einem oder mehreren Prozessen oder Diensten, die durch eine/mehrere der Ressource(n) ausgeführt werden, usw. Alternativ dazu bestimmt der Verwendungsklassifizierer 206, der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208, der Richtlinienbelohnungsbestimmer 210 und/oder allgemeiner der Richtlinienmodellausführer 204 von 2 die Telemetrieparameter basierend auf den Telemetriedaten 122. Ein beispielhafter Prozess, der zum Implementieren von Block 402 ausgeführt werden kann, ist unten in Verbindung mit 5 beschrieben.
-
Bei Block 404 klassifiziert die Leistungsrichtliniensteuerung 104A-B die Verwendung des Rechensystems. Zum Beispiel führt der Verwendungsklassifizierer 206 (2) ein oder mehrere KI-/ML-Modelle aus, um die Verwendung des Rechensystems 102 als eine erste Verwendungsklassifizierung, die eine erste Ebene der Ressourcenanforderung angibt, eine zweite Verwendungsklassifizierung, die eine zweite Ebene der Ressourcenanforderung angibt, usw. zu klassifizieren und/oder auf andere Weise zu charakterisieren. In solchen Beispielen klassifiziert der Verwendungsklassifizierer 206 einen Benutzer in Verbindung mit der ersten Verwendungsklassifizierung, der zweiten Verwendungsklassifizierung usw. als eine verhältnismäßig niedrige Ebene von Angst vor einer Akkuentleerung, eine verhältnismäßig hohe Ebene von Angst vor einer Akkuentleerung usw. aufweisend.
-
Bei Block 406 bestimmt die Leistungsrichtliniensteuerung 104A-B basierend auf der Klassifizierung eine Wahrscheinlichkeit, dass das Rechensystem mit einer niedrigen Akkukapazität betrieben wird. Zum Beispiel führt der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 (2) ein oder mehrere KI-/ML-Modelle aus, um eine Wahrscheinlichkeit zu bestimmen, die für eine Wahrscheinlichkeit repräsentativ ist, dass das Rechensystem 102 (eine) Rechenaufgabe(n) bewirken und/oder auf andere Weise ausführen soll, wenn sich die Leistungsquelle 118 in einem Zustand niedriger Akkukapazität befindet (z. B. erfüllt eine Akkukapazität der Leistungsquelle 118 einen Schwellwert einer niedrigen Akkukapazität). In solchen Beispielen bestimmt der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 die Wahrscheinlichkeit basierend auf der Klassifizierung der Verwendung des Rechensystems 102.
-
Bei Block 408 bestimmt die Leistungsrichtliniensteuerung 104A-B (eine) Leistungsrichtlinieneinstellung(en) basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit. Zum Beispiel bestimmt der Richtlinienbelohnungsbestimmer 210 (2) eine oder mehrere Leistungsrichtlinieneinstellungen an der Richtlinie 124 von 1 basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit. In solchen Beispielen, als Reaktion auf ein Bestimmen, dass die Klassifizierung für eine verhältnismäßig hohe oder schwere Anforderung an Ressourcen (z. B. Inhaltserstellungsaufgaben, Grafikerzeugung usw.) repräsentativ ist, bestimmt der Richtlinienbelohnungsbestimmer 210 erste Leistungsrichtlinieneinstellungen zum Erhöhen der Systemleistung, um die Anforderung an die Ressourcen zu berücksichtigen, zweite Leistungsrichtlinieneinstellungen zum Erhöhen der Energieeffizienz des Systems, um die Akkulaufzeit zu verlängern, usw. und/oder eine Kombination davon. In einigen solchen Beispielen, als Reaktion auf ein Implementieren von einer oder mehreren der ersten Leistungsrichtlinieneinstellungen, einer oder mehreren der zweiten Leistungsrichtlinieneinstellungen usw. und/oder einer Kombination davon, bestimmt der Richtlinienbelohnungsbestimmer 210 eine Richtlinienbelohnung und/oder weist diese auf andere Weise zu.
-
Bei Block 410 wählt die Leistungsrichtliniensteuerung 104A-B einen Zustand/Zustände der Ressource(n) basierend auf der/den Leistungsrichtlinieneinstellung(en) aus. Zum Beispiel bestimmt der Richtlinieneinsteller 212 (2) basierend auf der/den Leistungsrichtlinieneinstellung(en), die Systemleistungsrichtlinienlogik 302 (3) aufzurufen, um die Leistung auf Kosten der Energieeffizienz zu verbessern. In solchen Beispielen ordnet der Richtlinieneinsteller 212 die Leistungsrichtlinieneinstellung(en) zu dem ersten Leistungszustand der Leistungszustände 312 für eine oder mehrere der Ressourcen zu. In weiteren Beispielen bestimmt der Richtlinieneinsteller 212 basierend auf der/den Leistungsrichtlinieneinstellung(en), die Energieeffizienzrichtlinienlogik 304 (3) aufzurufen, um die Energieeffizienz auf Kosten der Leistung zu verbessern. In solchen Beispielen ordnet der Richtlinieneinsteller 212 die Leistungsrichtlinieneinstellung(en) zu dem ersten Energiezustand der Energiezustände 314 für eine oder mehrere der Ressourcen zu.
-
Bei Block 412 bestimmt die Leistungsrichtliniensteuerung 104A-B eine Akkukapazität basierend auf der/den Ressource(n) in dem/den ausgewählten Zustand/Zuständen. Zum Beispiel bestimmt der Richtlinieneinsteller 212 eine Akkukapazität der Leistungsquelle 118 als Reaktion auf ein Anweisen von einer/mehreren der Ressource(n), in den ausgewählten Zustand, wie den ersten Leistungszustand, zu wechseln.
-
Bei Block 414 bestimmt die Leistungsrichtliniensteuerung 104A-B, ob die Akkukapazität einen Akkukapazitätsschwellwert erfüllt. Zum Beispiel sagt der Richtlinieneinsteller 212 als Reaktion darauf, dass eine/mehrere der Ressource(n) (eine) Rechenaufgabe(n) ausführen, während sie sich im ersten Leistungszustand befinden, vorher, dass die Leistungsquelle 118 nach einem Zeitraum eine erste Akkukapazität von 40 % aufweist. In solchen Beispielen bestimmt der Richtlinieneinsteller 212, dass die erste Akkukapazität von 40 % einen Akkukapazitätsschwellwert von 20 % gemäß Definition durch die Richtlinieneinstellungsdaten 218 von der/den Richtlinieneinstellung(en) 214 erfüllt. In anderen Beispielen sagt der Richtlinieneinsteller 212 als Reaktion darauf, dass eine/mehrere der Ressource(n) (eine) Rechenaufgabe(n) ausführen, während sie sich im ersten Leistungszustand befinden, vorher, dass die Leistungsquelle 118 nach dem Zeitraum eine zweite Akkukapazität von 10 % aufweisen kann. In solchen Beispielen bestimmt der Richtlinieneinsteller 212, dass die zweite Akkukapazität von 10 % den Akkukapazitätsschwellwert von 20 % gemäß Definition durch die Richtlinieneinstellungsdaten 218 nicht erfüllt.
-
Wenn, bei Block 414, die Leistungsrichtliniensteuerung 104A-B bestimmt, dass die Akkukapazität den Akkukapazitätsschwellwert nicht erfüllt, kehrt die Steuerung zu Block 410 zurück, um einen anderen Zustand/andere Zustände der Ressource(n) basierend auf der/den Leistungsrichtlinieneinstellung(en) auszuwählen. Wenn, bei Block 414, die Leistungsrichtliniensteuerung 104A-B bestimmt, dass die Akkukapazität den Akkukapazitätsschwellwert erfüllt, dann weist die Leistungsrichtliniensteuerung 104A-B, bei Block 416, das Rechensystem an, eine Leistungsrichtlinie basierend auf der/den Leistungsrichtlinieneinstellung(en) einzustellen. Zum Beispiel erzeugt der Richtlinieneinsteller 212 die Richtliniendaten 220 (2), um das Rechensystem 102 basierend auf der/den Leistungsrichtlinieneinstellung(en) anzuweisen, eine/mehrere der Ressource(n) auf den/die ausgewählten Zustand/Zustände zu wechseln, um die Richtlinie 124 einzustellen. In solchen Beispielen überträgt die Richtliniensteuerungsschnittstelle 202 die Richtliniendaten 220 an ein OS, das durch die CPU 106 über den Bus 116 (1-2), eine Firmware der ersten Beschleunigungsressource 108 usw. und/oder eine Kombination davon implementiert ist. Als Reaktion auf das Anweisen des Rechensystems, die Leistungsrichtlinie basierend auf der/den Leistungsrichtlinieneinstellung(en) bei Block 416 einzustellen, enden die beispielhaften maschinenlesbaren Anweisungen 400 von 4.
-
5 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen 500 darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 und/oder 2 zu implementieren, um beispielhafte Telemetrieparameter basierend auf den beispielhaften Telemetriedaten 122 von 1 und/oder 2 zu bestimmen, die von (einer) beispielhaften Ressource(n) des beispielhaften Rechensystems 102 von 1 erhalten werden. In einigen Beispielen werden die maschinenlesbaren Anweisungen 500 von 5 ausgeführt, um Block 402 des Beispiels von 4 zu implementieren.
-
Die beispielhaften maschinenlesbaren Anweisungen 500 von 5 beginnen bei Block 502, bei dem die Leistungsrichtliniensteuerung 104A-B Telemetriedaten von (einer) Ressource(n) eines Rechensystems erhält. Zum Beispiel erhält die Richtliniensteuerungsschnittstelle 202 (2) die Telemetriedaten 122 von 1 und/oder 2 von einer oder mehreren Ressourcen, wie der CPU 106, der ersten Beschleunigungsressource 108, der zweiten Beschleunigungsressource 110, der Universalverarbeitungsressource 112, der Schnittstellenressource 114, der Leistungsquelle 118, der Datenbank 120 und/oder allgemeiner dem Rechensystem 102 (z. B. Hardware, Software und/oder Firmware in Verbindung mit dem Rechensystem 102).
-
Bei Block 504 bestimmt die Leistungsrichtliniensteuerung 104A-B (einen) Prozess(e) und (einen) Dienst(e). Zum Beispiel bestimmt die Richtliniensteuerungsschnittstelle 202 (2) basierend auf den Telemetriedaten 122 einen Telemetrieparameter, der für einen Prozess (z. B. eine Instanz einer ausführbaren Datei, einer EXE-Datei usw.), wie einen Internet-Browser, eine Medienwiedergabevorrichtung usw. in Verbindung mit der CPU 106, der Schnittstellenressource 114, der Leistungsquelle 118 usw. repräsentativ ist. In weiteren Beispielen bestimmt die Richtliniensteuerungsschnittstelle 202 basierend auf den Telemetriedaten 122 einen Telemetrieparameter, der für einen Dienst (z. B. einen Prozess, der im Hintergrund ausgeführt wird und nicht mit einer Desktop- oder Hauptausführungsumgebung interagiert), wie eine DLL, ein Dienstprogramm usw. der CPU 106, der ersten Beschleunigungsressource 108, der Leistungsquelle 118 usw. repräsentativ ist.
-
Bei Block 506 bestimmt die Leistungsrichtliniensteuerung 104A-B einen physischen Ort des Rechensystems. Zum Beispiel bestimmt die Richtliniensteuerungsschnittstelle 202 basierend auf Netzwerkinformationen (z. B. einer IP-Adresse, einer IP-Port-Nummer, Routerinformationen usw.), die in den Telemetriedaten 122 enthalten sind, einen Telemetrieparameter, der angibt, ob sich das Rechensystem 102 an einem Wohnungs-, Büro-, Geschäfts-, Industrieort usw. befindet.
-
Bei Block 508 bestimmt die Leistungsrichtliniensteuerung 104A-B eine Akkukapazität. Zum Beispiel bestimmt die Richtliniensteuerungsschnittstelle 202 basierend auf den Telemetriedaten 122 einen Telemetrieparameter entsprechend einer Akkukapazität der Leistungsquelle 118.
-
Bei Block 510 bestimmt die Leistungsrichtliniensteuerung 104A-B (ein) Leistungsübergangsereignis(se). Zum Beispiel bestimmt die Richtliniensteuerungsschnittstelle 202 basierend auf den Telemetriedaten 122 (einen) Telemetrieparameter, die für ein Intervall, eine Frequenz usw. repräsentativ sind, bei dem/der die Leistungsquelle 118 zwischen geladen (z. B. in eine Wandsteckdose eingesteckt) und nicht geladen (z. B. nicht in eine Wandsteckdose eingesteckt) wechselt.
-
Bei Block 512 bestimmt die Leistungsrichtliniensteuerung 104A-B eine Energiezustandsverweilzeit. Zum Beispiel bestimmt die Richtliniensteuerungsschnittstelle 202 basierend auf den Telemetriedaten 122 einen Telemetrieparameter, der einen Zeitraum (z. B. einen Durchschnitt, Median, Modus, Bereich usw. eines Zeitraums) angibt, in dem die Leistungsquelle 118 eine spezifische Akkukapazität aufweist. In solchen Beispielen bestimmt die Richtliniensteuerungsschnittstelle 202, dass die Leistungsquelle 118 durchschnittlich 80 % eines Zeitraums (z. B. einer Stunde, eines Tags, einer Woche usw.) eine Akkukapazität von 100 % aufweist, was angibt, dass die Leistungsquelle 118 üblicherweise an eine Ladequelle gekoppelt ist, 40 % eines Zeitraums eine Akkukapazität von 20 % aufweist, was angibt, dass die Leistungsquelle 118 üblicherweise nicht an eine Ladequelle gekoppelt ist, usw.
-
Bei Block 514 bestimmt die Leistungsrichtliniensteuerung 104A-B einen Ladezustand. Zum Beispiel bestimmt die Richtliniensteuerungsschnittstelle 202 einen Telemetrieparameter, der angibt, dass das Rechensystem 102 durch eine energiebeschränkte Quelle, wie die Leistungsquelle 118, wenn die Leistungsquelle 118 nicht geladen wird, eine nicht energiebeschränkte Quelle, wie die Leistungsquelle 118, wenn die Leistungsquelle 118 durch eine Wandsteckdose geladen wird, usw. mit Strom versorgt wird. Als Reaktion auf ein Bestimmen des Ladezustands bei Block 514 kehrt die Steuerung zu Block 404 der beispielhaften maschinenlesbaren Anweisungen 400 von 4 zurück, um eine Verwendung des Rechensystems zu klassifizieren.
-
6 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen 600 darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 und/oder 2 zu implementieren, um (eine) beispielhafte Leistungsrichtlinieneinstellung(en) basierend auf der/den beispielhaften Modellausgabe(n) 216 von einem oder mehreren beispielhaften AL/MI-Modellen, wie dem beispielhaften Verwendungsklassifizierer 206, dem beispielhaften Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 und/oder dem Richtlinienbelohnungsbestimmer 210 des Beispiels von 2, zu bestimmen. Die beispielhaften maschinenlesbaren Anweisungen 600 von 6 beginnen bei Block 602, bei dem die Leistungsrichtliniensteuerung 104A-B (eine) Klassifizierung(en) von Rechensystemnutzungsverhalten bestimmt. Zum Beispiel bestimmt der Verwendungsklassifizierer 206 (2) eine erste Verwendungsklassifizierung, eine zweite Verwendungsklassifizierung usw. der Verwendung des Rechensystems 102 basierend auf den Telemetriedaten 122.
-
Bei Block 604 wählt die Leistungsrichtliniensteuerung 104A-B eine jeweilige zu verarbeitende Klassifizierung aus. Zum Beispiel wählt der Verwendungsklassifizierer 206 die zu verarbeitende erste Verwendungsklassifizierung aus.
-
Bei Block 606 bestimmt die Leistungsrichtliniensteuerung 104A-B basierend auf der Klassifizierung eine Wahrscheinlichkeit einer Rechensystemnutzung mit einer niedrigen Akkukapazität. Zum Beispiel bestimmt der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 (2) einen ersten Wahrscheinlichkeitswert, der für eine Wahrscheinlichkeit repräsentativ ist, dass der Benutzer des Rechensystems 102 das Rechensystem betreibt, wenn die Leistungsquelle 118 eine Akkukapazität aufweist, die einen Schwellwert einer niedrigen Akkukapazität (z. B. Akkukapazität von 5 %, Akkukapazität von 15 %, Akkukapazität von 25 % usw.) erfüllt.
-
Bei Block 608 bestimmt die Leistungsrichtliniensteuerung 104A-B (eine) Leistungsrichtlinieneinstellung(en) basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit. Zum Beispiel bestimmt der Richtlinienbelohnungsbestimmer 210 (2) eine erste Leistungsrichtlinieneinstellung, um die Leistungsabgabe an eine Antenne (z. B. eine Wi-Fi-Antenne, eine Bluetooth-Antenne usw.) der Schnittstellenressource 114 einzustellen, eine zweite Leistungsrichtlinieneinstellung, um Taktfrequenz oder - zyklus einer Ressource einzustellen, eine dritte Leistungsrichtlinieneinstellung, um ein Software-Interrupt-Erzeugungsintervall einzustellen, usw. In solchen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion auf zumindest eines davon, dass die erste Verwendungsklassifizierung für einen schweren Bedarf an (einer) Ressource(n) repräsentativ ist, oder der erste Wahrscheinlichkeitswert angibt, dass es wahrscheinlich ist, dass der Benutzer erlaubt, dass die Akkukapazität der Leistungsquelle 118 unter den Schwellwert einer niedrigen Akkukapazität fällt, dass die erste Leistungsrichtlinieneinstellung eine Reduzierung der Leistungsabgabe an die Antenne ist. In weiteren Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion auf zumindest eines davon, dass die erste Verwendungsklassifizierung für einen leichten Bedarf an (einer) Ressource(n) repräsentativ ist, oder der erste Wahrscheinlichkeitswert angibt, dass es unwahrscheinlich ist, dass der Benutzer erlaubt, dass die Akkukapazität der Leistungsquelle 118 unter den Schwellwert einer niedrigen Akkukapazität fällt, dass die erste Leistungsrichtlinieneinstellung eine Erhöhung der Leistungsabgabe an die Antenne ist.
-
Bei Block 610 bestimmt die Leistungsrichtliniensteuerung 104A-B, ob eine andere jeweilige zu verarbeitende Klassifizierung ausgewählt wird. Zum Beispiel bestimmt der Verwendungsklassifizierer 206, die zweite zu verarbeitende Verwendungsklassifizierung auszuwählen. Wenn, bei Block 610, die Leistungsrichtliniensteuerung 104A-B bestimmt, eine andere jeweilige zu verarbeitende Klassifizierung auszuwählen, kehrt die Steuerung zu Block 604 zurück, um eine andere jeweilige zu verarbeitende Klassifizierung auszuwählen. Wenn, bei Block 610, die Leistungsrichtliniensteuerung 104A-B bestimmt, keine eine andere jeweilige zu verarbeitende Klassifizierung auszuwählen, dann wählt die Leistungsrichtliniensteuerung 104A-B, bei Block 612, eine jeweilige zu verarbeitende Leistungsrichtlinieneinstellung aus. Zum Beispiel wählt der Richtlinienbelohnungsbestimmer 210 die erste zu verarbeitende Leistungsrichtlinieneinstellung aus.
-
Bei Block 614 bestimmt die Leistungsrichtliniensteuerung 104A-B eine Richtlinienbelohnung basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit. Zum Beispiel bestimmt der Richtlinienbelohnungsbestimmer 210 eine erste Richtlinienbelohnung entsprechend der ersten Leistungsrichtlinieneinstellung des Erhöhens der Leistungsabgabe an die Antenne der Schnittstellenressource 114. In solchen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion auf zumindest eines davon, dass die erste Verwendungsklassifizierung für eine schwere Anforderung an die Ressource(n) repräsentativ ist, oder der erste Wahrscheinlichkeitswert für eine hohe Wahrscheinlichkeit repräsentativ ist, dass ein Benutzer das Rechensystem 102 in einem Zustand einer niedrigen Akkukapazität betreibt (z. B. der Benutzer eine verhältnismäßig geringe Angst vor einer Akkuentleerung hat), dass die erste Richtlinienbelohnung verhältnismäßig hoch ist. Zum Beispiel kann die erste Richtlinienbelohnung verhältnismäßig hoch sein, weil die erste Leistungsrichtlinieneinstellung die Akkulaufzeit verlängern und/oder auf andere Weise die Wahrscheinlichkeit, dass das Rechensystem 102 aufgrund einer niedrigen Akkukapazität abrupt ausgeschaltet wird, abschwächen kann.
-
In weiteren Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 die Richtlinienbelohnung entsprechend der ersten Leistungsrichtlinieneinstellung des Verringerns der Leistungsabgabe an die Antenne der Schnittstellenressource 114. In solchen Beispielen bestimmt der Richtlinienbelohnungsbestimmer 210 als Reaktion auf zumindest eines davon, dass die erste Verwendungsklassifizierung für eine schwere Anforderung an die Ressource(n) repräsentativ ist, oder der erste Wahrscheinlichkeitswert für eine niedrige Wahrscheinlichkeit repräsentativ ist, dass ein Benutzer das Rechensystem 102 in einem Zustand einer niedrigen Akkukapazität betreibt (z. B. der Benutzer eine verhältnismäßig geringe Angst vor einer Akkuentleerung hat), dass die erste Richtlinienbelohnung verhältnismäßig niedrig ist. Vorteilhafterweise bestimmt der Richtlinienbelohnungsbestimmer 210 in einigen Beispielen als Reaktion auf ein Bestimmen, dass die Wahrscheinlichkeit, dass das Rechensystem 102 in einem Zustand niedriger Akkukapazität betrieben wird, unabhängig davon, ob die Verwendung des Rechensystems 102 für eine schwere Anforderung an die Ressource(n) repräsentativ ist, verhältnismäßig niedrig ist, dass die Systemleistung verbessert und/oder auf andere Weise auf einer verhältnismäßig hohen Ebene gehalten werden kann.
-
Bei Block 616 bestimmt die Leistungsrichtliniensteuerung 104A-B, ob eine andere jeweilige zu verarbeitende Leistungsrichtlinieneinstellung ausgewählt wird. Zum Beispiel bestimmt der Richtlinienbelohnungsbestimmer 210, die zweite zu verarbeitende Leistungsrichtlinieneinstellung auszuwählen. Wenn, bei Block 616, die Leistungsrichtliniensteuerung 104A-B bestimmt, eine andere jeweilige zu verarbeitende Leistungsrichtlinienein-stellung auszuwählen, kehrt die Steuerung zu Block 612 zurück, um eine andere jeweilige zu verarbeitende Leistungsrichtlinieneinstellung auszuwählen.
-
Wenn, bei Block 616, die Leistungsrichtliniensteuerung 104A-B bestimmt, keine andere jeweilige zu verarbeitende Leistungsrichtlinieneinstellung auszuwählen, dann erzeugt die Leistungsrichtliniensteuerung 104A-B, bei Block 618, (eine) Modellausgabe(n) basierend auf zumindest einem von der/den Klassifizierung(en), der einen oder den mehreren Wahrscheinlichkeiten oder der/den Richtlinienbelohnung(en). Zum Beispiel erzeugt der Verwendungsklassifizierer 206, der Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208, der Richtlinienbelohnungsbestimmer 210 und/oder allgemeiner der Richtlinienmodellausführer 204 von 2 die Modellausgabe(n) 216, um zumindest eines von der/den Verwendungsklassifizierungsausgabe(n) 306 (3), der/den Ausgabe(n) einer Wahrscheinlichkeit einer niedrigen Akkukapazität 308 (3) oder der/den Richtlinienbelohnungsausgabe(n) 310 (3) einzuschließen. Als Reaktion auf ein Erzeugen der Modellausgabe(n) basierend auf zumindest einem von der/den Klassifizierung(en), der einen oder den mehreren Wahrscheinlichkeiten oder der/den Richtlinienbelohnung(en) bei Block 618 enden die beispielhaften maschinenlesbaren Anweisungen 600 von 6.
-
7 ist ein Flussdiagramm, das beispielhafte maschinenlesbare Anweisungen 700 darstellt, die ausgeführt werden können, um die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 und/oder 2 zu implementieren, um das beispielhafte Rechensystem 100 von 1 anzuweisen, die beispielhafte Richtlinie 124 von 1 zu bestimmen. Die beispielhaften maschinenlesbaren Anweisungen 700 von 7 beginnen bei Block 702, bei dem die Leistungsrichtliniensteuerung 104A-B (einen) Schwellwert(e) von (einer) Richtlinieneinstellung(en) abruft. Zum Beispiel ruft der Richtlinieneinsteller 212 (2) einen Wahrscheinlichkeitsschwellwert (z. B. einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität), einen Akkukapazitätsschwellwert (z. B. einen Schwellwert einer niedrigen Akkukapazität) usw. von der/den Richtlinieneinstellung(en) 214 (2) ab.
-
Bei Block 704 bestimmt die Leistungsrichtliniensteuerung 104A-B eine Wahrscheinlichkeit, dass das Rechensystem in dem Zustand einer niedrigen Akkukapazität betrieben wird. Zum Beispiel extrahiert der Richtlinieneinsteller 212 einen ersten Wahrscheinlichkeitswert aus der/den Ausgabe(n) einer Wahrscheinlichkeit einer niedrigen Akkukapazität 308 (3), der angibt, ob es wahrscheinlich ist, dass ein Benutzer in Verbindung mit dem Rechensystem 102 das Rechensystem 102 in einem Zustand einer niedrigen Akkukapazität betreibt.
-
Bei Block 706 bestimmt die Leistungsrichtliniensteuerung 104A-B als Reaktion auf ein Einstellen einer Leistungsrichtlinie eine Änderung der Akkukapazität. Zum Beispiel sagt der Richtlinieneinsteller 212 eine Änderung der Akkukapazität der Leistungsquelle 118 als Reaktion auf ein Einstellen der Richtlinie 124 vorher, schätzt diese und/oder bestimmt diese auf andere Weise.
-
Bei Block 708 bestimmt die Leistungsrichtliniensteuerung 104A-B, ob die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität erfüllt. Zum Beispiel bestimmt der Richtlinieneinsteller 212 basierend darauf, dass der erste Wahrscheinlichkeitswert größer als der Wahrscheinlichkeitsschwellwert ist, dass der erste Wahrscheinlichkeitswert den Wahrscheinlichkeitsschwellwert erfüllt. In solchen Beispielen bestimmt der Richtlinieneinsteller 212 basierend darauf, dass der erste Wahrscheinlichkeitswert größer als der Wahrscheinlichkeitsschwellwert ist und somit den Wahrscheinlichkeitsschwellwert erfüllt, dass es wahrscheinlich ist, dass das Rechensystem 102 betrieben wird, wenn die Leistungsquelle 118 eine niedrige Akkukapazität aufweist.
-
Wenn, bei Block 708, die Leistungsrichtliniensteuerung 104A-B bestimmt, dass die Wahrscheinlichkeit den Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität nicht erfüllt, fährt die Steuerung zu Block 712 fort, um das Rechensystem anzuweisen, die Leistungsrichtlinie einzustellen, um die Leistung des Rechensystems zu verbessern. Wenn, bei Block 708, die Leistungsrichtliniensteuerung 104A-B bestimmt, dass die Wahrscheinlichkeit den Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität erfüllt, dann bestimmt die Leistungsrichtliniensteuerung 104A-B, bei Block 710, ob die Akkukapazitätsänderung einen Akkuänderungsschwellwert erfüllt. Zum Beispiel bestimmt der Richtlinieneinsteller 212 als Reaktion auf ein Einstellen der Richtlinie 124, dass sich die Akkukapazität der Leistungsquelle 118 von 50 % auf 35 % ändern kann. In solchen Beispielen bestimmt der Richtlinieneinsteller 212 basierend darauf, dass die Akkukapazitätsänderung niedriger als der Akkuänderungsschwellwert ist, dass die Akkukapazitätsänderung von 15 % einen Akkuänderungsschwellwert von 20 % erfüllt. In weiteren Beispielen bestimmt der Richtlinieneinsteller 212 basierend darauf, dass die Akkukapazität von 35 % größer als der Akkukapazitätsschwellwert von 20 % ist, dass die Akkukapazität von 35 % einen Akkukapazitätsschwellwert von 20 % erfüllt.
-
Wenn, bei Block 710, die Leistungsrichtliniensteuerung 104A-B bestimmt, dass die Akkukapazitätsänderung den Akkukapazitätsänderungsschwellwert nicht erfüllt, fährt die Steuerung zu Block 714 fort, um das Rechensystem anzuweisen, die Leistungsrichtlinie einzustellen, um die Energieeffizienz des Rechensystems zu verbessern. Zum Beispiel ruft der Richtlinieneinsteller 212 die Energieeffizienzrichtlinienlogik 304 (3) auf, um einen der Energiezustände 314 auszuwählen, um die Energieeffizienz des Rechensystems 102 zu verbessern. Als Reaktion auf das Anweisen des Rechensystems, die Leistungsrichtlinie einzustellen, um die Energieeffizienz des Rechensystems bei Block 712 zu verbessein, enden die beispielhaften maschinenlesbaren Anweisungen 700 von 7.
-
Wenn, bei Block 710, die Leistungsrichtliniensteuerung 104A-B bestimmt, dass die Akkukapazitätsänderung den Akkukapazitätsänderungsschwellwert erfüllt, dann weist die Leistungsrichtliniensteuerung 104A-B, bei Block 712, das Rechensystem an, die Leistungsrichtlinie einzustellen, um die Leistung des Rechensystems zu verbessern. Zum Beispiel ruft der Richtlinieneinsteller 212 die Systemleistungsrichtlinienlogik 302 (3) auf, um einen der Leistungszustände 312 auszuwählen, um die Leistung des Rechensystems 102 zu verbessern. Als Reaktion auf das Anweisen des Rechensystems, die Leistungsrichtlinie einzustellen, um die Systemleistung des Rechensystems bei Block 710 zu verbessern, enden die beispielhaften maschinenlesbaren Anweisungen 700 von 7.
-
8 ist ein Blockdiagramm einer beispielhaften Prozessorplattform 800, die strukturiert ist, um die Anweisungen von 4-7 auszuführen, um die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 und/oder 2 zu implementieren. Die Prozessorplattform 800 kann zum Beispiel ein Server, ein Personal Computer, eine Arbeitsstation, eine Selbstlernmaschine (z. B. ein neuronales Netzwerk), eine mobile Vorrichtung (z. B. ein Mobiltelefon, ein Smartphone, ein Tablet, wie ein iPad™), ein Personal Digital Assistant (PDA), ein Internetgerät, ein DVD-Player, ein CD-Player, ein digitaler Videorecorder, ein Blu-ray-Player, eine Spielkonsole, ein persönlicher Videorecorder, eine Set-Top-Box, ein Kopfhörersatz oder eine andere am Körper tragbare Vorrichtung oder ein beliebiger anderer Typ von Rechenvorrichtung sein.
-
Die Prozessorplattform 800 des veranschaulichten Beispiels schließt einen Prozessor 812 ein. Der Prozessor 812 des veranschaulichten Beispiels ist Hardware. Zum Beispiel kann der Prozessor 812 durch eine oder mehrere integrierte Schaltungen, Logikschaltungen, Mikroprozessoren, GPUs, DSPs oder Steuerungen von einer beliebigen gewünschten Familie oder einem beliebigen gewünschten Hersteller implementiert sein. Der Hardwareprozessor kann eine halbleiterbasierte (z. B. siliziumbasierte) Vorrichtung sein. In diesem Beispiel implementiert der Prozessor 812 den beispielhaften Richtlinienmodellausführer 204, den beispielhaften Verwendungsklassifizierer 206, den beispielhaften Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität 208 und den beispielhaften Richtlinienbelohnungsbestimmer 210 von 2.
-
Der Prozessor 812 des veranschaulichten Beispiels schließt einen lokalen Speicher 813 (z. B. ein Cache) ein. Der Prozessor 812 des veranschaulichten Beispiels ist über einen Bus 818 in Kommunikation mit einem Hauptspeicher, einschließlich eines flüchtigen Speichers 814 und eines nicht flüchtigen Speichers 816. Der flüchtige Speicher 814 kann durch Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS® Dynamic Random Access Memory (RDRAM®) und/oder einen beliebigen anderen Typ von Vorrichtung eines Speichers mit wahlfreiem Zugriff implementiert sein. Der nicht flüchtige Speicher 816 kann durch Flash-Speicher und/oder einen beliebigen anderen gewünschten Typ von Speichervorrichtung implementiert sein. Zugriff auf den Hauptspeicher 814, 816 wird durch eine Speichersteuerung gesteuert.
-
Die Prozessorplattform 800 des veranschaulichten Beispiels schließt auch eine Schnittstellenschaltung 820 ein. Die Schnittstellenschaltung 820 kann durch einen beliebigen Typ von Schnittstellenstandard, wie eine Ethernet-Schnittstelle, einen Universal Serial Bus (USB), eine Bluetooth®-Schnittstelle, eine Near Field Communication-Schnittstelle (NFC-Schnittstelle) und/oder eine PCI express-Schnittstelle, implementiert sein. In diesem Beispiel implementiert die Schnittstellenschaltung 820 die beispielhafte Richtliniensteuerungsschnittstelle 202 von 2.
-
In dem veranschaulichten Beispiel sind eine oder mehrere Eingabevorrichtungen 822 mit der Schnittstellenschaltung 820 verbunden. Die Eingabevorrichtung(en) 822 ermöglichen es einem Benutzer, Daten und/oder Befehle in den Prozessor 812 einzugeben. Die Eingabevorrichtung(en) 822 können durch zum Beispiel einen Audiosensor, ein Mikrofon, eine Kamera (Foto oder Video), eine Tastatur, eine Taste, eine Maus, einen Touchscreen, ein Trackpad, einen Trackball, eine Isopoint-Vorrichtung und/oder ein Spracherkennungssystem implementiert sein.
-
Eine oder mehrere Ausgabevorrichtungen 824 sind ebenfalls mit der Schnittstellenschaltung 820 des veranschaulichten Beispiels verbunden. Die Ausgabevorrichtungen 824 können zum Beispiel durch Anzeigevorrichtungen (z. B. eine Leuchtdiode (LED), eine organische Leuchtdiode (OLED), eine Flüssigkristallanzeige (LCD), eine Kathodenstrahlröhrenanzeige (CRT-Anzeige), eine In-Place Switching-Anzeige (IPS-Anzeige), einen Touchscreen usw.), eine Tastausgabevorrichtung, einen Drucker und/oder einen Lautsprecher implementiert sein. Die Schnittstellenschaltung 820 des veranschaulichten Beispiels schließt somit üblicherweise eine Grafiktreiberkarte, einen Grafiktreiberchip und/oder einen Grafiktreiberprozessor ein.
-
Die Schnittstellenschaltung 820 des veranschaulichten Beispiels schließt außerdem eine Kommunikationsvorrichtung, wie einen Sender, einen Empfänger, einen Transceiver, ein Modem, ein Residential Gateway, einen drahtlosen Zugangspunkt und/oder eine Netzwerkschnittstelle, ein, um den Austausch von Daten mit externen Maschinen (z. B. Rechenvorrichtungen irgendeiner Art) über ein Netzwerk 826 zu unterstützen. Die Kommunikation kann über zum Beispiel eine Ethernet-Verbindung, eine Digital Subscriber Line-Verbindung (DSL-Verbindung), eine Telefonleitungsverbindung, ein Koaxialkabelsystem, ein Satellitensystem, ein drahtloses Sichtliniensystem, ein Mobiltelefonsystem usw. erfolgen.
-
Die Prozessorplattform 800 des veranschaulichten Beispiels schließt auch eine oder mehrere Massenspeichervorrichtungen 828 zum Speichern von Software und/oder Daten ein. Beispiele für solche Massenspeichervorrichtungen 828 schließen Diskettenlaufwerke, Festplattendatenträger, Compact Disk-Laufwerke, Blu-ray-Festplattenlaufwerke, Redundant Array of Independent Disks-Systeme (RAID-Systeme) und DVD-Laufwerke ein. In diesem Beispiel implementieren die eine oder die mehreren Massenspeichervorrichtungen 828 die Richtlinieneinstellung(en) 214 von 2.
-
Die maschinenausführbaren Anweisungen 832 von 4-7 können in der Massenspeichervorrichtung 828, in dem flüchtigen Speicher 814, in dem nicht flüchtigen Speicher 816 und/oder auf einem entfernbaren nicht flüchtigen computerlesbaren Speichermedium, wie einer CD oder DVD, gespeichert werden.
-
Ein Blockdiagramm, das eine beispielhafte Softwareverteilungsplattform 905 zum Verteilen von Software, wie die beispielhaften computerlesbaren Anweisungen 832 von 8, an Drittparteien veranschaulicht, ist in 9 veranschaulicht. Die beispielhafte Softwareverteilungsplattform 905 kann durch einen Computer-Server, eine Dateneinrichtung, einen Cloud-Dienst usw. implementiert sein, der/die dazu in der Lage ist, Software zu speichern und an andere Rechenvorrichtungen zu übertragen. Die Drittparteien können Kunden des Unternehmens sein, das die Softwareverteilungsplattform besitzt und/oder betreibt. Zum Beispiel kann das Unternehmen, das die Softwareverteilungsplattform besitzt und/oder betreibt, ein Entwickler, ein Verkäufer und/oder ein Lizenzgeber von Software, wie der beispielhaften computerlesbaren Anweisungen 832 von 8, sein. Die Drittparteien können Verbraucher, Benutzer, Einzelhändler, OEMs usw. sein, die die Software zur Verwendung und/oder zum Weiterverkauf und/oder zur Unterlizenzierung kaufen und/oder lizenzieren. In dem veranschaulichten Beispiel schließt die Softwareverteilungsplattform 905 einen oder mehrere Server und eine oder mehrere Speichervorrichtungen ein. Die Speichervorrichtungen speichern die computerlesbaren Anweisungen 832, die den beispielhaften computerlesbaren Anweisungen 400, 500, 600, 700 von 4-7, wie oben beschrieben, entsprechen können. Der eine oder die mehreren Server der beispielhaften Softwareverteilungsplattform 905 sind in Kommunikation mit einem Netzwerk 910, einem beliebigen oder beliebigen mehreren von dem Internet und/oder einem beliebigen der beispielhaften Netzwerke 128, 826, die oben in Verbindung mit 1 und/oder 8 beschrieben sind. In einigen Beispielen reagieren der eine oder die mehreren Server auf Anforderungen zum Übertragen der Software an eine anfordernde Partei als Teil einer Geschäftstransaktion. Die Bezahlung für die Bereitstellung, den Verkauf und/oder die Lizenzierung der Software kann durch einen oder mehrere Server der Softwareverteilungsplattform und/oder über ein externes Bezahlunternehmen abgewickelt werden. Die Server ermöglichen es Käufern und/oder Lizenzgebern, die computerlesbaren Anweisungen 832 von der Softwareverteilungsplattform 905 herunterzuladen. Zum Beispiel kann die Software, die den beispielhaften computerlesbaren Anweisungen 400, 500, 600, 700 von 4-7 entsprechen kann, auf die beispielhafte Prozessorplattform 800 heruntergeladen werden, die die computerlesbaren Anweisungen 832 ausführen soll, um die beispielhafte Leistungsrichtliniensteuerung 104A-B von 1 und/oder 2 zu implementieren. In einigen Beispielen bieten ein oder mehrere Server der Softwareverteilungsplattform 905 periodisch Aktualisierungen für die Software (z. B. die beispielhaften computerlesbaren Anweisungen 832 von 8) an, übertragen und/oder erzwingen solche, um sicherzustellen, dass Verbesserungen, Patches, Aktualisierungen usw. verteilt und auf die Software auf den Endbenutzervorrichtungen angewendet werden.
-
Aus dem Vorstehenden versteht es sich, dass beispielhafte Systeme, Verfahren, Einrichtungen und Herstellungsartikel offenbart wurden, die die Leistungsverwaltung von Rechenvorrichtungen und/oder Systemen verbessern. Die offenbarten Systeme, Verfahren, Einrichtungen und Herstellungsartikel verbessern die Effizienz des Verwendens einer Rechenvorrichtung durch Klassifizieren einer Verwendung einer Rechenvorrichtung und Anpassen (z. B. autonomes Anpassen, automatisches Anpassen usw.) einer Leistungsrichtlinie der Rechenvorrichtung, um die Systemleistung zu maximieren und/oder auf andere Weise zu verbessern, während eine Wahrscheinlichkeit, dass ein Benutzer Angst vor einer Akkuentleerung hat, minimiert und/oder auf andere Weise reduziert wird. Vorteilhafterweise verbessern die offenbarten Systeme, Verfahren, Einrichtungen und Herstellungsartikel die Leistung eines Rechensystems als Reaktion auf ein Bestimmen, dass eine Wahrscheinlichkeit, dass das Rechensystem in einem Zustand niedriger Akkukapazität betrieben werden soll, unwahrscheinlich ist. Die offenbarten Verfahren, Einrichtungen und Herstellungsartikel richten sich entsprechend auf eine oder mehrere Verbesserung(en) der Funktionsweise eines Computers.
-
Beispielhafte Verfahren, Einrichtungen, Systeme und Herstellungsartikel zum Verbessern der Rechenvorrichtungsleistungsverwaltung werden hierin offenbart. Weitere Beispiele und Kombinationen davon schließen die folgenden ein:
-
Beispiel 1 schließt eine Einrichtung zur Vorrichtungsleistungsverwaltung ein, die Einrichtung umfassend einen Verwendungsklassifizierer zum Klassifizieren einer Verwendung eines Rechensystems, einen Bestimmer einer Wahrscheinlichkeit einer niedrigen Akkukapazität zum Bestimmen einer Wahrscheinlichkeit, dass das Rechensystem mit einer niedrigen Akkukapazität betrieben wird, basierend auf der Klassifizierung, einen Richtlinienbelohnungsbestimmer zum Bestimmen einer Einstellung einer Richtlinie basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit und Bestimmen einer Akkukapazität des Rechensystems als Reaktion auf die Einstellung und einen Richtlinieneinsteller zum Einstellen der Richtlinie als Reaktion darauf, dass die Akkukapazität einen Schwellwert erfüllt.
-
Beispiel 2 schließt die Einrichtung von Beispiel 1 ein, ferner umfassend eine Schnittstelle zum Bestimmen eines Telemetrieparameters basierend auf Telemetriedaten, die von dem Rechensystem erhalten werden, wobei die Telemetrieparameter auf zumindest einem von einem Ort, einem Prozess, einem Leistungsübergangsereignis oder einer Leistungsquelle in Verbindung mit dem Rechensystem basieren.
-
Beispiel 3 schließt die Einrichtung von Beispiel 1 ein, wobei die Richtlinie eine erste Richtlinie ist und der Richtlinieneinsteller die erste Richtlinie als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität erfüllt, auf eine zweite Richtlinie einstellen soll, wobei die erste Richtlinie die Leistung des Rechensystems verbessern soll, die zweite Richtlinie die Energieeffizienz des Rechensystems verbessern soll.
-
Beispiel 4 schließt die Einrichtung von Beispiel 1 ein, wobei die Richtlinie eine erste Richtlinie ist und der Richtlinieneinsteller die erste Richtlinie als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität nicht erfüllt, auf eine zweite Richtlinie einstellen soll, wobei die erste Richtlinie die Energieeffizienz des Rechensystems verbessern soll, die zweite Richtlinie die Leistung des Rechensystems verbessern soll.
-
Beispiel 5 schließt die Einrichtung von Beispiel 1 ein, wobei die Richtlinie für ein Verbessern der Leistung des Rechensystems repräsentativ ist und der Richtlinieneinsteller die Richtlinie durch zumindest eines von Erhöhen einer ersten Frequenz in Verbindung mit einer Hardwareressource, Erhöhen einer zweiten Frequenz in Verbindung mit einer Softwareressource oder Erhöhen der Leistungsabgabe an eine Antenne einstellen soll.
-
Beispiel 6 schließt die Einrichtung von Beispiel 1 ein, wobei die Einstellung zumindest eines von Einstellen einer ersten Frequenz in Verbindung mit einer Hardwareressource, einer zweiten Frequenz in Verbindung mit einer Softwareressource oder der Leistungsabgabe an eine Antenne einschließt.
-
Beispiel 7 schließt die Einrichtung von Beispiel 1 ein, wobei die Einstellung eine erste Einstellung ist, die für einen ersten Zustand einer Hardwareressource repräsentativ ist, und der Richtlinieneinsteller, als Reaktion darauf, dass die Akkukapazität den Schwellwert nicht erfüllt, eine zweite Einstellung bestimmen soll, die für einen zweiten Zustand der Hardwareressource repräsentativ ist, wobei der erste Zustand einen ersten Energieaufwand bewirkt, der größer als ein zweiter Energieaufwand durch den zweiten Zustand ist.
-
Beispiel 8 schließt eine nicht transitorische computerlesbare Speichervorrichtung ein, die Anweisungen umfasst, die bei ihrer Ausführung eine Maschine zumindest zum Klassifizieren einer Verwendung eines Rechensystems, Bestimmen einer Wahrscheinlichkeit, dass das Rechensystem mit einer niedrigen Akkukapazität betrieben wird, basierend auf der Klassifizierung, Bestimmen einer Einstellung einer Richtlinie basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit und Bestimmen einer Akkukapazität des Rechensystems als Reaktion auf die Einstellung und Einstellen der Richtlinie als Reaktion darauf, dass die Akkukapazität einen Schwellwert erfüllt, veranlassen.
-
Beispiel 9 schließt die nicht transitorische computerlesbare Speichervorrichtung von Beispiel 8 ein, wobei die Anweisungen bei ihrer Ausführung die Maschine zum Bestimmen eines Telemetrieparameters basierend auf Telemetriedaten, die von dem Rechensystem erhalten werden, wobei die Telemetrieparameter auf zumindest einem von einem Ort, einem Prozess, einem Leistungsübergangsereignis oder einer Leistungsquelle in Verbindung mit dem Rechensystem basieren, veranlassen.
-
Beispiel 10 schließt die nicht transitorische computerlesbare Speichervorrichtung von Beispiel 8 ein, wobei die Richtlinie eine erste Richtlinie ist und die Anweisungen bei ihrer Ausführung die Maschine als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität erfüllt, zum Einstellen der ersten Richtlinie auf eine zweite Richtlinie, wobei die erste Richtlinie die Leistung des Rechensystems verbessern soll, die zweite Richtlinie die Energieeffizienz des Rechensystems verbessern soll, veranlassen.
-
Beispiel 11 schließt die nicht transitorische computerlesbare Speichervorrichtung von Beispiel 8 ein, wobei die Richtlinie eine erste Richtlinie ist und die Anweisungen bei ihrer Ausführung die Maschine als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität nicht erfüllt, zum Einstellen der ersten Richtlinie auf eine zweite Richtlinie, wobei die erste Richtlinie die Energieeffizienz des Rechensystems verbessern soll, die zweite Richtlinie die Leistung des Rechensystems verbessern soll, veranlassen.
-
Beispiel 12 schließt die nicht transitorische computerlesbare Speichervorrichtung von Beispiel 8 ein, wobei die Richtlinie für ein Verbessern der Leistung des Rechensystems repräsentativ ist und die Anweisungen bei ihrer Ausführung die Maschine zum Einstellen der Richtlinie durch zumindest eines von Erhöhen einer ersten Frequenz in Verbindung mit einer Hardwareressource, Erhöhen einer zweiten Frequenz in Verbindung mit einer Softwareressource oder Erhöhen der Leistungsabgabe an eine Antenne veranlassen.
-
Beispiel 13 schließt die nicht transitorische computerlesbare Speichervorrichtung von Beispiel 8 ein, wobei die Anweisungen bei ihrer Ausführung die Maschine zum Bestimmen der Einstellung, um zumindest eines von Einstellen einer ersten Frequenz in Verbindung mit einer Hardwareressource, einer zweiten Frequenz in Verbindung mit einer Softwareressource oder der Leistungsabgabe an eine Antenne einzuschließen, veranlassen.
-
Beispiel 14 schließt die nicht transitorische computerlesbare Speichervorrichtung von Beispiel 8 ein, wobei die Einstellung eine erste Einstellung ist, die für einen ersten Zustand einer Hardwareressource repräsentativ ist, und die Anweisungen bei ihrer Ausführung die Maschine zum, als Reaktion darauf, dass die Akkukapazität den Schwellwert nicht erfüllt, Bestimmen einer zweiten Einstellung, die für einen zweiten Zustand der Hardwareressource repräsentativ ist, wobei der erste Zustand einen ersten Energieaufwand bewirkt, der größer als ein zweiter Energieaufwand durch den zweiten Zustand ist, veranlassen.
-
Beispiel 15 schließt eine Einrichtung zur Vorrichtungsleistungsverwaltung ein, die Einrichtung umfassend ein Mittel zum Klassifizieren einer Verwendung eines Rechensystems, ein Mittel zum Bestimmen einer Wahrscheinlichkeit, dass das Rechensystem mit einer niedrigen Akkukapazität betrieben wird, basierend auf der Klassifizierung, ein Mittel zum Identifizieren einer Einstellung einer Richtlinie basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit und ein Mittel zum Vorhersagen einer Akkukapazität des Rechensystems als Reaktion auf die Einstellung und ein Mittel zum Einstellen der Richtlinie als Reaktion darauf, dass die Akkukapazität einen Schwellwert erfüllt.
-
Beispiel 16 schließt die Einrichtung von Beispiel 15 ein, wobei das Mittel zum Bestimmen ein erstes Mittel zum Bestimmen ist, und ferner umfassend ein zweites Mittel zum Bestimmen eines Telemetrieparameters basierend auf Telemetriedaten, die von dem Rechensystem erhalten werden, wobei die Telemetrieparameter auf zumindest einem von einem Ort, einem Prozess, einem Leistungsübergangsereignis oder einer Leistungsquelle in Verbindung mit dem Rechensystem basieren.
-
Beispiel 17 schließt die Einrichtung von Beispiel 15 ein, wobei die Richtlinie eine erste Richtlinie ist und das Mittel zum Einstellen die erste Richtlinie als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität erfüllt, auf eine zweite Richtlinie einstellen soll, wobei die erste Richtlinie die Leistung des Rechensystems verbessern soll, die zweite Richtlinie die Energieeffizienz des Rechensystems verbessern soll.
-
Beispiel 18 schließt die Einrichtung von Beispiel 15 ein, wobei die Richtlinie eine erste Richtlinie ist und das Mittel zum Einstellen die erste Richtlinie als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität nicht erfüllt, auf eine zweite Richtlinie einstellen soll, wobei die erste Richtlinie die Energieeffizienz des Rechensystems verbessern soll, die zweite Richtlinie die Leistung des Rechensystems verbessern soll.
-
Beispiel 19 schließt die Einrichtung von Beispiel 15 ein, wobei die Richtlinie für ein Verbessern der Leistung des Rechensystems repräsentativ ist und das Mittel zum Einstellen die Richtlinie durch zumindest eines von Erhöhen einer ersten Frequenz in Verbindung mit einer Hardwareressource, Erhöhen einer zweiten Frequenz in Verbindung mit einer Softwareressource oder Erhöhen der Leistungsabgabe an eine Antenne einstellen soll.
-
Beispiel 20 schließt die Einrichtung von Beispiel 15 ein, wobei die Einstellung zumindest eines von Einstellen einer ersten Frequenz in Verbindung mit einer Hardwareressource, einer zweiten Frequenz in Verbindung mit einer Softwareressource oder der Leistungsabgabe an eine Antenne einschließt.
-
Beispiel 21 schließt die Einrichtung von Beispiel 15 ein, wobei die Einstellung eine erste Einstellung ist, die für einen ersten Zustand einer Hardwareressource repräsentativ ist, und das Mittel zum Einstellen, als Reaktion darauf, dass die Akkukapazität den Schwellwert nicht erfüllt, eine zweite Einstellung bestimmen soll, die für einen zweiten Zustand der Hardwareressource repräsentativ ist, wobei der erste Zustand einen ersten Energieaufwand bewirkt, der größer als ein zweiter Energieaufwand durch den zweiten Zustand ist.
-
Beispiel 22 schließt ein Verfahren zur Vorrichtungsleistungsverwaltung ein, das Verfahren umfassend ein Klassifizieren der Verwendung eines Rechensystems, Bestimmen einer Wahrscheinlichkeit, dass das Rechensystem mit einer niedrigen Akkukapazität betrieben wird, basierend auf der Klassifizierung, Bestimmen einer Einstellung einer Richtlinie basierend auf zumindest einem von der Klassifizierung oder der Wahrscheinlichkeit und Bestimmen einer Akkukapazität des Rechensystems als Reaktion auf die Einstellung und Einstellen der Richtlinie als Reaktion darauf, dass die Akkukapazität einen Schwellwert erfüllt.
-
Beispiel 23 schließt das Verfahren von Beispiel 22 ein, ferner umfassend ein Bestimmen eines Telemetrieparameters basierend auf Telemetriedaten, die von dem Rechensystem erhalten werden, wobei die Telemetrieparameter auf zumindest einem von einem Ort, einem Prozess, einem Leistungsübergangsereignis oder einer Leistungsquelle in Verbindung mit dem Rechensystem basieren.
-
Beispiel 24 schließt das Verfahren von Beispiel 22 ein, wobei die Richtlinie eine erste Richtlinie ist und das Einstellen der Richtlinie ein Einstellen der ersten Richtlinie als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität erfüllt, auf eine zweite Richtlinie einschließt, wobei die erste Richtlinie die Leistung des Rechensystems verbessern soll, die zweite Richtlinie die Energieeffizienz des Rechensystems verbessern soll.
-
Beispiel 25 schließt das Verfahren von Beispiel 22 ein, wobei die Richtlinie eine erste Richtlinie ist und das Einstellen der Richtlinie ein Einstellen der ersten Richtlinie als Reaktion darauf, dass die Wahrscheinlichkeit einen Schwellwert einer Wahrscheinlichkeit einer niedrigen Akkukapazität nicht erfüllt, auf eine zweite Richtlinie einschließt, wobei die erste Richtlinie die Energieeffizienz des Rechensystems verbessern soll, die zweite Richtlinie die Leistung des Rechensystems verbessern soll.
-
Beispiel 26 schließt das Verfahren von Beispiel 22 ein, wobei die Richtlinie für ein Verbessern der Leistung des Rechensystems repräsentativ ist und das Einstellen der Richtlinie zumindest eines von Erhöhen einer ersten Frequenz in Verbindung mit einer Hardwareressource, Erhöhen einer zweiten Frequenz in Verbindung mit einer Softwareressource oder Erhöhen der Leistungsabgabe an eine Antenne einschließt.
-
Beispiel 27 schließt das Verfahren von Beispiel 22 ein, wobei die Einstellung zumindest eines von Einstellen einer ersten Frequenz in Verbindung mit einer Hardwareressource, einer zweiten Frequenz in Verbindung mit einer Softwareressource oder der Leistungsabgabe an eine Antenne einschließt.
-
Beispiel 28 schließt das Verfahren von Beispiel 22 ein, wobei die Einstellung eine erste Einstellung ist, die für einen ersten Zustand einer Hardwareressource repräsentativ ist, und ferner umfassend, als Reaktion darauf, dass die Akkukapazität den Schwellwert nicht erfüllt, Bestimmen einer zweiten Einstellung, die für einen zweiten Zustand der Hardwareressource repräsentativ ist, wobei der erste Zustand einen ersten Energieaufwand bewirkt, der größer als ein zweiter Energieaufwand durch den zweiten Zustand ist.
-
Wenngleich bestimmte beispielhafte Systeme, Verfahren, Einrichtungen und Herstellungsartikel hierin offenbart wurden, ist der Schutzumfang der Abdeckung dieses Patents nicht darauf beschränkt. Vielmehr deckt dieses Patent alle Systeme, Verfahren, Einrichtungen , und Herstellungsartikel ab, die ordentlich innerhalb des Schutzumfangs der Ansprüche dieses Patents liegen.