Depuis que nous avons commencé à mesurer notre demande énergétique, nous avons aussi commencé à développer des concepts sur la façon dont nous pourrions améliorer l’efficacité énergétique. Personnaliser nos propres machines au-delà du simple logiciel semble évident, mais c’est plus facile à dire qu’à faire.
D’abord, nous avons dû regarder sur quel matériel nous voulions nous baser. La plupart des fournisseurs cloud partent d’une machine destinée à des charges de travail plutôt lourdes et optimisent pour les pics de charge. Notre configuration était différente et nous voulions faire bouger les choses sur le bas de la courbe, pas sur le haut. Cela signifiait que les serveurs traditionnels n’étaient pas vraiment dans le périmètre de cette tâche. En regardant le marché, quelque chose entre une machine ARM ou RISC-V de petit format semblait être un choix évident. malheureusement, intégrer ces machines dans une configuration plus proche d’un serveur demande pas mal de préparation. De plus, nous avons constaté l’absence de deux caractéristiques dans toutes ces configurations.
Un type de machine qui correspond presque parfaitement à ces caractéristiques est le notebook. Ces machines ont généralement un petit facteur de forme déjà optimisé pour la consommation d’énergie. De plus, ces machines sont fournies avec leur propre batterie. Le problème ici est que les notebooks embarquent beaucoup de matériels (clavier, écran, pavé tactile) dont nous n’avons aucun usage. Nous avons donc commencé à chercher des vendeurs de notebooks bare-bone où nous pourrions commencer les évaluations.
Cela nous a conduits à frame.work. Framework est un fournisseur de notebooks qui vend des machines hautement personnalisables et réparables. De plus, nous avions déjà un appareil Framework sous la main que nous pouvions rééquiper pour nos expériences.
Après avoir testé notre configuration avec le notebook Framework existant, nous avons commandé 2 autres « machines ». En pratique, nous avons commandé la carte mère (i5 13th gen) avec un peu de mémoire et un SSD, ainsi que la batterie.
L’assemblage consistait simplement à visser les composants sur une plaque de base et à la connecter à l’alimentation. Pour le réseau, nous utilisons le WiFi. Voici une photo de la façon dont nous avons assemblé la machine dans notre atelier.

Après avoir installé le matériel, nous avons commencé à étudier le logiciel. Notre configuration de base nécessite un peu de Linux, mais au-delà de cela, nous n’avons verrouillé aucun fournisseur ni version. Nous avons donc commencé avec Fedora, puisque c’était aussi le système que nous utilisions sur notre notebook d’exemple. Malheureusement, nous avons vite découvert qu’effectuer une installation non supervisée sur une machine sans écran ni clavier, et sans réseau (puisque nous ne pouvions pas configurer le wifi) était plutôt délicat. Pour ne pas passer trop de temps sur ce casse-tête, nous avons opté pour installer Fedora sur notre notebook d’exemple et simplement cloner le SSD sur les deux nouvelles machines. De cette façon, nous pouvions construire un OS de base avec clavier et écran connectés et aussi préconfigurer le réseau et SSH selon les besoins. Une fois que nous avons eu les SSD clonés, nous les avons simplement vissés dans nos hôtes et connecté l’adaptateur secteur.


Après le premier démarrage, nous avons commencé à nous pencher sur le problème de la surveillance de la consommation. Au début, nous avons pensé pouvoir augmenter la capacité de la batterie en branchant une autre batterie commercialement disponible sur le port USB-C. Malheureusement, cela n’a pas fonctionné. C’était très peu fiable parce que la batterie externe n’apportait pas assez de puissance pour que le notebook puisse réellement se charger pendant son fonctionnement. Nous avons donc dû abandonner cette partie du projet. Il ne nous restait donc que la batterie de 55 Wh fournie avec le Framework.
Comme nous l’avons mentionné plus tôt, nous voulions que ces machines ne fonctionnent/consomment de l’énergie que lorsque nous produisions effectivement de l’électricité avec nos panneaux solaires. Nous avions donc besoin d’une prise d’alimentation externe qui puisse à la fois mesurer et couper/activer l’alimentation. Nous avons opté pour des CloudFree Power Plugs, mais nous en parlerons plus tard. L’important ici est que ces appareils disposent d’un point d’API local pour la mesure de la consommation et pour l’interruption/activation de l’alimentation.
Nous avons maintenant la configuration matérielle. Le logiciel est également en place. Essayons d’exécuter ces appareils et de commencer à optimiser des éléments comme les cycles de charge, les niveaux de consommation, etc. Pour l’instant, nous utiliserons ces machines comme nœuds travailleurs asynchrones pour fournir plus de calcul à notre pile.