DE112013006292T5 - Verwaltung von Performance-Policies basierend auf der Skalierbarkeit von Workloads - Google Patents

Verwaltung von Performance-Policies basierend auf der Skalierbarkeit von Workloads Download PDF

Info

Publication number
DE112013006292T5
DE112013006292T5 DE112013006292.5T DE112013006292T DE112013006292T5 DE 112013006292 T5 DE112013006292 T5 DE 112013006292T5 DE 112013006292 T DE112013006292 T DE 112013006292T DE 112013006292 T5 DE112013006292 T5 DE 112013006292T5
Authority
DE
Germany
Prior art keywords
performance
platform
scalability
workload
policy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112013006292.5T
Other languages
English (en)
Inventor
Paul S. Diefenbaugh
Eliezer Weissmann
Krishnakanth V. Sistla
Andrew D. Henroid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112013006292T5 publication Critical patent/DE112013006292T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren und Systeme können zum Identifizieren einer mit einer Plattform verbundenen Workload und dem Bestimmen einer Skalierbarkeit der Workload vorgesehen werden. Darüber hinaus kann eine Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend verwaltet werden. In einem Beispiel umfasst das Bestimmen der Skalierbarkeit das Bestimmen eines Verhältnisses der produktiven Zyklen zu den tatsächlichen Zyklen.

