Adaptation de la consommation électrique et mise en veille sur les ordinateurs (ACPI)

En principe, quand on conçoit un homelab, on va mettre en oeuvre des services que l’on souhaite toujours accessibles soit en local (par exemple un service de diffusion centralisé de vidéo ou de musique interne à l’habitation) ou accessible depuis l’extérieur (tout l’internet) : un site web, un applicatif familial (agenda en ligne, etc …).

Ceci implique donc qu’au moins une partie des équipements composants l’architecture restent alimentés. L’idée étant que bien qu’alimentés, ces équipements soient capables d’adapter leur consommation électrique en fonction de la demande. Bien souvent votre serveur NAS qui stocke vos fichiers personnels ne fait pas grand chose quand vous êtes en train de dormir ou tout simplement quand vous êtes au travail.

La capacité de ses équipements à adapter leur niveau de consommation en fonction de la charge sera donc un point clé de l’optimisation énergétique de tout le homelab.

Dans le cas de ACPI (Advanced Configuration and Power Interface), ce sont les ordinateurs qui sont concernés. ACPI est un standard ouvert qui pilote les composants matériels pour en adapter le niveau de consommation énergétique. ACPI est pilotable par le système d’exploitation.

Des sortes de niveau de veille sont donc activables par les systèmes d’exploitation ayant implémentés la couche logicielle permettant de piloter ACPI (on parle d’OSPM : Operating System-directed configuration and Power Management). A noter qu’au niveau du processeur, il y a une sous-catégorie qui correspond à la puissance activée, cette dernière permettant de moduler la consommation en fonction de la demande de puissance.

Il est donc important que votre système d’exploitation et vos matériels puissent exploiter pleinement ces états pour optimiser la consommation électrique.

Du coup comment est-ce qu’il faut mettre en place cela ?
À l’achat il y a des points à vérifier ? Ou c’est compatible avec toutes les architectures ?
Idem côté système, tous les OS sont compatibles où il faut vérifier ça ? C’est niveau OS ou un paquet supplémentaire à installer ?

C’est là ou ça semble se compliquer … les OS le prennent en charge « en théorie » apparemment mais en pratique cela semble plus délicat.
J’ai lu pas mal de truc notamment sur un mode « optionnel » C2.

L’état ACPI C2 est un état de faible consommation énergétique optionnel pour les processeurs, qui offre des économies d’énergie améliorées par rapport à l’état C1. Dans l’état C2, le processeur peut arrêter l’horloge du cœur, ce qui lui permet d’éteindre les unités logiques et potentiellement de vider le cache L1 pour économiser de l’énergie. La latence matérielle pour cet état est fournie par le firmware ACPI, que le système d’exploitation utilise pour décider quand utiliser C1 au lieu de C2.

Lorsqu’un processeur est en état C2, il peut toujours maintenir la cohérence du cache, permettant aux activités de maître du bus et des multiprocesseurs de se produire sans corrompre le contexte du cache. Cependant, le système d’exploitation ne placera pas le processeur en état C3 s’il y a des activités de maître du bus ou de multiprocesseurs, car ces activités peuvent se produire en état C2.

La question étant de savoir comment on peut savoir si cet état C2 est atteignable : en choisissant une carte mère adaptée ? ou est ce indiqué ? par le choix du CPU uniquement ? etc etc …