¿Ubuntu es compatible con Core Parking?

13

El estacionamiento central es una nueva característica que se introdujo en Windows 7 para obtener un mejor rendimiento de la batería .

Dependiendo del uso de recursos del sistema operativo, puede estacionar uno o varios núcleos de una CPU de múltiples núcleos para reducir el consumo de energía de la computadora y las emisiones térmicas. Una vez que las operaciones requieren más potencia de procesamiento, los núcleos estacionados se activan nuevamente para ayudar en las tareas

Entonces, mi pregunta es: ¿hay alguna manera de hacerlo en Ubuntu 12.04 "Core Parking" ?

Qasim
fuente
3
Gran pregunta!
NlightNFotis

Respuestas:

9

Por el momento, no tengo una respuesta clara para esto, sin embargo, es obvio que Linux Kernel está utilizando algunos mecanismos de ahorro de energía .

Sin embargo, al investigar un poco, me di cuenta rápidamente de que los núcleos de Linux más recientes hacen uso de una característica llamada ACPI, que es el acrónimo de Advanced Configuration and Power Interface .

Lo que está haciendo el ACPI:

La especificación de Configuración avanzada e interfaz de energía (ACPI) proporciona un estándar abierto para la configuración del dispositivo y la administración de energía por parte del sistema operativo.

a través de Wikipedia .

Básicamente, el ACPI permite el control de diferentes estados de CPU, para permitir una mejor administración de energía.

Diferentes estados de CPU ACPI:

CPU C-States (gestión de energía)

Básicamente, probablemente no haya nada de lo que deba preocuparse con respecto a los "estados C" de la CPU. Estos son controlados automáticamente por el sistema kernel + ACPI teniendo en cuenta la carga actual del sistema. (PRECAUCIÓN: consulte la nota sobre los procesadores AMD Athlon y Duron a continuación). El código ACPI en los núcleos más nuevos (2.6+) pone automáticamente su CPU en reposo cuando hay un tiempo de inactividad (nota: esto no cambia la frecuencia de la CPU. Eso está controlado por "estados P" - ver más abajo).

Lo único que debe darse cuenta es que su sistema está completamente "consciente" cuando la CPU se detiene momentáneamente; no notará mucha diferencia. Sin embargo, el ahorro de energía puede ser considerable. Simplemente piense que su CPU toma miles de "micro-siestas" cuando está inactivo.

Estados de CPU-T (aceleración)

Estos son muy parecidos a los "estados C" (se usa la misma instrucción HLT), sin embargo, la diferencia es que la aceleración es "forzada por usted" (como cada cuarto ciclo se ve obligado a ser un ciclo de sueño, en oposición a los "estados C "por encima del cual se determina automáticamente por la carga del sistema). Tenga en cuenta que la frecuencia NO ha cambiado ... consulte los "estados P" a continuación.

Estados de CPU-P (rendimiento)

Muchos procesadores en estos días (especialmente las computadoras portátiles) pueden hacer que la frecuencia del reloj se ralentice "al vuelo". Esto se suma a un gran ahorro de energía. Intel llama a esto "SpeedStep" y AMD lo llama "Cool'n'Quiet" o "PowerNow". Más genéricamente, estos estados se denominan "estados P". ¡Seguramente tendrá que ingresar al BIOS y habilitar esta característica para su CPU PRIMERO!

** Algunos puntos de referencia de consumo: **

¿Cuáles son los ahorros de energía de los estados de CPU anteriores? Los siguientes datos se extraen del sitio web de AMD. Considere un AMD 64 3400 + / 2200MHz con 1 MB de caché L2. Por cierto, mientras estoy aquí, déjenme quejarme sobre la convención de nomenclatura de AMD. El número 3400+ no significa jack squat. Esta es solo la forma en que AMD dice que este procesador "se parece" a un Intel Pentium-4 que funciona a 3400MHz. Supongo que esta es su forma de no perder cuota de mercado. Estos son los valores de consumo de energía del estado P y T (el estado C es la misma instrucción HLT que el estado T):

  • Estado de rendimiento 0 (totalmente activo) (2200MHz): 89 vatios
  • Estado de rendimiento 1 (2000MHz): 70 vatios
  • Estado de rendimiento 2 (800MHz): 35 vatios
  • Estrangulado (instrucción HLT): 2.2 vatios

Algunas referencias para lecturas adicionales

EDICIONES

[EDITAR # 1]: buscando en Google, encontré algunas otras publicaciones en algunos foros también (el foro OpenSuse parece ser relevante para lo que busca) y descubrí que esto no es un gran problema para Linux como lo es para Windows y especialmente en juegos. También busqué información en dos correos (el primero y el segundo [seguimiento] ) en las listas de correo de RedHat que parecen estar relacionados. Actualmente estoy investigando la información que contiene.

[EDITAR # 2]: He investigado un poco el problema, y ​​estoy cada vez más seguro de que no hay un mecanismo central de estacionamiento en Linux, a menos que haya uno de los ACPI que desconozco. Algunos hallazgos interesantes son algunas piezas de software que permiten la manipulación directa de la CPU y los procesos que se ejecutan en ella, como cpuset , numactl y, por último, CPUfreq . Continuaré con mi investigación.

NlightNFotis
fuente
Creo que algunos dispositivos Android pueden desactivar uno o más núcleos. Sin embargo, no estoy seguro de si esto es administrado directamente por el hardware o el kernel.
Leo
2

Hay un artículo aquí mencionar que el estacionamiento central se relaciona con el establecimiento de núcleos para avanzar C-estados para ahorrar energía. Los estados c se establecen con la instrucción de detención. Como NlightNFotis menciona, esto se hace utilizando el soporte de Linux para ACPI.

Es posible que pueda obtener más información sobre los estados en los que linux coloca sus núcleos con el programa de código abierto powertop( sudo apt-get install powertop) escrito por Intel. Si su hardware admite varios estados c, debería poder decirle qué porcentaje de tiempo Ubuntu Linux pone sus núcleos en estos estados de potencia reducida. Vea abajo. Cuanto mayor sea el estado c, más energía se ahorrará.

Proporciona mucha más información también.

Además, como Windows, cuando hay trabajo para hacer Linux, se puede ajustar la frecuencia con la que se ejecutan los núcleos dependiendo de la cantidad de demanda, el deseo de ahorrar energía, etc.

Mi computadora portátil no admite estados C, aunque puede suspenderse. Un poco de Acer que tenemos con un procesador Atom los admite, como puede ver a continuación.

ingrese la descripción de la imagen aquí

John S Gruber
fuente