Construire nos propres nœuds

created: dimanche, sept. 10, 2023

Depuis que nous avons commencé à mesurer notre demande énergétique, nous avons également commencé à développer des concepts sur la manière 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 devions regarder quel matériel nous voulions utiliser. La plupart des fournisseurs cloud commencent avec des machines plutôt lourdes en charge de travail et optimisent pour la charge de pointe. Notre configuration était différente et nous voulions agir sur le bas de gamme, pas sur le haut de gamme. Cela signifiait que les serveurs traditionnels n’étaient pas vraiment pertinents pour cette tâche. En regardant autour du marché, quelque chose entre une machine ARM ou RISC-V petit format semblait un choix facile.
Malheureusement, intégrer ces machines dans une configuration plus serveur demande pas mal de préparation. De plus, nous avons constaté que 2 caractéristiques manquaient dans toutes ces configurations.

Fonctionnalités Requises

Un type de machine qui correspond presque parfaitement à ces caractéristiques est le notebook. Ces machines ont généralement un petit format déjà optimisé pour la consommation énergétique. De plus, ces machines disposent de leur propre batterie. Le problème ici est que les notebooks sont dotés de beaucoup de matériel (clavier, écran, pavé tactile) dont nous n’avons pas l’usage. Nous avons donc commencé à chercher des fournisseurs de notebooks bare-bone sur lesquels commencer à évaluer.

Cela nous a menés à frame.work. Framework est un fournisseur de notebooks qui vend des machines hautement personnalisables et réparables. De plus, nous avions déjà une machine Framework à disposition que nous pouvions réaménager pour nos expériences.

Configuration de l’atelier

Après avoir testé notre configuration avec le notebook Framework existant, nous avons commandé 2 « machines » supplémentaires. En gros, nous avons commandé la carte mère (i5 13e 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 manière dont nous avons assemblé la machine dans notre atelier.

machine-image

Logiciel

Après avoir installé le matériel, nous avons commencé à étudier le logiciel. Notre configuration de base nécessite un Linux, mais nous n’avons pas limité le choix à un fournisseur ou une version. Nous avons donc commencé avec Fedora, puisque c’était aussi le logiciel utilisé sur notre notebook d’exemple. Malheureusement, nous avons rapidement découvert qu’effectuer une installation sans surveillance sur une machine sans écran ni clavier, et sans réseau (car nous ne pouvions pas configurer le wifi) était assez compliqué. Pour ne pas perdre trop de temps sur ce casse-tête, nous avons opté pour installer Fedora sur notre notebook d’exemple, puis 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 préconfigurer le réseau et SSH. Après avoir obtenu les SSD clonés, nous les avons simplement remis dans nos hôtes et branché l’adaptateur secteur.

Premier démarrage

machine-image

machine-image

Après le premier démarrage, nous avons commencé à explorer le problème de surveillance de la consommation électrique. Au début, nous pensions 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 car le pack batterie ne fournissait pas assez d’énergie pour que le notebook charge réellement en fonctionnement. Nous avons donc dû abandonner cette partie du projet. Nous avons donc conservé la batterie de 55Wh incluse avec le Framework.

Contrôle de puissance

Comme mentionné précédemment, nous voulions que ces machines ne fonctionnent / ne consomment de l’énergie que lorsque nous produisons effectivement de l’électricité à partir de nos panneaux solaires. Nous avions donc besoin d’une prise de courant externe capable à la fois de mesurer la consommation et de couper / rétablir l’alimentation. Nous avons choisi des « CloudFree Power Plugs », mais nous en reparlerons ultérieurement. L’aspect important est que ces appareils ont un point d’accès API local pour la mesure de la puissance et le contrôle marche/arrêt.

Dernières réflexions

Nous avons maintenant le matériel en place. Le logiciel est également prêt. Essayons de faire fonctionner ces appareils et de commencer à optimiser des paramètres comme les cycles de charge, les niveaux de consommation, etc. Pour l’instant, nous les utiliserons comme nœuds de travail asynchrones pour fournir plus de puissance de calcul à notre pile.