# Green cloud computing

Le Green cloud computing, abrégé en Green cloud, est un terme désignant le fait de réduire l'empreinte environnementale du Cloud computing. Celle-ci prend en compte la consommation énergétique, mais aussi les déchets matériels, les types de matériaux utilisés et l'économie de toutes autres ressources (électricité, eau, etc.). Il existe différentes méthodes de calculs afin d'évaluer l'empreinte environnementale.
Les techniques utilisées par les centres de données (data centers en anglais) pour réduire l'empreinte environnementale sont à la fois matérielles (notamment processeurs moins gourmands en énergie, bâtiments plus performants, évacuation de la chaleur) mais aussi logicielles (notamment algorithme de réduction de consommation, utilisation de la virtualisation).
Le Green cloud est actuellement un outil marketing, à la fois pour les entreprises l'utilisant mais aussi pour les centres de données voulant se démarquer de la concurrence.

## Contexte

L’utilisation du cloud computing se généralise. Les centres de données ont des besoins en énergie croissants pour leur alimentation et leur refroidissement. En 2012, pour 1 $ dépensé en matériel il y avait 1 $ dépensé pour l'alimenter et le refroidir. C'est pourquoi la réduction de la consommation a un impact économique fort. De plus, il y a aussi un impact écologique car l'empreinte environnementale n'est pas négligeable. En effet, en 2008, les centres de données émettaient 116 millions de tonnes de dioxyde de carbone, c'est plus que les émissions totales du Nigéria.
Avec cette prise de conscience, il y a une demande de plus en plus importante pour des produits et des services propres. Le green cloud computing est donc apparu avec des initiatives pour réduire la consommation énergétique des centres de données et leurs émissions de CO$_2$. De tels efforts sont devenus des outils marketing importants.
Le défi du Green cloud computing est donc de minimiser l'usage des ressources tout en continuant à satisfaire des exigences de qualité de services et de robustesse.

## Définition

Le green cloud computing est le fait d'optimiser des ressources informatiques pour en minimiser l'empreinte environnementale. Cela inclut le contrôle des matériaux, de l’énergie, de l'eau, et autres ressources rares, mais aussi la limitation des déchets électroniques depuis la fabrication jusqu'au recyclage des composants.

## Évaluation de l'empreinte environnementale

Il existe différentes méthodes pour évaluer l'empreinte environnementale du cloud computing chacune associée à une métrique, nous présentons ici les plus utilisées.

### Consommation électrique

Le PUE (Power Usage Effectiveness) est une métrique largement utilisée pour calculer la consommation électrique ; il s'agit du rapport entre la consommation énergétique totale de l'infrastructure et la consommation des équipements informatique (processeurs, mémoires, stockage) :
$PUE={\frac {\text{consommation totale}}{\text{consommation informatique}}}$.
Cette méthode largement utilisée ne doit cependant pas servir à comparer deux data center car la façon de prendre ces mesures n'est pas standardisée et peut varier selon ce qui est pris en compte, en particulier pour les bâtiments qui ne sont pas dédiés aux centres de données (ressource énergétiques partagées). Elle sert uniquement à prendre deux mesures dans le temps pour estimer l'impact d'une modification.

### Émissions de CO$_2$

Bien que le PUE soit une mesure assez précise, elle ne prend pas en compte la manière dont l’énergie est créée, et donc son empreinte carbone, le CUE par contre (Carbon Usage Effectiveness) calcule la quantité de CO$_2$ émis par kilowatt-heure utilisé. Cette valeur dépend de la technologie utilisée pour produire l’électricité. Si cette énergie n'est pas produite par le centre de données, il faut prendre en compte l'ensemble des technologies utilisées par les pays pour fournir son électricité. Cette valeur varie selon l'heure de la journée ainsi que la periode de l'année, ces variations sont aussi à prendre en compte dans le calcul.
$CUE={\frac {\rm {kg\ CO_{2}}}{\rm {kWh}}}*PUE$.

### Coefficient d’énergie renouvelables

Pour déterminer l'impact environnemental d'un centre de données, on utilise le coefficient d'énergie renouvelables :
$CER={\frac {\text{Quantité d’énergie renouvelables utilisée}}{\text{Quantité total d’énergie utilisée}}}$
C'est cette métrique qui est utilisée depuis 2012 pour estimer l'impact environnemental des grilles de calcul.