Description

  • HINTERGRUND
  • Technischer Anwendungsbereich
  • Ausführungsformen beziehen sich im Allgemeinen auf die Verwaltung der Performance (bzw. Leistungsstärke) von Computing-Plattformen. Im Besonderen beziehen sich Ausführungsformen auf das Verwalten von Performance-Policys basierend auf der Skalierbarkeit der Workload.
  • Erörterung
  • Computing-Plattformen können die Prozessor-Performance durch Eingabe verschiedener Performancezustände verwalten, die von einer relativ hohen Betriebsfrequenz und einem relativ hohen Stromverbrauch (zum Beispiel maximale Performance) bis zu einer relativ geringen Betriebsfrequenz und einem relativ geringen Stromverbrauch (zum Beispiel minimale Performance) reichen. Die Bestimmung, welcher Performancezustand ausgewählt werden soll, kann herkömmlicherweise in einem Modus der bedarfsbasierten Umschaltung (DBS, Demand Based Switching) erfolgen, der auf das Erfüllen der Quality of Service(QoS)-Anforderungen der zu verarbeitenden Workloads beschränkt ist. Solch ein Ansatz kann unter bestimmten Umständen eine unzureichende Effizienz und Reaktionsfähigkeit liefern.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die verschiedenen Vorteile der Ausführungsformen der vorliegenden Erfindung werden für Fachleute durch Lektüre der folgenden Beschreibung und der Ansprüche im Anhang sowie durch Bezugnahme auf die folgenden Zeichnungen ersichtlich, bei denen:
  • 1 ein Blockdiagramm eines Beispiels eines Schemas zum Verwalten der Performance gemäß einer Ausführungsform ist;
  • 2 eine grafische Darstellung eines Beispiels einer Menge von Beziehungen der Workload-Skalierbarkeit gemäß einer Ausführungsform ist;
  • 3 ein Ablaufdiagramm eines Beispiels eines Verfahrens zum Verwalten der Performance gemäß einer Ausführungsform ist; und
  • 4 ein Blockdiagramm eines Beispiels einer Plattform gemäß einer Ausführungsform ist.
  • DETAILLIERTE BESCHREIBUNG
  • 1 zeigt ein Schema zum Verwalten der Performance bei einer Computing-Plattform wie zum Beispiel einem Mobilgerät mit Computing-Funktionalität (zum Beispiel ein persönlicher digitaler Assistent/PDA, ein Laptop, ein Smart Tablet), Kommunikationsfunktionalität (zum Beispiel ein drahtloses Smartphone), Abbildungsfunktionalität, Funktionalität zur Wiedergabe von Medien (zum Beispiel Smart Television/TV) oder einer beliebigen Kombination davon (zum Beispiel mobiles Internet-Gerät/MID). Das dargestellte Schema kann auch bei einer stationären Plattform, wie zum Beispiel einem Server, einem Desktopcomputer, einer Workstation usw., verwendet werden. Im dargestellten Beispiel erhält ein Performance-Controller 10 Skalierbarkeitsinformationen 12 und Quality-of-Service(QoS)-Informationen 14, die der zu verarbeitenden Workload 18 zugeordnet sind und/oder deren Verarbeitung auf der Plattform geplant ist. Die Workload 18 kann den Aktivitäten zugeordnete Anweisungen/Operationen enthalten, wie zum Beispiel für die Netzwerkkommunikation (zum Beispiel Senden und/oder Empfangen), für die Speicherkommunikation (zum Beispiel Lesen und/oder Schreiben), für die berechnungsbezogene Verarbeitung (zum Beispiel allgemeine Operationen, Grafikoperationen) usw.
  • Die Skalierbarkeit kann als Verhältnis der prozentualen Veränderung in der Performance eines Systems oder Subsystems (angeforderte) zu einer prozentualen Veränderung in der durch die Workload erzielten geschätzten Performance (erbrachte) betrachtet werden. Wenn zum Beispiel eine Workload eine um 5% höhere Performance erfährt, wenn die Prozessor-Performance um 10% steigt, kann die Skalierbarkeit 5%/10% = 50% (0,5) betragen. Die realisierte Performance für eine bestimmte Workload kann auf verschiedene Weisen geschätzt werden. Die Bestimmung der Skalierbarkeit kann durchaus eine Funktion der Art der Workload und/oder der Hardwareverarbeitung der Workload sein. Zum Beispiel kann für eine nicht grafische Workload davon ausgegangen werden, dass sie keine Korrelation (somit 0% Skalierbarkeit) zur Betriebsfrequenz einer Grafikverarbeitungseinheit (GPU) besitzt, wohingegen die gleiche Workload eine Skalierbarkeit von 80% bezüglich des Core (Prozessorkern) der zentralen Verarbeitungseinheit (CPU) haben könnte, eine Skalierbarkeit von 50% bezüglich eines Netzwerkcontrollers und eine Skalierbarkeit von 70% bezüglich des Hauptspeichers.
  • Während die Betriebsfrequenz ein Beispiel einer angeforderten Performancemetrik sein kann, können auch weitere Parameter und/oder Variablen verwendet werden. Zum Beispiel können die Anzahl der aktiven Cores in einem Multi-Core-System, der Betrag an verfügbarem Speicher, die Betriebsspannung usw. ebenso zur Anforderung eines bestimmten Performance-Levels verwendet werden.
  • Der Performance-Controller 10 kann auch weitere Informationen, wie Stromverbrauchsinformationen 16 von einem oder mehreren Bereichen (zum Beispiel Geräte, Subsysteme, Module usw.) der Plattform, thermische Bedingungen/Beschränkungen der Plattform (nicht dargestellt) usw. erhalten, wobei die Skalierbarkeitsinformationen 12, QoS-Informationen 14, Stromverbrauchsinformationen 16 und thermische Bedingungen zur Verwaltung einer Performance-Policy 20 für die Plattform verwendet werden können. Wie ausführlicher dargestellt werden wird, kann die Berücksichtigung der Workload-Skalierbarkeitsinformationen 12 dem Performance-Controller 10 ermöglichen, effizientere Entscheidungen bezüglich der Performance-Policy 20 zu treffen und letztendlich die Plattform reaktionsfähiger zu machen. Es wird nun auf 2 Bezug genommen, wo eine grafische Darstellung 22 dargestellt ist, in der die Beziehung zwischen der angeforderten Performance und der erbrachten Performance für eine Gruppe von Workloads dargestellt ist. Im Besonderen können die Beziehungen in der graphischen Darstellung 22 als Hinweise auf die Skalierbarkeit der Workload in dem Sinne verstanden werden, dass höher skalierbare Workloads mehr Performance pro Einheit der angeforderten Performance als weniger skalierbare Workloads liefern können. Zum Beispiel kann eine Kurve 24 einer Workload entsprechen, die weniger skalierbar ist als eine Workload, die einer Kurve 26 entspricht, wobei die Skalierbarkeit eine Funktion eines von vielen Faktoren sein kann, wie der Netzwerkbandbreite, des verfügbaren Speichers, der Komplexität des Codes usw. Darüber hinaus können diese Faktoren effizient in einem „Zähler der produktiven Zyklen” quantifiziert werden, der die Bestimmung der Skalierbarkeit der Workload ermöglicht.
  • Somit kann das in dem vorliegenden Dokument beschriebene Workload-Skalierbarkeitsmodell mit dem Fahren eines Kraftfahrzeugs verglichen werden: Der Zähler der produktiven Zyklen kann Erkenntnisse ähnlich denen von Sensordaten, wie Kilometer pro Stunde-Daten, Benzinverbrauch pro Liter-Daten, Neigungsdaten der Straßen usw., bereitstellen, wobei ein Performance-Controller, wie ein Performance-Controller 10 (1), eine oder mehrere Steuerregister verwenden kann, um eine bestimmte Performance (zum Beispiel die Betriebsfrequenz, die Anzahl der aktiven Cores, der Betrag an verfügbarem Speicher, die Betriebsspannung) in ähnlicher Weise wie die Betätigung eines Gaspedals zu realisieren. Zum Beispiel kann der Performance-Controller mehr Performance anfordern, um eine bestimmte bereitgestellte Performance zu erhalten, wenn der Zähler der produktiven Zyklen angibt, dass die Workload eine relativ geringe Skalierbarkeit aufweist, so wie ein Fahrer das Gaspedal stärker durchdrücken würde, wenn eine relativ starke Steigung angefahren wird. Ebenso kann der Performance-Controller weniger Performance anfordern, um die gleiche gelieferte Performance aus einer besser skalierbaren Workload zu erhalten, so wie ein Fahrer das Gaspedal beim Fahren auf einer Straße ohne Steigung (oder Gefälle) leichter durchdrückt. Einfach ausgedrückt, können eine höhere Effizienz und weitere Vorteile erzielt werden, indem Kenntnisse über den erwarteten Performance-Level genutzt werden, der tatsächlich aus einem bestimmten angeforderten Performance-Level erzielt wurde.
  • Besonders hervorzuheben ist, dass der Performance-Controller ebenso Skalierbarkeitsinformationen zur Priorisierung von Workloads zur Nutzung begrenzter Leistungs-/thermischer Ressourcen mit maximaler Effizienz verwenden kann, wenn das System Beschränkungungen unterliegt. Die Priorisierung von skalierbaren Workloads kann dazu führen, dass über die Zeit mehr Aufgaben erledigt werden (d. h. höhere Effizienz). Eine höhere Skalierbarkeit kann jedoch manchmal auch zu einem höheren Stromverbrauch führen (zum Beispiel können CPU-gebundene Workloads die CPU-Leistung wesentlich erhöhen). Wenn daher ein Leistungs-/thermisches Problem für den Core (versus Plattform) entdeckt wird, ist die angemessenste Policy eine weniger skalierbare Workload zu priorisieren oder die skalierbare Workload mit einem geringeren Performance-Level (also Core-Leistung) auszuführen. Die Workload-Skalierbarkeitsinformationen können in jedem Fall dazu genutzt werden, die Performance-Policy wesentlich zu verbessern.
  • 3 stellt ein Verfahren 30 der Verwaltung der Performance in einer Computing-Plattform dar. Das Verfahren 30 kann als eine Menge von Logikanweisungen implementiert werden, die in einem maschinen- oder computerlesbaren Speichermedium gespeichert werden, wie in einem Direktzugriffsspeicher (RAM, Random Access Memory), Festspeicher (ROM, Read Only Memory), programmierbaren ROM (PROM), Firmware, Flash-Speicher etc., in konfigurierbarer Logik, wie zum Beispiel programmierbaren Logik-Arrays (PLAs), feldprogrammierbaren Gate-Arrays (FPGAs), komplexen programmierbaren Logikgeräten (CPLDs), in Logik-Hardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie wie zum Beispiel anwendungsspezifischen integrierten Schaltungen (ASIC, Application Specific Integrated Circuit), komplementärer Metalloxid-Halbleiter(CMOS, Complementary Metal Oxide Semiconductor)- oder Transistor-Transistor-Logik(TTL)-Technologie oder jeder beliebigen Kombination daraus. Zum Beispiel kann Computerprogrammcode zum Ausführen von in Verfahren 30 dargestellten Operationen in jeder beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ oder Ähnliche, und herkömmliche prozedurale Programmiersprachen, wie die Programmiersprache „C” oder ähnliche Programmiersprachen.
  • Der dargestellte Verarbeitungsblock 32 ermöglicht die Identifizierung einer Workload, wie zum Beispiel eine Netzwerkkommunikation, Speicherkommunikation und/oder einer rechenbasierten Verarbeitung einer Workload. Auf einen oder mehrere Hardware-Zähler kann in Block 34 zugegriffen werden, wobei die Zähler einen Zähler der produktiven Zyklen (z. B. PCNT), einen Zähler der tatsächlichen Zyklen (z. B. ACNT), einen nominalen Zähler (z. B. MCNT) usw. enthalten können. Der Zähler der produktiven Zyklen kann die Anzahl der nicht blockierten Zyklen seit dem letzten Zurücksetzen des Zählers bestimmen, und der Zähler der tatsächlichen Zyklen kann die Anzahl der Gesamtzyklen seit dem letzten Zurücksetzen des Zählers bestimmen. Was dies betrifft, kann ein sogenannter blockierter Zyklus anpassbar sein (zum Beispiel über einen programmierbaren Grenzwert), wobei der Zähler der resultierenden produktiven Zyklen verschiedene Polling(zyklische Abruf)-Intervalle und mehrere Consumer unterstützen kann und einfach in Workload-Skalierbarkeit konvertiert werden kann. In Block 36 kann die Skalierbarkeit der identifizierten Workload basierend auf den Zählerwerten bestimmt werden. Zum Beispiel kann das Verhältnis der produktiven Zyklen (zum Beispiel der PCNT-Wert) zu den tatsächlichen Zyklen (zum Beispiel der ACNT-Wert) eine nützliche Metrik der Produktivität/Skalierbarkeit der betreffenden Workload liefern. Somit würde in diesem Beispiel ein Verhältnis nahe 1 einer relativ hohen Skalierbarkeit entsprechen, wohingegen ein Verhältnis nahe 0 einer relativ geringen Skalierbarkeit entsprechen würde.
  • Eine Bestimmung von einer oder mehreren QoS-Bedingungen kann in Block 38 erfolgen, wobei die QoS-Bedingungen Latenzinformationen und andere qualitätsbezogene Informationen enthalten können. Darüber hinaus wird im dargestellten Block 40 ein Stromverbrauch von einem oder mehreren Bereichen der Plattform bestimmt, wobei die Stromverbrauchsinformationen im Besonderen für die Einstellungen der mobilen Plattform nützlich sein können. Im Block 40 können auch eine oder mehrere thermische Bedingungen für die Plattform bestimmt werden. Darüber hinaus kann in Block 42 die Workload priorisiert werden und ein Performance-Level basierend auf der Skalierbarkeit, den QoS-Bedingungen, den thermischen Bedingungen und dem Stromverbrauch festgelegt werden. Das Festlegen des Performance-Levels kann den Zugriff auf eine oder mehrere Steuerregister beinhalten. Das dargestellte Verfahren 30 bietet daher gegenüber reinen bedarfsbasierten Umschaltungslösungen (DBS), die auf QoS-Information beschränkt sind, erhebliche Vorteile bezüglich Effizienz und Reaktionsfähigkeit.
  • Variationen des dargestellten Verfahrens 30 können einfach erstellt werden. Wenn zum Beispiel die Skalierbarkeit relativ schnell in der Hardware ausgewertet werden kann, kann die Bestimmung der Workload in Block 32 überflüssig sein und kann daher umgangen werden. Darüber hinaus kann ein Betriebssystem (BS) QoS-Eingaben unabhängig davon bereitstellen, ob die Hardware die Identität oder den Typ der zu verarbeitenden Workload kennt. Darüber hinaus kann die Verwendung von blockierten gegenüber nicht-blockierten Zyklen, wie bezüglich der Blöcke 34 und 36 erörtert, ein Detail der Zählerimplementierung sein, die im Besonderen für einen CPU-Core geeignet ist. Andere Skalierbarkeitslösungen können jedoch für andere Arten von Geräten angemessener sein (zum Beispiel Speicher, Grafik, Netzwerkverbindung, Auslagern von Rechenaufgaben aus dem Kern (Uncore)).
  • Es wird auf 4 Bezug genommen, in der eine mobile Plattform 44 dargestellt ist. Die Plattform 44 kann eine Komponente eines Mobilgeräts mit Computing-Funktionalität (zum Beispiel PDA, Laptop, Smart Tablet), Kommunikationsfunktionalität (wie ein drahtloses Smartphone), Abbildungsfunktionalität, Funktionalität zur Wiedergabe von Medien (zum Beispiel Smart TV) oder einer beliebigen Kombination davon (z. B. MID) sein. Im dargestellten Beispiel weist die Plattform 44 einen Akku 46 zur Stromversorgung der Plattform 44, einen Systemspeicher 56, einen Netzwerkcontroller 58, ein oder mehrere Benutzerschnittstellen(UI)-Geräte 60, eine Solid State-Festplatte (SSD) 62 und ein System-on-Chip (SoC) 48 auf. Das SoC 48 kann einen Prozessor 50 und ein Eingabe/Ausgabe(E/A)-Modul 54 aufweisen, wobei der dargestellte Prozessor 50 einen integrierten Speichercontroller (IMC, Integrated Memory Controller) 52 und einen Core-Bereich mit einem oder mehreren Prozessor-Cores 64 aufweist. Der Prozessor 50 und das E/A-Modul 54 können in Abhängigkeit von der Situation alternativ auf getrennten Halbleiterbauteilen implementiert werden.
  • Das dargestellte E/A-Modul 54, das manchmal als Southbridge- oder South Complex eines Chipsatzes bezeichnet wird, fungiert als Host-Controller und kommuniziert mit dem Netzwerkcontroller 58, der außerhalb der Plattform bestehende Kommunikationsfunktionalität für eine breite Vielzahl von Einsatzzwecken bereitstellen könnte, wie zum Beispiel für ein Mobiltelefon (z. B. W-CDMA (UMTS), CDMA2000 (IS-856/IS-2000) usw.), WiFi (Wireless Fidelity, z. B. Institute of Electrical and Electronics Engineers/IEEE 802.11-2007, Wireless Local Area Network/LAN Medium Access Control(MAC)- und Physical Layer(PHY)-Spezifikationen), 4G LTE (Fourth Generation Long Term Evolution), Bluetooth (z. B. IEEE 802.15.1-2005, Wireless Personal Area Networks), WiMax (z. B. IEEE 802.16-2004, LAN/MAN Broadband Wireless LANS), GPS (Global Positioning System), Frequenzspreizung (z. B. 900 MHz) und andere Hochfrequenz(HF)-Telefonie-Einsatzbereiche. Das E/A-Modul 54 kann auch eine oder mehrere drahtlose Hardware-Schaltungsblöcke zur Unterstützung dieser Funktionalität aufweisen.
  • Der Systemspeicher 56 kann zum Beispiel DDR (Double Data Rate) SDRAM(dynamischen Schreiblese-Speicher mit wahlfreiem Zugriff, Synchronous Dynamic Random Access Memory, z. B. DDR3 SDRAM JEDEC Standard JESD79-3C, April 2008)-Module enthalten. Die Module des Systemspeichers 56 können in ein SIMM (Single Inline Memory Module), DIMM (Dual Inline Memory Module), SODIMM (Small Outline DIMM) usw. integriert sein. Das SSD 62 kann eine oder mehrere NAND(negierte AND)-Chips aufweisen und kann dazu verwendet werden, Datenspeicher in hoher Kapazität und/oder mit einem sehr hohen Grad an Parallelismus bereitzustellen. Ebenso sind Lösungen möglich, die NAND-Controller enthalten, die als separate ASIC-Controller implementiert werden, die mit dem E/A-Modul 54 über Standardbusse wie einem Serial ATA(SATA, z. B. SATA Rev. 3.0-Spezifikation, 27. Mai 2009, SATA International Organization/SATA-IO)-Bus oder einem PCI Express Graphics(PEG, z. B. Peripheral Components Interconnect/PCI Express ×16 Graphics 150W-ATX-Spezifikation 1.0, PCI Special Interest Group)-Bus verbunden sind. Das SSD 62 kann auch als USB(Universal Serial Bus, z. B. USB-Spezifikation 3.0, USB Implementers Forum)-Flash-Speichergerät verwendet werden.
  • Die dargestellten Cores 64 des Prozessors 50 können im Allgemeinen Workloads verarbeiten, die einer oder mehreren auf dem Prozessor 50 ausgeführten Anwendungen zugeordnet sind, wobei die Workloads mit Kommunikationen verbunden sein können, die über die Netzwerkcontroller 58 und/oder in Verbindung mit dem Systemspeicher 56 und/oder der SSD 62 durchgeführt werden. Im Besonderen können die Cores 64 dazu ausgestaltet sein, Workload-Logik 66, die der Plattform 44 zugeordnete Workloads identifiziert, Skalierbarkeitslogik 68, die die Skalierbarkeit der Workload bestimmt, und Verwaltungslogik 70, die die Performance-Policy der Plattform 44 wenigstens zum Teil basierend auf den Skalierbarkeiten verwaltet, auszuführen. Die Workload-Logik 66, die Skalierbarkeitslogik 68 und die Verwaltungslogik 70 können daher ähnlich wie der bereits erörterte Performance-Controller 10 (1) funktionieren.
  • In einem Beispiel weist das SoC 48 weiterhin einen Zähler 72 der produktiven Zyklen und einen Zähler 74 der tatsächlichen Zyklen auf, wobei die Skalierbarkeitslogik 68 auf die Zähler 72, 74 zugreift und das Verhältnis der produktiven Zyklen zu den tatsächlichen Zyklen bestimmt, um die Skalierbarkeiten zu bestimmen. Das SoC 48 kann auch eine oder mehrere Steuerregister 76 aufweisen, mit denen die Verwaltungslogik 70 die den Performance-Policys zugeordneten Performance-Levels festlegt. Zum Beispiel könnte die Verwaltungslogik 70 eine oder mehrere Parameterwerte in die Steuerregister 76 basierend auf den Workload-Skalierbarkeiten schreiben, um den Prozessor 50 und/oder die Plattform in einen oder mehrere ACPI(Advanced Configuration and Power Interface, z. B. ACPI-Spezifikation, Rev. 5.0a, 6. Dezember 2011)-Performance-Zustände zu versetzen.
  • Somit können die hier beschriebenen Techniken Reaktionen der Hardware (wie gewünschte/angeforderte versus erbrachte) erklären, ohne die Komplexität vieler skalierbarkeitsbezogener Faktoren, wie zum Beispiel der Netzwerkbandbreite, des verfügbaren Speichers, der Komplexität des Codes usw., darzulegen. Darüber hinaus können die allgemeinen Kosten für die Erzielung einer anderen Rate bei der Erledigung von Aufgaben in vielfältigen Einstellungen und Umgebungen formuliert werden.
  • Ausführungsformen können daher ein Verfahren aufweisen, das das Bestimmen der Skalierbarkeit von einer der Plattform zugeordneten Workload beinhaltet. Das Verfahren kann ebenso das Verwalten einer Performance-Policy der Plattform wenigstens teilweise basierend auf der Skalierbarkeit der Workload bereitstellen.
  • Ausführungsformen können ebenso ein nicht-flüchtiges computerlesbares Speichermedium mit einer Anweisungsmenge aufweisen, die bei der Ausführung durch einen Prozessor eine Plattform veranlassen, die Skalierbarkeit einer einer Plattform zugeordneten Workload zu bestimmen. Die Anweisungen können bei ihrer Ausführung auch die Plattform dazu veranlassen, eine Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend zu verwalten.
  • Ausführungsformen können außerdem eine Vorrichtung mit Skalierbarkeitslogik zum Bestimmen einer Skalierbarkeit einer einer Plattform zugeordneten Workload aufweisen. Die Vorrichtung kann auch eine Verwaltungslogik zum Verwalten einer Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend aufweisen.
  • Ausführungsformen können ebenso eine mobile Plattform mit einem Akku zur Stromversorgung der Plattform, einem Speichermodul und einem mit dem Speichermodul verbundenen SoC beinhalten, wobei das SoC Skalierbarkeitslogik aufweist, um eine Skalierbarkeit einer der Plattform zugeordneten Workload zu bestimmen. Das SoC kann auch eine Verwaltungslogik zum Verwalten einer Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend aufweisen.
  • Ausführungsformen der vorliegenden Erfindung sind zur Verwendung mit allen Arten von integrierten Halbleiterschaltungs(„IC”, Integrated Circuit)-Chips einsetzbar. Zu den Beispielen dieser IC-Chips gehören, ohne darauf beschränkt zu sein, Prozessoren, Controller, Chipsatz-Komponenten, PLAs, Speicherchips, Netzwerkchips, SoCs, SSD/NAND-Controller-ASICs und ähnliche. Darüber hinaus werden in einigen Zeichnungen Signalleitungslinien durch Linien dargestellt. Einige mögen unterschiedlich sein, um grundlegendere Signalpfade anzugeben, eine Nummerierungskennzeichnung aufweisen, um eine Anzahl der grundlegenden Signalpfade anzugeben und/oder mit Pfeilen an einem Ende oder mehreren Enden versehen sein, um die primäre Richtung des Informationsflusses anzugeben. Dies sollte jedoch nicht als einschränkend ausgelegt werden. Stattdessen kann ein solches hinzugefügtes Detail in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um das einfachere Verständnis einer Schaltung zu ermöglichen. Alle dargestellten Signalleitungen, ob mit weiteren oder ohne weitere Informationen, können de facto eine oder mehrere Signale aufweisen, die in mehrere Richtungen verlaufen können und können mit jedem geeigneten Typ von Signalschema implementiert werden, zum Beispiel digitale oder analoge Leitungen, die mit differentiellen Leitungspaaren, Glasfaserleitungen und/oder Single-Ended-Leitungen implementiert werden können.
  • Beispielhafte Größen/Modelle/Werte/Bereiche wurden angeführt, obwohl Ausführungsformen der vorliegenden Erfindung nicht auf diese beschränkt sind. Da Herstellungsverfahren (zum Beispiel Fotolithographie) im Laufe der Zeit immer ausgefeilter werden, wird davon ausgegangen, dass Geräte in kleineren Abmessungen hergestellt werden könnten. Darüber hinaus können bekannte Strom-/Masse-Verbindungen an IC-Chips und anderen Komponenten in den Figuren zur Vereinfachung der Darstellung und Erörterung dargestellt sein oder nicht, und um somit bestimmte Aspekte der Ausführungsformen der Erfindung nicht zu verschleiern. Weiterhin können Anordnungen in Blockdiagrammform dargestellt werden, um die Verschleierung von Ausführungsformen der Erfindung zu vermeiden, und ebenso angesichts der Tatsache, dass Besonderheiten bezüglich der Implementierung solcher Blockdiagramm-Anordnungen in hohem Maße von der Plattform abhängen, auf der die Ausführungsform implementiert werden soll, d. h., solche Besonderheiten sollten im Bereich der Fachleute liegen. Während spezifische Details (zum Beispiel Schaltungen) dargelegt werden, um beispielhafte Ausführungsformen der Erfindung zu beschreiben, sollte es für Fachleute offensichtlich sein, dass Ausführungsformen der Erfindung ohne oder mit einer Variation der spezifischen Details ausgeführt werden können. Die Beschreibung ist daher als veranschaulichend anstatt als einschränkend zu betrachten.
  • Der Begriff „verbunden” kann in dem vorliegenden Dokument zur Bezugnahme auf jede Art von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten verwendet werden und kann auf elektrische, mechanische, Fluid-, optische elektromagnetische, elektromechanische oder andere Verbindungen angewendet werden. Darüber hinaus werden die Begriffe „erste”, „zweite” usw. hier nur zur Erleichterung der Erörterung verwendet und tragen keine bestimmte zeitliche oder chronologische Bedeutung, sofern nicht anderweitig angegeben.
  • Für Fachleute ist aus der obigen Beschreibung ersichtlich, dass die breitgefächerten Techniken der Ausführungsformen der vorliegenden Erfindung in einer Vielzahl verschiedener Formen implementiert werden können. Daher soll, wenngleich die Ausführungsformen der Erfindung in Verbindung mit speziellen Beispielen davon beschrieben wurden, der echte Umfang der Ausführungsformen der Erfindung hier nicht beschränkt sein, da andere Modifikationen für einen qualifizierten Experten bei einem Studium der Zeichnungen, der Beschreibung und den folgenden Ansprüchen erkennbar werden.

