Ubuntu supporta Core Parking?


13

Il core parking è una nuova funzionalità introdotta in Windows 7 per migliorare le prestazioni della batteria .

A seconda dell'utilizzo delle risorse del sistema operativo, è possibile parcheggiare uno o più core di una CPU multi-core per ridurre il consumo di energia del computer e le emissioni termiche. Una volta che le operazioni richiedono più potenza di elaborazione, i nuclei parcheggiati vengono nuovamente attivati ​​per aiutare nelle attività

Quindi la mia domanda è che c'è un modo per farlo su Ubuntu 12.04 "Core Parking" ?


3
Ottima domanda!
NlightNFotis

Risposte:


9

Per il momento, non ho una risposta chiara per questo, tuttavia è ovvio che il kernel Linux sta usando alcuni meccanismi di risparmio energetico .

Tuttavia, facendo alcune ricerche rapide, mi sono reso conto rapidamente che i kernel Linux più recenti utilizzano una funzione chiamata ACPI che è l'acronimo di Advanced Configuration and Power Interface .

Cosa sta facendo l'ACPI:

la specifica Advanced Configuration and Power Interface (ACPI) fornisce uno standard aperto per la configurazione del dispositivo e la gestione dell'alimentazione da parte del sistema operativo.

tramite Wikipedia .

Fondamentalmente l'ACPI consente il controllo di diversi stati della CPU, per consentire una migliore gestione dell'alimentazione.

Diversi stati della CPU ACPI:

Stati C della CPU (risparmio energetico)

Fondamentalmente, probabilmente non c'è nulla di cui preoccuparsi riguardo agli "stati C" della CPU. Questi sono automaticamente controllati dal sistema kernel + ACPI prendendo in considerazione il carico di sistema corrente. (CAVEAT: controlla la nota sui processori AMD Athlon e Duron di seguito). Il codice ACPI nei kernel più recenti (2.6+) mette automaticamente in pausa la CPU quando c'è il tempo di inattività (nota: questo non cambia la frequenza della CPU. Che è controllato da "stati P" - vedi sotto).

L'unica cosa da capire è che il tuo sistema è completamente "cosciente" quando la CPU viene momentaneamente arrestata - non noterai molta differenza. Tuttavia, il risparmio energetico può essere considerevole. Basti pensare che la tua CPU prende migliaia di "micro-pisolini" ogni volta che è inattiva.

Stati CPU-T (limitazione)

Questi sono molto simili agli "stati C" (viene utilizzata la stessa istruzione HLT), tuttavia la differenza è che il throttling è "forzato da te" (come ogni 4 ° ciclo è costretto ad essere un ciclo del sonno, al contrario degli "stati C" "sopra i quali sono automaticamente determinati dal carico del sistema). Si noti che la frequenza NON è stata modificata ... vedere gli "stati P" di seguito.

Stati CPU-P (prestazioni)

Oggigiorno molti processori (in particolare i laptop) possono avere la frequenza di clock effettivamente rallentata "al volo". Ciò si traduce in enormi risparmi energetici. Intel chiama questo "SpeedStep" e AMD lo chiama "Cool'n'Quiet" o "PowerNow". Più genericamente questi stati sono chiamati "stati P". Dovrai quasi sicuramente accedere al BIOS e abilitare questa funzionalità per la tua CPU PRIMA!

** Alcuni parametri di consumo: **

Quali sono i risparmi energetici dagli stati CPU sopra indicati? I seguenti dati vengono estratti dal sito Web AMD. Prendi in considerazione un AMD 64 3400 + / 2200MHz con 1 MB di cache L2. A proposito, mentre sono qui, vorrei lamentarmi della convenzione di denominazione AMD. Il numero 3400+ non significa jack squat. Questo è solo il modo di AMD di dire che questo processore "sembra" un Intel Pentium-4 funzionante a 3400MHz. Immagino che questo sia il loro modo di non perdere market share. Ecco i valori di consumo energetico dello stato P e T (lo stato C è la stessa istruzione HLT dello stato T):

  • Stato prestazioni 0 (completamente attivo) (2200 MHz): 89 watt
  • Performance State 1 (2000MHz): 70 Watt
  • Performance State 2 (800MHz): 35 Watt
  • Accelerato (istruzione HLT): 2,2 watt

Alcuni riferimenti per ulteriori letture

EDITS

[EDIT # 1]: Cercando su Google, ho trovato anche altri post in alcuni forum (il forum OpenSuse sembra essere rilevante per quello che cerchi) e ho scoperto che questo non è un grosso problema per Linux come lo è per Windows e soprattutto nei giochi. Ho anche raccolto alcune informazioni in due mail (la prima e la seconda [follow-up] ) nelle mailing list di RedHat che sembrano essere correlate. Attualmente sto cercando le informazioni in esso.

[EDIT # 2]: ho studiato un po 'il problema e sto diventando sempre più certo che non esiste un meccanismo di parcheggio principale in Linux, a meno che non esista un ACPI di cui non sono a conoscenza. Alcuni risultati interessanti sono alcuni software che consentono la manipolazione diretta della cpu e dei processi eseguiti su di essa, come cpuset , numactl e, ultimo ma non meno importante, CPUfreq . Continuerà con la mia ricerca.


Penso che alcuni dispositivi Android possano disabilitare uno o più core. Non sono sicuro se questo è gestito direttamente dall'hardware o dal kernel.
Leone,

2

C'è un articolo qui che menziona che il parcheggio principale riguarda l'impostazione dei core per far avanzare gli stati c per risparmiare energia. Gli stati c sono impostati con l'istruzione halt. Come menziona NlightNFotis, questo viene fatto usando il supporto di linux per ACPI.

Potresti essere in grado di ottenere qualche informazione in più sugli stati in cui i tuoi core vengono inseriti da Linux con il powertop( sudo apt-get install powertop) programma open source scritto da Intel. Se tuo hardware supporta vari stati c, dovrebbe essere in grado di dirti quale percentuale di tempo i tuoi core vengono messi in questi stati a potenza ridotta da Ubuntu Linux. Vedi sotto. Più alto è lo stato c maggiore è la potenza risparmiata.

Fornisce anche molte più informazioni.

Inoltre, come Windows, quando c'è lavoro da fare Linux può regolare la frequenza con cui i core funzionano a seconda della quantità di richiesta, del desiderio di risparmiare energia, ecc.

Il mio laptop non supporta gli stati c, sebbene possa essere sospeso. Un piccolo Acer che abbiamo con un processore Atom li supporta, come puoi vedere di seguito.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.