### Autres indicateurs mathématiques

D'autres indicateurs existent pour calculer l’efficacité énergétique d'un centre de données :

#### Data Center infrastructure Effecticiency

    $DCiE={\tfrac {1}{PUE}}$.

#### Thermal Design Power

    Le TDP est la quantité maximale qu'un composant peut utiliser en réalité.

#### Performance par watt

    Quantifie la capacité de calcul maximale d'un processeur par watt utilisé. Ce marqueur doit être le plus élevé possible.

#### Compute Power Effeciency

    En plus de la performance par Watt, le CPE prend en compte la consommation hors temps de calcul ainsi que le pourcentage d'utilisation de ces composants : $CPE={\tfrac {\text{pourcentage d'utilisation}}{PUE}}$.

#### Energy Reuse Factor

    Calcul la quantité d’énergie réutilisée dans les centres de données : $ERF={\tfrac {\text{énergie réutilisée consommée}}{\text{énergie totale consommée}}}$

#### Water Usage Effectiveness

    Mesure la quantité d'eau consommée par un centre de données : $WUE={\tfrac {\text{Quantité d'eau utilisée}}{\text{Énergie totale utilisée}}}$

### Importance de la consommation du réseau

Cependant, la plupart de ces indicateurs ne prennent pas en compte la consommation énergétique des réseaux car ils sont rarement à la charge du centre de données. Or cette étude a démontré que la consommation du réseau était aussi significative que celle du calcul et que la rentabilité du cloud en termes d’énergie baissait de façon importante quand les connexions réseaux augmentent (nombreux accès à de petits fichiers).

## Techniques pour minimiser l'empreinte environnementale

Il a été montré que le cloud computing avait une empreinte environnementale importante. Il existe cependant de nombreuses techniques permettant de la réduire, ces techniques concernent l'aspect logiciel ainsi que l'aspect matériel.

### Logiciel
#### Virtualisation

Les machines virtuelles sont essentielles dans l'architecture des centres de données, notamment grâce à leur capacité d'isolation, de consolidation et de migration. En plus de cela, elles permettent aux centres de données de fournir aux utilisateurs des solutions sécurisées, flexibles et efficaces. Cependant, certaines opérations sur ces machines virtuelles peuvent être coûteuses en énergie, c'est le cas des migrations. Les migrations consistent à transférer des machines virtuelles d'une machine physique à une autre. Si elles sont coûteuses en énergie, elles permettent d'éteindre les serveurs peu utilisés d'où une baisse de la consommation d'énergie et de consolider la charge de travail.
R. Karthikeyan et al. suggèrent un algorithme qui permet ces migrations en minimisant leur nombre ainsi que le nombre de nœuds utilisés. Celui-ci se déroule en trois étapes :
* Étape 1 : Trier les nœuds en se basant sur la charge des machines virtuelles en ordre décroissant ;
* Étape 2 : Les machines virtuelles du dernier nœud sont sélectionnées comme candidates pour une migration et elles sont aussi triées dans un ordre décroissant de poids ;
* Étape 3 : Essayer de les allouer une par une sur le premier nœud et si cela est un échec sur le second nœud, etc.

#### Équilibrage

La plupart des méthodes d'économie d'énergie dans les centres de données sont basées sur la consolidation. Voici une méthode d'équilibrage basée sur l'exemple des colonies de fourmis. La Ant colony Optimisation (ACO) est une méta-heuristique apparue la première fois pour résoudre le problème du voyageur de commerce. Il est basé sur le comportement de recherche de nourriture des fourmis ; elles trouvent leur chemin grâce aux phéromones, une substance chimique qu'elles déposent sur leur chemin et qui s'évapore au bout d'un certain temps.
À supposer que toutes les machines physiques aient la même capacité. De plus, l'algorithme nécessite une connaissance des charges de travail et des ressources associées. Dans cet algorithme, chaque fourmi reçoit tous les éléments (machines virtuelles), vont sur une machine physique et commencent à assigner les éléments aux machines physiques. Il se réalise par l'utilisation d'une décision probabiliste qui décrit le désir pour une fourmi de choisir tel ou tel chemin en fonction de la concentration de phéromones. La nature stochastique de l'algorithme permet aux fourmis d'explorer un grand nombre de solutions potentielles et de choisir les meilleurs placements qu'un algorithme glouton. Avec cet algorithme, on économise près de 1,1 % d'énergie supplémentaire.

