Unterstützt Ubuntu Core Parking?

13

Core Parking ist eine neue Funktion, die in Windows 7 eingeführt wurde, um eine bessere Akkuleistung zu erzielen .

Abhängig von der Ressourcennutzung des Betriebssystems können ein oder mehrere Kerne einer Multi-Core-CPU geparkt werden, um den Stromverbrauch und die Wärmeabgabe des Computers zu verringern. Wenn die Vorgänge mehr Rechenleistung erfordern, werden die geparkten Kerne erneut aktiviert, um die Aufgaben zu unterstützen

Meine Frage ist also, wie kann ich das mit Ubuntu 12.04 "Core Parking" machen ?

Qasim
quelle
3
Tolle Frage!
NlightNFotis

Antworten:

9

Derzeit habe ich keine klare Antwort darauf, es ist jedoch offensichtlich, dass der Linux-Kernel einige Energiesparmechanismen verwendet .

Als ich mich jedoch schnell umgesehen habe, wurde mir schnell klar, dass die neuesten Linux-Kernel eine Funktion namens ACPI verwenden, die Abkürzung für Advanced Configuration and Power Interface ist .

Was die ACPI macht:

Die ACPI-Spezifikation (Advanced Configuration and Power Interface) bietet einen offenen Standard für die Gerätekonfiguration und die Energieverwaltung durch das Betriebssystem.

über Wikipedia .

Grundsätzlich ermöglicht die ACPI die Steuerung verschiedener CPU-Zustände, um eine bessere Energieverwaltung zu ermöglichen.

Unterschiedliche ACPI-CPU-Zustände:

CPU C-States (Energieverwaltung)

Grundsätzlich gibt es wahrscheinlich nichts, worüber Sie sich Gedanken machen müssen, was die "C-Zustände" der CPU betrifft. Diese werden vom Kernel + ACPI-System unter Berücksichtigung der aktuellen Systemlast automatisch gesteuert. (CAVEAT: Lesen Sie den Hinweis zu AMD Athlon- und Duron-Prozessoren weiter unten.) Der ACPI-Code in den neueren (2.6+) Kerneln versetzt Ihre CPU automatisch in den Ruhezustand, wenn eine Leerlaufzeit vorliegt (Hinweis: Dies ändert nicht die CPU-Frequenz. Dies wird durch "P-Zustände" gesteuert - siehe unten).

Das Einzige, was Sie bemerken müssen, ist, dass Ihr System vollständig "bewusst" ist, wenn die CPU vorübergehend angehalten wird - Sie werden keinen großen Unterschied bemerken. Die Energieeinsparung kann jedoch beträchtlich sein. Stellen Sie sich vor, Ihre CPU nimmt Tausende von "Micro-Naps", wenn sie im Leerlauf ist.

CPU-T-Zustände (Drosselung)

