Free Cooling: Difference between revisions

From air
Jump to navigation Jump to search
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 33: Line 33:
* Le portail web utilise [http://www.sencha.com/products/js/ ExtJS] pour la partie navigateur.
* Le portail web utilise [http://www.sencha.com/products/js/ ExtJS] pour la partie navigateur.


== Carnet de bord ==
== Rapport du Projet ==
La nouvelle version du projet est disponible [http://conqueringlions.free.fr/specifs_systeme_controle.pdf ici].


Le rapport du Projet est disponible à cette [http://conqueringlions.free.fr/frigidr.pdf adresse].
* Lundi 7/02 : soutenance commerciale puis début du simulateur via Processing.
* Installation du JDK Sun pour le faire fonctionner, tutoriel et apprentissage à partir d'exemple.
* Derrière ce simulateur, pour l'implémentation de celui-ci, recherche des facteurs thermiques pour la déperdition.
* La variation de température entre avant/arrière est de l'ordre de 8 à 10°. Plusieurs hypothèses retenues pour l'arrêt d'un ou plusieurs châssis (il y en aura 7 au départ).


== Evolution ==
* Le simulateur n'a pas été terminé car l'affichage en temps réel de l'évolution des températures sous Processing n'a pas été réussi, nous avons préféré le mettre de côté pour avancer dans le projet.


En l'état le projet possède de nombreuses évolutions (liaison avec OAR, interface de contrôle/gestion sur le réseau, ...) mais un projet autour de la modélisation en lien avec des méthodes puissantes est aussi possible. Les phénomènes thermiques autour de l'enceinte de confinement sont modélisables, cela fait appel à la thermique et à la mécanique des fluides. De nombreuses données sont possibles (températures et mesures par exemple) et peuvent être récupérées pour effectuer des calculs dessus.
* Communication SNMP (get & set) fonctionne avec un serveur SNMP fictif sous linux, donc à priori peu de difficultés à le mettre en route sur place. Au niveau de la communication, la carte et les différents PDU (connexion Eth) seront rassemblés sur un petit hub ethernet. Ce sera une réseau interne donc pas besoin de créer une connexion SSH.


Au sein du Laboratoire Jean Kuntzmann est développé la bilbiothèque FEEL++, c'est une librairie C++ qui permet de résoudre les équations aux dérivées partielles dans les 3 dimensions par la méthode des éléments finis. Avec une bonne prise en main de Feel, on est capable de modéliser l'ensemble des entités du projet avec des maillages, puis d'effectuer des calculs dessus afin d'observer les variations de températures mais aussi celle des flux de chaleur. Un étudiant a effectué son stage autour de cette librairie, son rapport est disponible [http://conqueringlions.free.fr/RICM4-MORIN_BAPTISTE-2011.pdf ici] (en anglais).
* Pour la carte, elle doit être autonome (c'est elle qui prendra les "décisions" et rendra les informations dans des fichiers logs souvent mis à jour. L'organe centrale sera simplement informé, de par ces fichiers, de l'état du système global.


Le site de la librairie est [http://www.feelpp.org www.feelpp.org], vous y trouverez les sources de la bibliothèque qui est très largement documentée. Cet aspect du projet Free Cooling peut se manifester de manière incrémentale :
* Pour l'instant, elle ne communique pas encore avec les thermomètres (quasi fait, voir avec Nabil), reste la communication avec les servomoteurs (reçus récemment). Cette partie sera faite par Nabil, quand au programme général sur la carte, il sera commencé cette semaine. Beaucoup de retard par déplacements de cours et de nombreux projet en parallèles.
* Modélisation de la salle (outils: [http://geuz.org/gmsh/ Gmsh] et [http://www.paraview.org/ Paraview])
* Equations thermiques et mécanique des fluides
* Conditions aux limites particulières de la salle (grâce aux données des capteurs et de la configuration de l'enceinte)
* Paramètres pouvant changer
* Visualisation


Les étudiants voulant travailler dessus doivent avoir une solide base mathématiques mais aussi des connaissances en C++ (Feel utilise de nombreux namespaces et templates). A terme, ces travaux pourront servir d'outil de prédiction pour savoir s'il est utile d'utiliser le cluster dans telle ou telle tranche horaire par exemple. Ce cadre du projet avec Feel est modélisable de manière quasi-identique que celui du Free Cooling (un diagramme UML peut faire transparaitre cette correspondance). L'idée de donner une visualisation concrète des variations dimensionnées des entités physiques est une approche intéressante d'un problème thermique.
* L'algorithme principal est établi, il faut intégrer à celui-ci la partie communication avec capteurs (getteurs de température et humidité) mais aussi l'actionneur des registres.

* Voici l'ensemble du matériel retenu pour le projet : <gallery> Image:materiel.jpg </gallery>

* Quelques photos de l'installation sur le site de Montbonnot : [http://wiki-oar.imag.fr/index.php/FrigID_construction]

* Le flyer et le poster pour la présentation du projet, même s'il n'est pour l'instant pas possible de faire de démonstration (projet sur 2ans)
<gallery> File:Flyer.pdf|Flyer
File:Poster_PDF.pdf|Poster
</gallery>

== Aide-mémoire Bruno ==

=Monitoring des températures=
==Script de collecte des températures==
;/usr/local/sbin/poll_temps.sh
:Ce script stock les infos de température dans des bases rrd
(/var/lib/rrdtool) et aussi un fichiers brut (monitor_temps.raw)
==Scripts de monotoring des températures==
Ces scripts déclenchent des actions en fonction des valeurs courantes
des températures.
;/usr/local/sbin/monitor_temps.sh
: Ce script est responsable de l'arrêt/redémarrage complet du cluster en
cas de dépassement de la température max des noeuds et/ou de la salle
(valeurs de consigne à fixer au début du script)
;/usr/local/sbin/monitor_temps_fan.sh
: Ce script coupe le ventilateur quand il fait trop froid
;/usr/local/sbin/monitor_recycle.sh
: Ce script ouvre/ferme la vane de recyclage d'air chaud pour réguler la
température en face avant (contôle de l'arduino)
==Lancement des scripts==
Dans /etc/rc.local:
# Run rrdtool pollers
nohup /usr/local/sbin/poll_temps.sh > /dev/null&
nohup /usr/local/sbin/poll_pdus.bash&

# Monitoring script that shudown nodes when temperature is too high
nohup /usr/local/sbin/monitor_temps.sh >> /var/log/monitor_temps.log 2>&1 &

# Thermostat du ventilo
nohup /usr/local/sbin/monitor_temps_fan.sh >> /var/log/monitor_fan.log
2>&1 &

# Vane de régulation par recyclage
nohup /usr/local/sbin/monitor_recycle.sh >>
/var/log/monitor_recycle.log 2>&1 &

==Passage en mode powersave==
Manuel pour le moment, via le script: '''/root/energy_saving.sh'''

==Logs des températures==
Les fichiers de log sont archivés tous les mois, via logrotate, sur 10 ans
;/var/log/monitor_temps.raw
:Ce fichier est renseigné directement par le poller. Il contient les
données brutes des températures pour un timestamp donné. D'abord pour
chaque noeud, et ensuite les 4 senseurs ambiants:
* ExtSensor1: à l'arrière des machines
* ExtSensor2: à l'avant des machines
* ExtSensor3: température ambiante de la salle, hors du freecooling (la
sonde a été déplacée le 10/05/2011 car elle était trop près de la sortie
d'un climatiseur de la salle et donnait des valeurs pas assez
représentatives. Elle a été placée entre les 2 climatiseurs, moins dans
le flux d'air des bouches de sortie)
* ExtSensor4: température à l'extérieur du batiment. Par contre, la
sonde est placée assez près de la bouche de sortie du freecooling, donc
la température est biaisée par la chaleur évacuée par les machines.

;/var/log/monitor_temps.log
: Ce fichier enregistre les températures max des noeuds et température
ambiante de la salle machine. Il log les évènements d'extinction et de
rallumage du cluster (évènements qui dépendent des 2 températures
citées: actuellement, on arrete le cluster si la température des noeuds
dépasse 45 OU si la température de la salle dépasse 31, on remet en
marche quand ces températures tombent en dessous de 25 pour les noeuds
ET en dessous de 28 pour la salle)

;/var/log/monitor_recycle.log
: Ce fichier enregistre les évènements d'ouverture/fermeture de la vane
de recyclage d'air chaud qui sert à réguler la température en face avant
(20 degrés)

;/var/log/monitor_fan.log
: Ce fichier enregistre les évènements d'extinction du ventilateur.
Cette extinction est provoquée lorsque la température des noeuds devient
dangereusement basse (12 degrés) et sert quand la vanne de recyclage
d'air de permet plus le réchauffement suffisant de l'air envoyé en face
avant.

''Historique des réétalonnages de sonde'':
* 10/05/2011, sonde "room" déplacée
* 23/05/2011 16h, sonde "room" réétalonnée (fausse depuis le
déplacement) +6 degrés
* 24/05/2011 14h45, sonde "room" réétalonnée -1 degrés


== Notes ==
== Notes ==

Latest revision as of 07:37, 19 September 2011

  • Enseignant: Olivier Richard
  • Public: 1 3I4, 2 RICM4 (Option Réseau)
  • Etudiants 2010/2011
    • Nabil Kaced
    • Alban Moreau
    • Baptiste Morin

Etude et réalisation d'une solution de contrôle free-cooling pour baie de serveurs de calcul

Introduction

L'évolution du matériel et de leur coût dans le domaine des serveurs informatiques pour le calcul scientifique est telle que les problémes lié à la consommation énergétique deviennent de plus en plus aïgus.

Un levier possible pour limiter le problème est de considérer un mode de climatisation alternatif. Un système intéressant est l'approche du Free-Cooling qui consiste simplement à injecter assez d'air extérieur pour permettre un refroidissement suffisant. Il est important de noter qu'il est nécessaire de disposer d'un asservisement en témpérature pour compenser des températures extérieurs trop faible.

Réalisation

Il s'agit de à participer à la réalisation d'une solution de Free-Cooling pour l'installation de 20 à 25 Kw (correspondant de une à deux baies de serveurs). Il s'agira notamment de co-réaliser la solution d'asservisement et de sécurité et qui dialogera avec l'insfrastructure de calcul global.

  • Asservissement et sécurisation utilisant la kit Stellaris Luminary Lm3s6965
  • Maquettage et simulation d'une installation de calcul climatisé
  • Couplage de l'asservissement avec le logiciel de gestion de tâche et ressource OAR.
  • Prévision / optimisation des zones de disponibilité des ressources
  • Interface web de contrôle et de gestion

Ressources

Rapport du Projet

La nouvelle version du projet est disponible ici.

Le rapport du Projet est disponible à cette adresse.

Evolution

En l'état le projet possède de nombreuses évolutions (liaison avec OAR, interface de contrôle/gestion sur le réseau, ...) mais un projet autour de la modélisation en lien avec des méthodes puissantes est aussi possible. Les phénomènes thermiques autour de l'enceinte de confinement sont modélisables, cela fait appel à la thermique et à la mécanique des fluides. De nombreuses données sont possibles (températures et mesures par exemple) et peuvent être récupérées pour effectuer des calculs dessus.

Au sein du Laboratoire Jean Kuntzmann est développé la bilbiothèque FEEL++, c'est une librairie C++ qui permet de résoudre les équations aux dérivées partielles dans les 3 dimensions par la méthode des éléments finis. Avec une bonne prise en main de Feel, on est capable de modéliser l'ensemble des entités du projet avec des maillages, puis d'effectuer des calculs dessus afin d'observer les variations de températures mais aussi celle des flux de chaleur. Un étudiant a effectué son stage autour de cette librairie, son rapport est disponible ici (en anglais).

Le site de la librairie est www.feelpp.org, vous y trouverez les sources de la bibliothèque qui est très largement documentée. Cet aspect du projet Free Cooling peut se manifester de manière incrémentale :

  • Modélisation de la salle (outils: Gmsh et Paraview)
  • Equations thermiques et mécanique des fluides
  • Conditions aux limites particulières de la salle (grâce aux données des capteurs et de la configuration de l'enceinte)
  • Paramètres pouvant changer
  • Visualisation

Les étudiants voulant travailler dessus doivent avoir une solide base mathématiques mais aussi des connaissances en C++ (Feel utilise de nombreux namespaces et templates). A terme, ces travaux pourront servir d'outil de prédiction pour savoir s'il est utile d'utiliser le cluster dans telle ou telle tranche horaire par exemple. Ce cadre du projet avec Feel est modélisable de manière quasi-identique que celui du Free Cooling (un diagramme UML peut faire transparaitre cette correspondance). L'idée de donner une visualisation concrète des variations dimensionnées des entités physiques est une approche intéressante d'un problème thermique.

Notes

  • Lien wiki de la réalisation technique hébergée sur le wiki OAR : Go_Free!
  • Possibilité d'extension en stage et participation éventuel au Google Summer Of Code