Claims (28)

  1. Mobile Plattform, die aufweist: einen Akku zur Stromversorgung der Plattform; ein Speichermodul; und ein mit dem Speichermodul verbundenes System-on-Chip (SoC), wobei das SoC aufweist, Skalierbarkeitslogik zum Bestimmen einer Skalierbarkeit einer der Plattform zugeordneten Workload, und Verwaltungslogik zum Verwalten einer Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend.
  2. Plattform nach Anspruch 1, wobei die Skalierbarkeitslogik darin besteht, ein Verhältnis der angeforderten Performance zur erbrachten Performance zu bestimmen, um die Skalierbarkeit zu bestimmen.
  3. Plattform nach Anspruch 2, wobei das SoC weiterhin einen Zähler der produktiven Zyklen aufweist und die Skalierbarkeitslogik dazu dient, auf den Zähler der produktiven Zyklen zuzugreifen, um das Verhältnis der angeforderten Performance zur erbrachten Performance zu bestimmen.
  4. Plattform nach Anspruch 1, wobei die Verwaltungslogik auf einen Performance-Level der Plattform zum Verwalten der Performance-Policy festgelegt wird.
  5. Plattform nach Anspruch 4, wobei das SoC weiterhin ein oder mehrere Steuerregister aufweist und die Verwaltungslogik dazu dient, auf wenigstens ein des einen oder der mehreren Steuerregister zum Festlegen des Performance-Levels zuzugreifen.
  6. Plattform nach Anspruch 1, wobei die Verwaltungslogik zum Priorisieren der Workload zum Verwalten der Performance-Policy dient.
  7. Plattform nach einem der Ansprüche 1 bis 6, wobei die Performance-Policy weiterhin basierend auf einer oder mehreren Quality of Service(QoS)-Bedingungen der Workload und einem Stromverbrauch der Plattform verwaltet werden soll.
  8. Vorrichtung, die aufweist: Skalierbarkeitslogik zum Bestimmen einer Skalierbarkeit einer der Plattform zugeordneten Workload; und Verwaltungslogik zum Verwalten einer Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend.
  9. Vorrichtung nach Anspruch 8, wobei die Skalierbarkeitslogik darin besteht, ein Verhältnis der angeforderten Performance zur erbrachten Performance zu bestimmen, um die Skalierbarkeit zu bestimmen.
  10. Vorrichtung nach Anspruch 9, wobei die Skalierbarkeitslogik darin besteht, auf den Zähler der produktiven Zyklen zuzugreifen, um das Verhältnis der angeforderten Performance zur erbrachten Performance zu bestimmen.
  11. Vorrichtung nach Anspruch 8, wobei die Verwaltungslogik auf einen Performance-Level der Plattform zum Verwalten der Performance-Policy festgelegt wird.
  12. Vorrichtung nach Anspruch 11, wobei die Verwaltungslogik dazu dient, auf eine oder mehrere Steuerregister auf der Plattform zuzugreifen, um den Performance-Level festzulegen.
  13. Vorrichtung nach Anspruch 8, wobei die Verwaltungslogik zum Priorisieren der Workload zum Verwalten der Performance-Policy dient.
  14. Vorrichtung nach einem der Ansprüche 8 bis 13, wobei die Performance-Policy weiterhin basierend auf einer oder mehreren Quality of Service(QoS)-Bedingungen der Workload und einem Stromverbrauch der Plattform verwaltet werden soll.
  15. Verfahren, das beinhaltet: Bestimmen einer Skalierbarkeit der einer Plattform zugeordneten Workload; und Verwalten einer Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend.
  16. Verfahren nach Anspruch 15, wobei das Bestimmen der Skalierbarkeit das Bestimmen eines Verhältnisses der angeforderten Performance zur erbrachten Performance beinhaltet.
  17. Verfahren nach Anspruch 16, wobei das Bestimmen des Verhältnisses der angeforderten Performance zur erbrachten Performance den Zugriff auf einen Zähler der produktiven Zyklen beinhaltet.
  18. Verfahren nach Anspruch 15, wobei das Verwalten der Performance-Policy das Festlegen eines Performance-Levels der Plattform beinhaltet.
  19. Verfahren nach Anspruch 18, wobei das Festlegen des Performance-Levels den Zugriff auf ein oder mehrere Steuerregister auf der Plattform beinhaltet.
  20. Verfahren nach Anspruch 15, wobei das Verwalten der Performance-Policy die Priorisierung der Workload beinhaltet.
  21. Verfahren nach einem der Ansprüche 15 bis 20, wobei die Performance-Policy weiterhin basierend auf einer oder mehreren Quality of Service(QoS)-Bedingungen der Workload und einem Stromverbrauch der Plattform verwaltet werden soll.
  22. Nicht-flüchtiges computerlesbares Speichermedium, das eine Anweisungsmenge aufweist, die bei der Ausführung durch einen Prozessor die Plattform dazu veranlasst: eine Skalierbarkeit einer mit der Plattform verbundenen Workload zu bestimmen; und eine Performance-Policy der Plattform wenigstens teilweise auf der Skalierbarkeit der Workload basierend zu verwalten.
  23. Medium nach Anspruch 22, wobei die Anweisungen bei der Ausführung die Plattform dazu veranlassen, ein Verhältnis der angeforderten Performance zur erbrachten Performance zu bestimmen, um die Skalierbarkeit zu bestimmen.
  24. Medium nach Anspruch 23, wobei die Anweisungen bei der Ausführung die Plattform dazu veranlassen, auf einen Zähler der produktiven Zyklen zuzugreifen, um das Verhältnis der angeforderten Performance zur erbrachten Performance zu bestimmen.
  25. Medium nach Anspruch 22, wobei die Anweisungen bei der Ausführung die Plattform dazu veranlassen, einen Performance-Level der Plattform zum Verwalten der Performance-Policy festzulegen.
  26. Medium nach Anspruch 25, wobei die Anweisungen bei der Ausführung die Plattform dazu veranlassen, auf eine oder mehrere Steuerregister auf der Plattform zuzugreifen, um den Performance-Level festzulegen.
  27. Medium nach Anspruch 22, wobei die Anweisungen bei der Ausführung die Plattform dazu veranlassen, die Workload zu priorisieren, um die Performance-Policy zu verwalten.
  28. Medium nach einem der Ansprüche 22 bis 27, wobei die Performance-Policy weiterhin basierend auf einer oder mehreren Quality of Service(QoS)-Bedingungen der Workload und einem Stromverbrauch der Plattform zu verwalten ist.
