Etude de cas "Serveurs de calcul et consommation d’énergie"

Introduction

Constat : Aujourd’hui, l’ensemble des serveurs de calculs disponibles tournent 24h/24h 7j/7j, et ce quelle que soit la charge de travail. Ainsi, dans le meilleur des cas, les « jobs » soumis aux serveurs de calculs occupent 100% des ressources matérielles (tous les serveurs), mais dans le cas le plus courant, les « jobs » n’exploitent pas la totalité des serveurs disponibles et un certain nombre de serveurs sont démarrés mais totalement inactifs.

Problématique : Il est possible d’implémenter dans le gestionnaire de batch une fonctionnalité permettant de commander l’arrêt et le démarrage des serveurs en fonction des jobs dans la file d’attente. Cependant si un serveur inactif consomme de l’électricité, son arrêt et son redémarrage consomment aussi une certaine quantité d’énergie.

Dans le cadre de cette étude, nous allons déterminer pour deux types de serveurs, un serveur standalone rackable et un serveur en lame, la durée à partir de laquelle il devient rentable, en terme de consommation d’énergie, d’éteindre un serveur en état "active-idle" [1].

Protocole de test

- Outils nécessaire : un Wattmètre.

  • Etape 1 : Mesurer la quantité d’énergie nécessaire pour arrêter un serveur. On commence la mesure à l’aide du Wattmètre à partir du moment où l’ordre d’extinction est envoyé au serveur et jusqu’au moment où l’extinction du serveur est totale. Résultat de la mesure en Wh.
  • Etape 2 : Mesurer la quantité d’énergie nécessaire pour démarrer un serveur. On commence la mesure à l’aide du Wattmètre à partir du moment où l’ordre d’allumage est lancé et jusqu’au moment où le serveur est déclaré « disponible » par le gestionnaire de batch. Résultat de la mesure en Wh.
  • Etape 3 : Additionner les quantités d’énergie nécessaires à l’extinction et au démarrage. Résultat en Wh.
  • Etape 4 : Mesurer la puissance consommée serveur éteint (alimentation branchée, serveur physiquement éteint). Résultat en Watts.
  • Etape 5 : Allumer le même serveur utilisé lors des étapes 1 et 2 et s’assurer qu’il est en état « active-idle » (allumé, prêt à travailler, mais inactif). A l’aide du Wattmètre mesurer la consommation immédiate en Watt du serveur en état « active-idle ». Résultat en Watts.
  • Etape 6 : Mesurer le gain en terme de puissance consommée par le serveur entre l’état « active-idle » et l’état éteint. Faire la différence des résultats mesurés en étape 3 et 4. Résultat en Watts.
  • Etape 7 : Calculer la durée au bout de laquelle le serveur en état inactif atteint la valeur calculée en étape 3. Résultat en minutes.

Paramètres pouvant faire varier les résultats :

- Temps de démarrage du serveur (dépendant du système d’exploitation, de sa configuration, des logiciels et services qui se lancent automatiquement).

- Temps d’extinction du serveur (dépendant du système d’exploitation, de sa configuration, des logiciels et services qui sont démarrés).

- Consommation du serveur en état active-idle.

Configuration de test

Wattmètre :
Marque : Voltcraft Plus
Modèle : Energy Monitor 3000
Gamme de puissance active : 1,5W – 3000W
Résolution : 0,1W
Classe de précision : ± (1% + 1W)
Tension de fonctionnement : 230 V/50 Hz ±10%

SGI - Altix XE210

Serveurs :

- Serveur 1 :
Serveur standalone
SGI Altix Xe210 (System user guide)
CPU : 2x Intel Xeon 5160 (Dual-core) @ 3GHz
Mémoire vive : 8Go de RAM (DDR2 Full Buffered - PC2-5300 FB-DIMMs)
Stockage : 2x250Go HDDs
Alimentation : 600 Watt

Altix ICE 8200

- Serveur 2 :
Serveurs en lame
SGI Altix ICE 8200 (System user guide)
Baie de 16 serveurs en lame
Configuration de chaque lame :
CPU : 2x Intel Xeon (E ou L)5420 (Quad-core) @ 2,5GHz
Mémoire vive : 16Go de RAM (DDR2 Full Buffered – PC2-5300 FB-DIMMs)
Stockage : pas de disques embarqués, le stockage se trouve externalisé dans une baie dédiée
Alimentation : 8x 1625 Watt






Mesures serveur 1 (standalone)

- Etape 1 : Consommation d’électricité du processus de démarrage du serveur : 22Wh

- Etape 2 : Consommation d’électricité du processus d’arrêt du serveur : 5Wh

- Etape 3 : Consommation totale d’électricité d’un cycle d’arrêt-démarrage du serveur : 27Wh

- Etape 4 : Puissance consommée par le serveur en état éteint : 10W

- Etape 5 : Puissance consommée par le serveur en état active-idle : 285W

- Etape 6 : Différence de puissance entre l’état éteint et l’état active-idle : 285 - 10 = 275W

- Etape 7 : Calcul de la durée en minutes au bout de laquelle le serveur en état active-idle a consommé 27Wh d’électricité :

