Ubuntu prend-il en charge Core Parking?


13

Le stationnement de base est une nouvelle fonctionnalité introduite dans Windows 7 pour obtenir de meilleures performances de la batterie .

Selon l'utilisation des ressources du système d'exploitation, il peut garer un ou plusieurs cœurs d'un processeur multicœur pour réduire la consommation d'énergie et les émissions thermiques de l'ordinateur. Une fois que les opérations nécessitent plus de puissance de traitement, les cœurs parqués sont à nouveau activés pour faciliter les tâches

Donc ma question est de savoir comment je peux le faire sur Ubuntu 12.04 "Core Parking" ?


3
Grande question!
NlightNFotis

Réponses:


9

Pour le moment, je n'ai pas de réponse claire à cela, mais il est évident que le noyau Linux utilise des mécanismes d'économie d'énergie .

Cependant, en faisant quelques recherches rapides autour, j'ai rapidement réalisé que les noyaux Linux les plus récents utilisent une fonctionnalité appelée ACPI qui est un acronyme pour Advanced Configuration and Power Interface .

Ce que fait l'ACPI:

la spécification ACPI (Advanced Configuration and Power Interface) fournit une norme ouverte pour la configuration des périphériques et la gestion de l'alimentation par le système d'exploitation.

via Wikipedia .

Fondamentalement, l'ACPI permet de contrôler différents états du processeur, pour permettre une meilleure gestion de l'alimentation.

Différents états du processeur ACPI:

États C du processeur (gestion de l'alimentation)

Fondamentalement, il n'y a probablement rien à craindre concernant les "états C" du processeur. Ceux-ci sont automatiquement contrôlés par le système noyau + ACPI en tenant compte de la charge actuelle du système. (CAVEAT: consultez la note sur les processeurs AMD Athlon et Duron ci-dessous). Le code ACPI dans les noyaux les plus récents (2.6+) met automatiquement votre CPU en veille lorsqu'il y a un temps d'inactivité (remarque: cela ne change pas la fréquence du CPU. Cela est contrôlé par les "états P" - voir ci-dessous).

La seule chose à réaliser est que votre système est complètement "conscient" lorsque le CPU est momentanément arrêté - vous ne remarquerez pas beaucoup de différence. Cependant, les économies d'énergie peuvent être considérables. Imaginez simplement que votre processeur prenne des milliers de «micro-siestes» chaque fois qu'il est inactif.

États CPU-T (limitation)

Celles-ci ressemblent beaucoup aux "états C" (la même instruction HLT est utilisée), mais la différence est que la limitation est "forcée par vous" (comme chaque 4ème cycle est forcé d'être un cycle de sommeil, contrairement aux "états C"). "au-dessus desquels sont automatiquement déterminés par la charge du système). Notez que la fréquence n'a PAS été modifiée ... voir les "états P" ci-dessous.

États CPU-P (performances)

De nos jours, de nombreux processeurs (en particulier les ordinateurs portables) peuvent ralentir la fréquence d'horloge "à la volée". Cela se traduit par d'énormes économies d'énergie. Intel appelle cela "SpeedStep" et AMD l'appelle "Cool'n'Quiet" ou "PowerNow". Plus génériquement, ces états sont appelés "états P". Vous devrez presque certainement aller dans le BIOS et activer cette fonctionnalité pour votre CPU en premier!

** Quelques repères de consommation: **

Quelles sont les économies d'énergie des états de processeur ci-dessus? Les données suivantes sont extraites du site Web d'AMD. Considérez un AMD 64 3400 + / 2200 MHz avec 1 Mo de cache L2. Soit dit en passant, pendant que je suis ici, permettez-moi de me plaindre de la convention de dénomination AMD. Le nombre 3400+ ne signifie pas jack squat. C'est juste la façon d'AMD de dire que ce processeur "ressemble" à un Intel Pentium-4 fonctionnant à 3400 MHz. Je suppose que c'est leur façon de ne pas perdre de parts de marché. Voici les valeurs de consommation d'énergie des états P et T (l'état C est la même instruction HLT que l'état T):

  • État de performance 0 (entièrement actif) (2200 MHz): 89 watts
  • État de performance 1 (2000 MHz): 70 watts
  • État de performance 2 (800 MHz): 35 watts
  • Limité (instruction HLT): 2,2 watts

Quelques références pour plus de lecture

MODIFICATIONS

[EDIT # 1]: En parcourant Google, j'ai également trouvé d'autres messages dans certains forums (le forum OpenSuse semble être pertinent pour ce que vous cherchez) et j'ai découvert que ce n'était pas vraiment un problème pour Linux comme pour Windows et en particulier dans les jeux. J'ai également déterré des informations dans deux courriels (le premier et le deuxième [suivi] ) dans les listes de diffusion RedHat qui semblent être liées. Je recherche actuellement les informations qu'il contient.

[EDIT # 2]: J'ai un peu étudié le problème et je suis de plus en plus certain qu'il n'y a pas de mécanisme de stationnement de base sous Linux, sauf s'il y en a un ACPI que je ne connais pas. Certaines découvertes intéressantes sont des logiciels qui permettent une manipulation directe du processeur et des processus qui y sont exécutés, comme cpuset , numactl et enfin et surtout, CPUfreq . Poursuivra mes recherches.


Je pense que certains appareils Android peuvent désactiver un ou plusieurs cœurs. Je ne sais pas si cela est géré directement par le matériel ou le noyau.
Leo

2

Il y a un article ici mentionnant que le stationnement de base concerne la configuration des cœurs pour faire avancer les états c pour économiser de l'énergie. Les états c sont définis avec l'instruction d'arrêt. Comme NlightNFotis le mentionne, cela se fait en utilisant le support de linux pour ACPI.

Vous pourrez peut-être obtenir plus d'informations sur les états dans lesquels vos cœurs sont placés par Linux avec le programme open source powertop( sudo apt-get install powertop) écrit par Intel. Si votre matériel prend en charge divers états c, il devrait être en mesure de vous dire quel pourcentage de temps vos cœurs sont mis dans ces états de puissance réduite par Ubuntu Linux. Voir ci-dessous. Plus le nombre c est élevé, plus la puissance économisée est élevée.

Il fournit également beaucoup plus d'informations.

De plus, comme Windows, quand il y a du travail à faire, Linux peut ajuster la fréquence à laquelle les cœurs s'exécutent en fonction de la quantité de demande, du désir d'économiser de l'énergie, etc.

Mon ordinateur portable ne prend pas en charge les états c, bien qu'il puisse être suspendu. Un petit Acer que nous avons avec un processeur Atom les prend en charge, comme vous pouvez le voir ci-dessous.

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.