Diese ähneln stark den "C-Zuständen" (es wird derselbe HLT-Befehl verwendet), der Unterschied besteht jedoch darin, dass die Drosselung "von Ihnen erzwungen" wird (im Gegensatz zu den "C-Zuständen" muss jeder vierte Zyklus ein Schlafzyklus sein msgstr "darüber werden automatisch von der Systemlast bestimmt). Beachten Sie, dass die Frequenz NICHT geändert wurde ... siehe "P-Zustände" unten.

CPU-P-Zustände (Leistung)

Viele Prozessoren (insbesondere Laptops) können heutzutage die Taktfrequenz "on the fly" verlangsamen. Dies führt zu enormen Energieeinsparungen. Intel nennt dies "SpeedStep" und AMD nennt es "Cool'n'Quiet" oder "PowerNow". Allgemeiner werden diese Zustände "P-Zustände" genannt. Mit ziemlicher Sicherheit müssen Sie das BIOS aufrufen und diese Funktion ZUERST für Ihre CPU aktivieren!

** Einige Verbrauchsrichtwerte: **

Was sind die Energieeinsparungen aus den oben genannten CPU-Zuständen? Die folgenden Daten werden von der AMD-Website extrahiert. Betrachten Sie einen AMD 64 3400 + / 2200MHz mit 1 MB L2-Cache. Übrigens, während ich hier bin, möchte ich mich über die AMD-Namenskonvention beschweren. Die Zahl 3400+ bedeutet nicht Jack Squat. Dies ist nur AMDs Art zu sagen, dass dieser Prozessor wie ein Intel Pentium-4 mit 3400 MHz "aussieht". Ich denke, dies ist ihre Art, um Marktanteile nicht zu verlieren. Hier sind die Leistungsverbrauchswerte für den P- und T-Zustand (der C-Zustand ist derselbe HLT-Befehl wie der T-Zustand):

  • Leistungsstatus 0 (voll aktiv) (2200 MHz): 89 Watt
  • Leistungsstatus 1 (2000 MHz): 70 Watt
  • Leistungszustand 2 (800 MHz): 35 Watt
  • Gedrosselt (HLT-Anweisung): 2,2 Watt

Einige Referenzen zur weiteren Lektüre

EDITS

[EDIT # 1]: googeln herum, fand ich einige andere Beiträge in einigen Foren zu (OpenSuse Forum scheint relevant zu sein , was Sie suchen) und fand heraus , dass dies nicht , dass für Linux ein Problem viel ist , wie es für Fenster und vor allem im Gaming. Ich habe auch einige Informationen in zwei E-Mails ( erste und zweite [Nachbearbeitung] ) in den RedHat-Mailinglisten ausgegraben , die in Beziehung zu stehen scheinen. Ich recherchiere derzeit die darin enthaltenen Informationen.

[EDIT # 2]: Ich habe das Problem ein wenig recherchiert und bin mir immer sicherer, dass es keinen zentralen Parkmechanismus in Linux gibt, es sei denn , es gibt einen ACPI, den ich nicht kenne. Einige interessante Ergebnisse sind einige Software-Teile, die eine direkte Manipulation der CPU und der darauf ausgeführten Prozesse ermöglichen, wie z . B. cpuset , numactl und nicht zuletzt CPUfreq . Ich werde meine Forschung fortsetzen.

NlightNFotis
quelle
Ich denke, einige Android-Geräte können einen oder mehrere Kerne deaktivieren. Ich bin mir nicht sicher, ob dies direkt von der Hardware oder dem Kernel verwaltet wird.
Leo
2

Es gibt einen Artikel hier zu erwähnen , dass Kern Parkplatz betrifft Kerne voraus c-Staaten zur Einrichtung Energie zu sparen. c-states werden mit der halt-Anweisung gesetzt. Wie NlightNFotis erwähnt, erfolgt dies mithilfe der Linux-Unterstützung für ACPI.

Möglicherweise können Sie mit dem von Intel geschriebenen Open-Source-Programm powertop( sudo apt-get install powertop) weitere Informationen über die Zustände erhalten, in denen Ihre Kerne von Linux abgelegt werden . Wenn Ihre Hardware verschiedene C-Zustände unterstützt, sollte sie Ihnen mitteilen können, wie viel Prozent der Zeit Ihre Kerne von Ubuntu Linux in diesen Energiesparmodus versetzt werden. Siehe unten. Je höher die Zahl, desto mehr Strom wird gespart.

Es bietet auch viel mehr Informationen.

Ebenso wie bei Windows kann Linux bei Bedarf die Häufigkeit der Ausführung der Kerne in Abhängigkeit von der Menge der Anforderungen, dem Wunsch, Energie zu sparen usw. anpassen.

Mein Laptop unterstützt keine C-States, kann aber suspendiert werden. Ein kleines Acer, das wir mit einem Atom-Prozessor haben, unterstützt sie, wie Sie unten sehen können.

Bildbeschreibung hier eingeben

John S Gruber
quelle