Calcul-Serveur1

Autres mesures :

- Puissance consommée, serveur en pleine charge : 400W

Conclusion : Il est rentable, concernant la consommation électrique, d’éteindre ce serveur lorsque l’on prévoit une période d’inactivité supérieure ou égale à 5 minutes et 53 secondes.

Mesures serveur 2 (lame)

L’architecture de la baie de serveurs en lame complique un peu la procédure de test : il n’est pas possible de mesurer la consommation électrique d’un serveur de manière indépendante. En effet, le serveur est alimenté par le châssis équipé de 8 alimentations (dont 4 redondantes) et consommant lui-même une certaine quantité d’énergie (ventilateurs, commutateurs, etc., qui sont alimentés par le châssis). Dans notre étude, nous souhaitons déterminer le temps à partir duquel il devient intéressant en terme de consommation d’énergie d’éteindre un serveur. Or, dans la pratique, le gestionnaire de batch n’éteindra jamais complètement le châssis, il se contentera d’éteindre les serveurs inactifs. Nous avons donc décidé d’isoler, par le calcul, la consommation électrique d’un serveur et d’ignorer la consommation électrique du châssis, qui est d’ailleurs loin d’être négligeable (730W).

- Etape 1 : Consommation d’électricité du processus de démarrage du serveur : 7,76Wh

- Etape 2 : Consommation d’électricité du processus d’arrêt du serveur : 1,89Wh

- Etape 3 : Consommation totale d’électricité d’un cycle d’arrêt-démarrage du serveur : 9,65Wh

- Etape 4 : Puissance consommée par le serveur en état éteint : 0W

- Etape 5 : Puissance consommée par le serveur en état « active-idle » : 97W

- Etape 6 : Différence de puissance entre l’état éteint et l’état « active-idle » : 97 - 0 = 97W

- Etape 7 : Calcul de la durée en minutes au bout de laquelle le serveur en état « active-idle » a consommé 9,65Wh d’électricité :

Calcul-Serveur2

Autres mesure : voir le document "tableau des mesures" en annexe.

Valeurs calculées sur la base des mesures :

- Puissance consommée par un serveur en état « active-idle » : 97W

- Puissance consommée par un serveur en pleine charge : 180W

- Quantité d’électricité consommée durant la phase de démarrage d’un serveur : 25Wh ont été consommés par l’ensemble du châssis durant cette phase. Pour évaluer la quantité d’électricité pour démarrer le serveur, il faut soustraire l’énergie consommée par le châssis (IRU). La phase de démarrage a duré 1 minute et 25 secondes et nous savons qu’il consomme une puissance de 730W. Le châssis à lui seul a donc consommé 17,24 Wh. La phase de démarrage d’un serveur consomme donc 7,76Wh.

- Quantité d’électricité consommée durant la phase d’extinction d’un serveur : 10Wh ont été consommés par l’ensemble du châssis durant cette phase. Pour évaluer la quantité d’électricité pour éteindre le serveur, il faut soustraire l’énergie consommée par le châssis (IRU). La phase d’extinction a duré 40 secondes et nous savons qu’il consomme une puissance de 730W. Le châssis à lui seul a donc consommé 8,11 Wh. La phase d’extinction d’un serveur consomme donc 1,89Wh.

Conclusion : Il est rentable en termes de consommation électrique d’éteindre ce serveur en lame lorsque l’on prévoit une période d’inactivité supérieure ou égale à 5 minutes et 58 secondes.

Conclusions

  • Conclusion que l’on peut tirer des mesures effectuées ci-dessus, sur deux types de serveurs différents :

- La durée pendant laquelle un serveur doit être éteint pour compenser la dépense énergétique des processus d’extinction et de démarrage est d’approximativement 6 minutes. Donc si le gestionnaire de batch doit éteindre un serveur, il doit avoir comme contrainte de ne pas le redémarrer avant 6 minutes.

  • Quelques éléments pour la configuration du gestionnaire de batch

- Pour garantir une certaine réactivité du service, on peut volontairement laisser quelques serveurs démarrés 24h/24 7j/7.

- Règles d’allumage d’un serveur : Lorsqu’un serveur est arrêté, il doit rester éteint au moins 6 minutes (la durée peut varier selon les types de serveurs). On peut aussi décider de redémarrer un serveur seulement au delà d’un certain nombre de jobs en attente. Cela permettra d’éviter que le serveur redevienne inactif aussitôt après avoir été redémarré.

- Règles d’extinction d’un serveur : Il n’est pas possible d’anticiper de manière exacte la durée d’inactivité d’un serveur. Un job peut être soumis à n’importe quel moment par un utilisateur. Il faut donc fixer une durée arbitraire mais que l’on peut affiner en effectuant une observation de l’activité des serveurs sur une période significative (plusieurs mois).

Annexes

Tableau des mesures

[1] Etat durant lequel le serveur est physiquement allumé, son système d’exploitation est démarré, mais aucun travail ne lui est soumis.


Accueil du site | Contact | Mentions légales

Site réalisé avec SPIP + ALTERNATIVES