### Matériel
#### Refroidissement

Le refroidissement des centres de données peut représenter plus de 45 % de leur consommation énergétique. Le refroidissement à air est actuellement le plus répandu, cependant cette technique est très peu efficace car le refroidissement par air conditionné a tendance à trop refroidir la pièce et pas assez les composants. De plus l'air projeté de bas en haut dans une armoire refroidira efficacement le bas et moins efficacement le haut. Il existe une autre méthode, le Watercooling (« refroidissement à eau » en français). Ainsi les composants sont directement refroidis par des liquides ce qui évite le gaspillage de refroidir la pièce. Celle ci permet de réduire la consommation énergétique consacrée au refroidissement de 53 % à 44 % par rapport au refroidissement à air$^,$.
Cependant, le refroidissement à eau pose un autre problème, en effet une fois l'eau chauffée par le centre de données, celle-ci ne peut être reversée dans la nature, elle doit d'abord être refroidie, cela ne fait que déplacer le problème. Une solution est de trouver une utilité à cette source de chaleur. Par exemple, IBM a produit un super-calculateur dont l'eau du refroidissement est réutilisée pour chauffer le bâtiment. Cette solution permet d'avoir une capacité de calcul de 6 Teraflops pour une consommation électrique équivalente à 450 Megaflops. Ce système permet de réduire de 40 % la consommation électrique du refroidissement par rapport à un refroidissement à eau, l’empreinte environnementale du bâtiment est réduite de 80 %.
Le problème du refroidissement peut être envisagé dès la construction des bâtiments qui abritent les serveurs. En effet, à l'origine les data centers ont été construits comme des bâtiments résidentiels classiques. Ils ne sont pas fait pour dissiper la chaleur mais pour la conserver à l'intérieur. Il faudrait qu'en hiver les murs laissent entrer le froid extérieur, et qu'en été ils ne laissent pas entrer la chaleur. Une étude partant de cette idée a été réalisée par France Télécom. Ils ont analysé les différents matériaux utilisés dans la construction des bâtiments. Ils ont mis en place un matériau à changement de phase (thermique) qui change d'état au-dessus de 28 degrés. Il est donc capable de s'adapter à la température extérieure. L'expérience a prouvé que cette technique pouvait faire diminuer la température de 10 degrés au sein du centre de données.

#### Consommation des composants

Au niveau des processeurs, plusieurs techniques existent pour réduire leur consommation en énergie :
* Adapter les techniques de réductions de consommation des processeurs mobiles aux processeurs des serveurs ;
* Utiliser le clock gating qui permet d’éteindre l’horloge d'un bloc logique quand il n'est pas actif. En effet la consommation d'un centre de données qui ne travaille pas reste égale à 60 % de sa consommation maximale ;
* Utiliser le Dynamic voltage scaling qui permet d'augmenter ou réduire le voltage d'un composant selon les circonstances.
Pour le stockage des données, l'utilisation de SSD permet de réduire le besoin en refroidissement ainsi que le déchets électroniques grâce à l'absence de pièces mécaniques réduisant les pannes.

## Aspect marketing

Avec les impacts du réchauffement climatique, les entreprises sont de plus en plus forcées de réduire leur empreinte environnementale pour améliorer leur image. L'outil informatique est souvent en première ligne lors de ces changements.
Les SLA (Service level agreement) sont des contrats qui définissent la qualité de service requise par un client pour un service. Les Green SLA sont un moyen pour un client d'exiger que le service demandé respecte un certain niveau de qualités environnementales. Ces Green SLA permettent à un fournisseur de cloud de ne pas fournir uniquement des services basés sur des énergies vertes, mais seulement en fonction des demandes des clients. Ainsi les surcoûts sont supportés uniquement par les clients soucieux de réduire l'impact environnementale de leurs services.