DE112013006292.5T 2012-12-27 2013-06-27 Verwaltung von Performance-Policies basierend auf der Skalierbarkeit von Workloads Pending DE112013006292T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/728,327 US9110735B2 (en) 2012-12-27 2012-12-27 Managing performance policies based on workload scalability
USUS-13/728,327 2012-12-27
PCT/US2013/048376 WO2014105199A1 (en) 2012-12-27 2013-06-27 Managing performance policies based on workload scalability

Publications (1)

Publication Number Publication Date
DE112013006292T5 true DE112013006292T5 (de) 2015-10-22

Family

ID=51018909

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013006292.5T Pending DE112013006292T5 (de) 2012-12-27 2013-06-27 Verwaltung von Performance-Policies basierend auf der Skalierbarkeit von Workloads

Country Status (6)

Country Link
US (1) US9110735B2 (de)
CN (1) CN104798042B (de)
DE (1) DE112013006292T5 (de)
GB (1) GB2522584B (de)
TW (1) TWI512628B (de)
WO (1) WO2014105199A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102468286B1 (ko) * 2016-01-04 2022-11-21 한국전자통신연구원 대칭형 다중 처리 시스템에서의 전력 제한 장치 및 방법
US11182315B2 (en) 2017-02-10 2021-11-23 Intel Corporation Apparatuses, methods, and systems for hardware control of processor performance levels
US10402205B2 (en) * 2017-03-02 2019-09-03 Quanta Computer Inc. System and method for dynamically optimizing hardware frequency for booting
US10620959B2 (en) 2017-12-01 2020-04-14 International Business Machines Corporation Optimized multi-processor instruction scheduler

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343418B2 (en) * 2002-06-03 2008-03-11 Microsoft Corporation Peer to peer network
US7131015B2 (en) * 2002-11-12 2006-10-31 Arm Limited Performance level selection in a data processing system using a plurality of performance request calculating algorithms
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7281097B1 (en) * 2004-06-30 2007-10-09 Emc Corporation Method of controlling the performance of a data storage system
US20060161752A1 (en) * 2005-01-18 2006-07-20 Burkey Todd R Method, apparatus and program storage device for providing adaptive, attribute driven, closed-loop storage management configuration and control
US7546222B2 (en) * 2005-06-12 2009-06-09 Infosys Technologies, Ltd. System for performance and scalability analysis and methods thereof
US8365182B2 (en) * 2006-10-02 2013-01-29 International Business Machines Corporation Method and system for provisioning of resources
CN100501644C (zh) * 2006-12-05 2009-06-17 中兴通讯股份有限公司 动态降低cpu功耗的方法
US7957948B2 (en) * 2007-08-22 2011-06-07 Hyperformit, Inc. System and method for capacity planning for systems with multithreaded multicore multiprocessor resources
US20110213950A1 (en) 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization
EP2294499A1 (de) 2008-06-25 2011-03-16 Nxp B.V. Elektronische anordnung, verfahren zur steuerung einer elektronischen anordnung und system auf einem chip
US8255176B2 (en) * 2008-08-07 2012-08-28 Research In Motion Limited Systems and methods for monitoring deterioration of a rechargeable battery
US20100057404A1 (en) 2008-08-29 2010-03-04 International Business Machines Corporation Optimal Performance and Power Management With Two Dependent Actuators
US8458498B2 (en) * 2008-12-23 2013-06-04 Intel Corporation Method and apparatus of power management of processor
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US8874943B2 (en) * 2010-05-20 2014-10-28 Nec Laboratories America, Inc. Energy efficient heterogeneous systems
US8862807B2 (en) * 2010-08-20 2014-10-14 Samsung Electronics Co., Ltd. Semiconductor storage device and method of throttling performance of the same
US8185758B2 (en) * 2011-06-30 2012-05-22 Intel Corporation Method and system for determining an energy-efficient operating point of a platform
US8621463B2 (en) * 2011-09-09 2013-12-31 GM Global Technology Operations LLC Distributed computing architecture with dynamically reconfigurable hypervisor nodes
US9239611B2 (en) * 2011-12-05 2016-01-19 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme
US20140047079A1 (en) * 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for emulating a desired network configuration in a cloud computing system
US20140089699A1 (en) * 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor

