3. Optimiser quoi ?
Les développeurs :
-Il faut finir dans les temps, on optimisera plus tard… (jamais)
Les vendeurs de matériel :
- Pour être sûr que ça fonctionne, on va prendre un peu de marge… (sic)
Le directeur de l’organisation au responsable du datacenter :
- L’IT coûte cher ! Il faut réduire les coûts de fonctionnement !
4. La première des optimisations est
logicielle.
Exemples :
Facebook : Un convertisseur PHP vers C++ a permis une économie de 50%.
iron.io: passage de RUBY on Rails vers langage Go et prog. asynchrone > divise la charge par 300
Le responsable de datacenter peut diviser le coût IT par deux.
L’architecte de l’application peut diviser les coûts par cent.
5. Impliquer les développeurs
• Les architectes et développeurs sont les premiers à pouvoir économiser les ressources et donc
l’énergie.
• L’architecture d’une application lourde se conçoit à la fois dans le choix des technologies
logicielles et matérielles. (DevOps)
• On dit souvent qu’un processeur supplémentaire coûte moins cher qu’une journée de travail
d’un développeur.
• C’est sans compter sur les coûts de fonctionnement, maintenance, etc…
• Beaucoup d’optimisations ne coûtent rien.
• Augmenter la puissance matérielle ne permet pas toujours de compenser les carences de conception.
• La performance énergétique doit être un critère de qualité des applications.
6. Exemples d’optimisation logicielle
• La meilleure façon d’optimiser une tâche c’est de ne pas la faire (re-faire) : Mise en cache de tout
ce qui peut l’être, éviter les conversions inutiles
• Favoriser les données binaires aux formats textes : Les opérations de serialisation/déserialisation/
compression gzip représentent une part croissante des applications modernes. Il existe des
formats de message mixtes permettant profiter des avantages du format texte (XML) pour le
développement puis passer en binaire pour la production.
• Limiter les communications I/O (réseau et disques) au minimum, les grouper, et utiliser des
appels asynchrones.
• Privilégier les ressources proches (disques locaux plutôt que SAN).
• Utiliser des langages performants.
• Développer des « briques logicielles » et allouer des budgets pour optimiser les plus lourdes.
• Utilisation du matériel moderne : grande quantité de RAM, disques SSD ultra performants…
• Utilisation de processeurs efficients (FPGA, GPU…).
7. Mesure de l’efficacité logicielle
• Il n’y a pas de mesure absolue.
• On ne peut mesurer la performance d’un algorithme que par rapport à un autre.
• D’une manière générale plus un algorithme exécute un travail rapidement plus il est efficace
énergétiquement.
• Mais il ne faut par perdre de vue les autres critères :
• La robustesse, la stabilité
• Exactitude des résultats (précision)
• La scalabilité
On peut améliorer sans cesse un algorithme, mais au bout d’un moment il devient plus intéressant
d’en améliorer un autre.
8. Limiter l’usage de virtualisation
Il ne faut pas oublier que chaque instance nécessite de gérer le système d’exploitation sous jacent.
Les ressources mémoire, disque, et CPU utilisées par cet OS sont souvent bien plus importantes que
le service virtualisé… Sans compter sur la charge que représente l’infogérence de cet OS.
•Regrouper les applications qui peuvent l’être au sein d’un même système d’exploitation (comme
avant la virtualisation)
•Privilégier les technologies de virtualisation légères comme Docker
•Ne pas utiliser la virtualisation massive (sur des nœuds de calcul par exemple), Il vaut mieux
privilégier les technologies « bare-metal » (boot over ethernet) bien plus efficientes.
•Éteindre les VM qui ne font rien
9. Éliminer les serveurs anciens
• Les systèmes récents sont nettement plus efficients que les ordinateurs anciens.
• La virtualisation est une bonne solution pour regrouper d’anciens services sur un
serveur récent. C’est un des bons usages de la virtualisation et il existe d’ailleurs
des outils pour réaliser cette migration d’un OS natif vers une machine virtuelle.
10. Mise en veille / extinction du matériel
inutilisé
• Si du matériel n’est pas utilisé en permanence :
• Dispositifs liés à certaines opérations ponctuelles (tâches planifiées)
• Exemple d’un pools d’ordinateurs : 100 serveurs à 20% de charge alors que 25 serveurs à
80% de charge suffiraient
• Ce matériel peut être éteint/mis en veille automatiquement de manière
transparente pour l’utilisateur
• Allumage à la demande pour les pools de calcul (Wake-on-LAN)
• Beaucoup de BIOS incluent une fonction minuterie pour allumer automatiquement un
serveur.
11. Fonctions économie d’énergie
• Les processeurs modernes sont capables d’éteindre les cœurs non utilisés et les
rallument si nécessaire
• Les cartes mères peuvent désactiver certaines fonctionalités (slots PCIe, USB,…)
• Les composants intégrés aux cartes mères comme les cartes réseaux, contrôleurs
SATA peuvent être désactivés
• Toutes ces fonctions doivent être paramétrées avec soin. De plus cela libère des
ressources (IRQ, espace mémoire, pilotes)
12. • Power Usage Effectiveness
• PUE ≈ Efficacité du refroidissement
• Le PUE d’un datacenter conventionnel varie de 3,5 (médiocre) à 1,2 (excellent).
Le PUE n’est pas révélateur de l’efficacité globale de l’IT.
Le PUE
Puissance électrique consommée par le datacenter
Puissance électrique consommée par les ordinateurs
PUE =
13. Le refroidissement
Après l’alimentation électrique des serveurs, c’est le principal poste de dépense.
Thermodynamique pour les nuls :
•La quantité de chaleur échangée entre deux corps augmente quand l’écart entre leurs
températures augmente
•… Et plein d’autres règles mais c’est celle-ci qui nous importe pour la suite.
Plus l’air est chaud, plus il est facile d’abaisser sa température.
facile = économique
14. Allées chaudes / Allées froides
L’air froid entre par la face avant des serveurs, et ressort chaud à l’arrière.
On ne laisse pas l’air chaud revenir se mélanger à l’air ambiant mais on le dirige vers la
climatisation.
Climatisation
15. Allées chaudes / Allées froides
Jusqu’à 43% d’économie sur le refroidissement.
Il est possible d’isoler l’allée chaude (HACS), ou
l’allée froide (CACS). Il est plus efficace d’isoler l’allée
chaude (+15%).
C’est la première mesure d’économie d’énergie à mettre
en œuvre.
Des procédés simples offrent de bons résultats. Il suffit de
séparer les zones par des rideaux ou panneaux fixes, et
d’obstruer les espaces vides dans les baies pour éviter les
retours à travers la baie.
Exemple d’isolation du couloir chaud.
16. Ne pas trop baisser la température
Le matériel informatique est conçu pour supporter une certaine chaleur
• Le rupteur intégré des CPU Intel s’active à partir de 100°C il n’y a pas de risque de destruction, en cas
de surchauffe, le CPU fait des micros veilles.
• Dell garanti le fonctionnement de ses serveurs jusqu’à 45°C (t° entrée air)
• Des datacenters Google et Microsoft n’ont aucune climatisation, la température peut dépasser 40°C
dans les allées chaudes
• Il existe des systèmes pour rafraîchir temporairement les allées chaudes afin de permettre les
interventions du personnel. (lien)
• Ce sont les variations de température qui dégradent les composants, bien plus qu’une température
élevée stable.
Les économies réalisées en tolérant une température plus élevée sont importantes
• Exemple d’un datacenter qui gagne 40% en passant de 20°C à 30°C (lien)
17. Ne pas trop baisser la température
Le serveur régule sa température en jouant sur la vitesse des ventilateurs. Il est possible de régler la
température cible. Une valeur haute fera circuler l’air moins vite, avec une température de sortie
plus élevée (ce que l’on cherche). Cette manipulation peut être faite aussi par logiciel.
Augmenter la température du datacenter ne convient pas à tout les cas d’usages. Un CPU très
chaud consomme plus car la résistance électrique interne augmente avec la température.
Il faut donc tester la relation entre consommation et température ambiante au cas par cas. Pour
cela, faire varier la température de + ou - 2°C et mesurer la différence de consommation après
plusieurs jours ou semaines, puis recommencer. La courbe température/consommation donnera
une bonne indication des économies réalisables.
18. Optimisation des flux d’air
La circulation forcée de l’air (hors des ordinateurs) compte pour 12% en moyenne.
L’air chaud, plus léger monte.
• Il faut prendre en compte ce phénomène dans la conception des circuits d’air.
• Arrivée de l’air froid par le bas, évacuation de l’air chaud par le haut.
• Ne pas faire forcer les ventilateurs contre la convection naturelle.
Il ne faut pas obstruer le passage de l’air :
• Les conduits d’air doivent être larges.
• Les grilles propres, les radiateurs aussi.
• Les câbles rangés hors du flux d’air (aussi dans les planchers et faux plafonds techniques).
19. Utilisation de l’air extérieur
Les ordinateurs fonctionnent très bien avec l’air extérieur.
Il faut cependant prévoir :
•Des filtres fins, pour parer aux pollutions et surtout aux
phénomènes exceptionnels porteurs de particules: pollen,
nuages de poussière ou sable fin.
•Des entrées d’air réglables jusqu’à fermeture complète.
•Un système automatisé de régulation de l’entrée d’air en
fonction de la température et de l’humidité extérieure.
Arrivée d’air extérieur. Ouvertures
réglables à gauche et filtres à droite.
Datacenter Facebook
Filtres
20. Matériel grand public et « taxe serveur »
• En payant plus cher, les entreprises pensent être mieux équipées, plus en sécurité.
• Les responsables informatiques se couvrent en prenant ce qu’il y a de meilleur.
• Les entreprises ont plus de moyens financiers que les particuliers.
Les fabricants de matériel créent artificiellement une gamme « professionnelle » plus chère afin
de capter cette marge supplémentaire. Il s’agit souvent du même matériel, vendu avec un
marketing différent. Parfois, la version grand public est volontairement bridée au niveau
logiciel ou matériel.
Des hackers ont souvent déjoué ces pratiques commerciales, prouvant par la même occasion
leur existence.
21. Matériel grand public et « taxe serveur »
Les processeurs Xeons sont presque toujours plus
chers que leur homologues grand public.
Seul les Xeons peuvent être utilisés sur les
configurations multiprocesseurs (SMP). Ainsi, si l’on
veut plus de puissance au sein d’un serveur, chaque
unité de puissance coutera plus cher.
Il peut être plus intéressant d’utiliser plus de PC
basés sur des processeurs grand public, à condition
que l’application soit conçue pour en tirer parti.
Ne jamais choisir le composant le plus puissant. Xeon2697 contre l’i7 5820K, 33% de performance en plus, 12x plus cher
22. Matériel grand public et « taxe serveur »
Pourquoi les propriétaires de gros datacenters ont-ils
abandonné les constructeurs pour assembler eux-mêmes
leur propres PC à partir de pièces communes ?
Avantage du matériel grand public :
•Disponibilité, variété des fournisseurs
•Pièces standard interchangeables
•Plus grand choix de composants
•Coût d’achat divisés par 4
•Le personnel participe à la conception > Plus grande
implication et gain de compétences interne
•Boîtiers ouverts > interventions plus rapides
Dell Assemblé
Processeur Xeon E5-2407 x2
CPU mark 4840 x2 = 9680
Intel Core i7-4770S x1
CPU mark 9901
Autres composants RAM 16 Go, SSD50 Go, carte mère avec réseau gigabit
intégré, alimentation…
Format Lames PowerEdge M420
Dans rack DELL
support personnalisé
+ watercooling
Tarif catalogue 3700 640
Marge de négociation 30% 10%
Tarif négocié 2590 576
Comparaison de deux nœuds de calculs de puissance
équivalente.
23. Suppression des boîtiers
Pourquoi mettre chaque serveur dans un boîtier au sein d’un datacenter ?
La suppression complète des boitiers pour les remplacer par de simple supports métalliques permet de réduire
les frictions inutiles (et diminue fortement les coûts d’acquisition et maintenance). Dans le même temps,
L’utilisation sur la baie de ventilateurs plus gros, plus efficaces permet de réduire encore la facture.
OVH est un des premier à avoir supprimé les boitiers, suivi depuis par Google, Microsoft, Facebook, universités
américaines, studio graphiques…
Inconvénients Avantages
Obstruent le passage de l’air Esthétique
Occupent plus de place Porter la marque du fabricant
Petits ventilateurs inefficients C’est beau ! …
Accès aux composants difficile
Favorisent l’accumulation de
poussière
Au moins 220 € plus cher (1U)
24. Suppression des boîtiers
Evolution récente du rack Facebook (lien) Microsoft cloud service rack (lien)
L’assemblage d’un serveur sur son support prends moins de 15min.
Des entreprises proposent des solutions de ce type basées sur le projet open compute (OPC): Hyve solutions,
www.amaxit.net, penguincomputing, racklive, QuantaQCT, ctc, stackvelocity, … et bien d’autres.
Dell et HP ont fourni des serveurs OPC à microsoft.
La fabrication des boitiers et baies peuvent être réalisée par des entreprise de tôlerie fine locales.
25. Mutualisation des composants
Il est possible de partager certains composants entre plusieurs serveurs:
•Alimentations électriques
meilleurs rendements, et redondance 5 alimentations puissantes alimentent 20
serveurs.
•Ventilateurs
Utilisation de gros ventilateurs fixés sur la baie, ils sont plus efficients.
26. Refroidissement liquide
• La température de l’eau en sortie de processeur peut dépasser 65°C un simple échangeur de chaleur passif
avec l’air extérieur permet de la réduire considérablement.
• L’eau a une capacité calorifique bien plus importante que l’air. Les pompes à eau sont beaucoup donc
beaucoup plus économes que les ventilateurs pour déplacer la chaleur.
• Beaucoup d’évolutions technologiques s’orientent vers l’utilisation de refroidissement liquide en datacenter.
Ce sera incontournable dans moins de 10 ans.
• La mise en œuvre d’un système de refroidissement liquide est relativement simple. Les composants sont
disponibles dans le commerce. Il faut cependant veiller à choisir des matériaux et liquides adaptés afin de
prévenir les phénomènes d’oxydo-réduction qui peuvent détruire les éléments métalliques.
• Bien qu’il faille les éviter, les conséquences des fuites dans un système bien conçu, ne sont pas aussi graves
qu’on pourrait le penser.
27. Immersion dans un liquide
Les composants, hors disque dur et alimentation, sont immergés dans un liquide de
refroidissement.
On distingue deux types :
•Refroidissement simple : huile minérale
•Liquide bi-phase : le refroidissement se fait par changement de
phase d’un liquide (évaporation)
Peu avantageux pour le matériel standard, mais efficacité avérée
pour les systèmes de calcul intensif hautement spécialisés et très
denses.
Allied control, 3M,
28. Cas OVH
2001 : OVH cherche une solution pour mettre le maximum de serveurs
dans une baie.
Ils décident de supprimer les boitiers et assembler eux même les
serveurs sur une plaque de métal.
2004 : Les nouvelles génération de CPU chauffent de plus en plus, il faut
trouver un refroidissement plus efficace que l’air.
Un système de refroidissement liquide pour le processeur extrait 70%
de la chaleur.
Une pompe à chaleur inversée puise de l’eau froide à 60m de
profondeur (data center de petite taille).
29. Cas OVH
2007 : création d’un datacenter en forme de tour. L’air frais entre par
l’extérieur puis ressort chaud au centre de la tour. La convection
naturelle fait monter l’air, ce qui aspire de l’air frais…
De gros ventilateurs ne font qu’accompagner le mouvement et
consomment très peu d’énergie. (lien)
Résultat : plus besoin de climatisation
•PUE 1,09
•70% Refroidissement à l’eau + 30% Ventilation = 0% Climatisation
Il faut modérer ce PUE exceptionnel car la plupart des serveurs sont
peu exploités.
30. Autres cas
• La convection naturelle est utilisée par de nombreux datacenter modernes
(Yahoo, Google…)
• Pompe à chaleur : Un datacenter suédois utilise une pompe à chaleur avec de
l’eau de mer.
• La chaleur de certains datacenter est récupérée : habitations, centre thermo
ludique, culture sous serre…
• Utilisation d’un bassin d’eau pour accumuler la chaleur durant la journée puis
refroidir la nuit quand les températures sont plus fraîches et l’électricité moins
chère.
31. Conclusion
• L’optimisation énergétique la plus importante se réalise lors de la conception de
l’application.
• Des mesures très simples à mettre en œuvre apportent un gain immédiat considérable :
Isolation des allées chaudes, augmenter la t°…
• Les mesures plus complexes s’avèrent rapidement rentables : utiliser l’air extérieur.
• La dernière étape pour réaliser des économies d’acquisition et de fonctionnement
nécessite de s’affranchir des fabricants traditionnels : watercooling, suppression des
boîtiers…