Also Published As

Publication number Publication date
GB201508781D0 (en) 2015-07-01
GB2522584B (en) 2021-06-02
CN104798042B (zh) 2019-01-01
US20140189694A1 (en) 2014-07-03
US9110735B2 (en) 2015-08-18
WO2014105199A1 (en) 2014-07-03
GB2522584A (en) 2015-07-29
TW201428631A (zh) 2014-07-16
CN104798042A (zh) 2015-07-22
TWI512628B (zh) 2015-12-11

Similar Documents

Publication Publication Date Title
DE112019002524T5 (de) Drosseln von komponenten über prioritätenreihenfolgen
DE102020132721A1 (de) Vollständig digitaler spannungsmonitor (advm) mit einzelzykluslatenz
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE102019106669A1 (de) Verfahren und anordnungen zum verwalten von speicher in kaskadierten neuronalen netzen
DE102018132781A1 (de) Heterogenes Rechensystem, welches konfiguriert ist, um eine Cachekohärenz adaptiv zu steuern
DE102013217804B4 (de) System und Verfahren zur Berücksichtigung von Alterungswirkungen in einer Computervorrichtung
DE102016118210A1 (de) Granulare Dienstqualität für Computer-Ressourcen
DE112011103194T5 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
DE112011105998T5 (de) Speicheroperationen unter Verwendung von Systemtemperatursensordaten
DE112017001805T5 (de) Bestimmen von thermischen obergrenzen in einem prozessor mit mehreren dies
DE202012013405U1 (de) Cloud-zu Gerät-Nachrichtenübermittlung zur Anwendungsaktivierung und Meldung
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE102020105939A1 (de) Enhanced-Serial-Peripheral-Interface-(eSPI)-Signalisierung zurAbsturzereignisbenachrichtigung
DE112017008158T5 (de) Dateienvorababrufeinplanung für cachespeicher zur verringerung von latenzen
DE112013006292T5 (de) Verwaltung von Performance-Policies basierend auf der Skalierbarkeit von Workloads
DE102013213047A1 (de) System, Verfahren und Computerprogrammprodukt zum Testen von Vorrichtungsparametern
DE112011105901T5 (de) Verfahren und Vorrichtung zur Energieeinsparung für First In First Out (FIF0)-Speicher
DE112013006049T5 (de) Anzeigevorrichtung und Bildbearbeitungsverfahren dafür
DE102017222263A1 (de) System und Verfahren zur Umsetzung eines Nachfragereaktionsereignisses mit variablen Boni für Fahrzeuge
DE102010021789A1 (de) Verfahren und System, um konfigurierbare Eingangs-/Ausgangs-(I/O-Input/Output)-Abschlussspannungsreferenz zu erleichtern
DE112012006163T5 (de) Steuerung des Energieverbrauchs in Mehrkernumgebungen
DE102019133492A1 (de) Leistungssparende Anzeige mit verbesserter Bildqualität
DE112020000976T5 (de) Detektion bekannter arbeitslastmuster
DE102022119906A1 (de) Leistungsverbrauch von softwareentitäten - schätzung und überwachung
DE102020132758A1 (de) Leistungsfähigkeits-konfigurierbare nichtflüchtige speichermenge

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R409 Internal rectification of the legal status completed
R409 Internal rectification of the legal status completed