FLASH INFORMATIQUE FI

Numéro spécial Calcul à haute performance à l’EPFL


IBM Blue Gene/L à l’EPFL – Trois ans de bons et loyaux services




Pascal JERMINI

Christian CLÉMENÇON


En juillet 2005, l’EPFL acquérait un superordinateur IBM de type BG/L (Blue Gene/L). À ce moment-là, fort de ses 18.2 Tflops Linpack (18.2x1012 opérations en virgule flottante par seconde), le système figurait au 9e rang mondial dans la classification Top500 (source : www.top500.org). Trois ans après, en juin 2008, il est passé au 103e rang mondial, mais c’est toujours l’ordinateur le plus performant de Suisse. Pendant ces trois années de service à l’EPFL, la machine a tourné près de 150’000 jobs de simulation pour le compte de 6 projets majeurs, et a permis d’obtenir dans certains cas des résultats significatifs, notamment dans le cadre du projet Blue Brain (voir l’article de Felix Schürmann Exploiter la puissance de calcul du Blue Gene/L : un exercice d’équilibriste). L’article Panorama des projets de recherche sur le Blue Gene/L de l’EPFL de Pierre Maruzewski décrit les 6 principaux projets qui ont bénéficié de la puissance de calcul du BG/L. La machine est gérée par le groupe Exploitation du DIT (DIT-EX).
Dans cet article, après un bref rappel de la structure du BG/L, nous avons choisi de présenter deux aspects qui nous ont paru symptomatiques des trois années d’exploitation du BG/L à l’EPFL, à savoir le mode et les statistiques d’utilisation de la machine, ainsi que le taux de pannes.

Structure physique du BG/L

Le BG/L est un ordinateur massivement parallèle. La configuration de l’EPFL compte 4’096 noeuds double coeur avec 512 MB de mémoire chacun (8’192 processeurs et 2 TB de mémoire en tout). Afin de réaliser une machine peu gourmande en énergie, IBM a choisi des processeurs relativement lents (de type PowerPC 440 cadencés à 700 MHz). Cette approche a permis un packaging simple et homogène d’un très grand nombre de composants dans un volume réduit, tolérant un refroidissement à air peu coûteux. Comme le montre la figure 1, la structure de la machine est hiérarchique. Elle permet ainsi l’assemblage de très grandes configurations, tout en conservant l’homogénéité de l’ensemble. Le plus grand BG/L existant à ce jour compte 106’496 noeuds (212’992 processeurs) répartis dans 104 racks.

JPEG - 5.6 ko
fig. 1
Structure hiérarchique du Blue Gene/L de l’EPFL

Les différents composants d’un système BG/L, illustrés sur la figure 1, se décrivent de la manière suivante. Un noeud est essentiellement constitué par le chip biprocesseur PowerPC 440 et par de la mémoire. Une carte de calcul comprend deux noeuds et constitue le plus petit élément physique remplaçable de la machine (celui qui sera changé par le support d’IBM en cas de défectuosité). Un tiroir, comprenant 32 noeuds, est la plus petite partie de la machine qui peut être allouée à un utilisateur pour un job. Le mid-plane, est quant à lui la plus petite partie qui puisse être arrêtée individuellement sans perturber le reste de la machine, pour des interventions de maintenance sur le matériel par exemple. C’est aussi la plus petite partition dont les 512 noeuds peuvent être interconnectés en un tore tridimensionnel (de dimension 8x8x8). Une armoire (ou rack) contient deux mid-planes, c’est-à-dire 1’024 noeuds. Et finalement, un système BG/L comprend plusieurs armoires organisées en lignes et colonnes (2x2 à l’EPFL), et dont les noeuds sont interconnectés par trois réseaux globaux, dont le tore tridimensionnel (de dimension 16x16x16 à l’EPFL).

Utilisation du BG/L à L’EPFL

Un utilisateur souhaitant exécuter un job demande au système BG/L les ressources nécessaires, c’est-à-dire essentiellement le nombre de noeuds désirés. Si la demande peut être satisfaite, l’utilisateur reçoit alors une partie physique homogène de la machine, appelée partition (ou bloc), qui inclut les ressources demandées. Le job a dès lors l’accès exclusif à toutes les ressources de sa partition (CPU, mémoire, réseaux d’interconnexion) et peut commencer son exécution. Plusieurs jobs de différents utilisateurs peuvent bien entendu s’exécuter simultanément sur des partitions disjointes de la machine.
À l’EPFL, nous distinguons trois modes d’utilisation de la machine :

  • Interactif : réservé aux jobs courts, s’exécutant sur un petit nombre de noeuds (32 ou 128), pour la mise au point des codes.
  • Production : pour les jobs d’une durée maximale de 24 heures, s’exécutant sur au moins 512 noeuds (un mid-plane) et au plus 2048 noeuds.
  • Réservation : pour des cas particuliers, ou ponctuellement pour des jobs s’exécutant sur les 4096 noeuds de la machine entière.

Un mid-plane est dédié en permanence aux jobs interactifs, et les sept autres aux jobs de production et/ou aux réservations.
La figure 2 montre les statistiques d’utilisation de la machine par projet pour la période de 2 ans et demi, entre le 1er janvier 2006 et le 30 juin 2008.

JPEG - 10 ko
fig. 2
Répartition des ressources BG/L par projet de janvier 2006 à juillet 2008

Nous observons que le taux d’occupation effectif de la machine (en temps d’exécution de jobs) est de 76%, auquel il faudrait ajouter un certain pourcentage pour les périodes de réservation non consommées, ainsi que les périodes de maintenance. Le pourcentage de ressources non allouées, qui peut paraître relativement élevé, s’explique par la granularité d’allocations. En effet, l’ordonnanceur de tâches du système batch ne dispose que de sept unités d’allocation (sept mid-planes) pour satisfaire les demandes des utilisateurs. C’est bien entendu trop peu pour atteindre un meilleur remplissage.

Taux de pannes

Un job interrompt brutalement son exécution lorsqu’un des composants matériels de sa partition subit une défaillance. C’est en général une carte de calcul qui en est la cause. On a pu constater que 90% des crashs sont dus à des erreurs mémoire. Lorsqu’un job s’arrête à cause d’un problème matériel, l’exécution de tous ses processus associés se termine immédiatement et la partition qu’il occupe est libérée. Les autres jobs ne sont pas affectés.
Pour calculer la moyenne des temps entre deux pannes (MTBF - Mean Time Between Failures) de la machine entière en nombre de jours, nous avons considéré la période allant du 1 janvier 2006 au 30 juin 2008, soit 912 jours. Pendant cette période, il y a eu 209 jours pendant lesquels au moins un job a crashé, soit un MTBF de 4.36 jours (900/209). Cela signifie qu’un job tournant sur les 4096 noeuds de la machine a en moyenne 4.36 jours de durée de vie sans risquer un crash. À première vue, ce chiffre peut paraître ridiculement bas. Mais en tenant compte qu’il y a 2048 cartes de calcul dans la machine, on obtient un MTBF par carte de calcul de 8937 jours, soit environ 25 ans ! C’est donc bien le nombre très important de composants participant à l’exécution d’un job qui augmente le risque de crash de manière significative.
Donc, plus un job utilise de ressources et plus il est long, plus il a de chances de crasher. Pour se prémunir de ce risque, nous conseillons vivement à nos utilisateurs de recourir aux points de reprise, c’est-à-dire de sauver périodiquement l’état du job, pour pouvoir repartir de la dernière sauvegarde en cas de crash. Le système BG/L fournit une librairie de checkpoint/restart pour faciliter la programmation de points de reprise. De plus, le BG/L de l’EPFL a un système de fichiers très performant ( 800 MB/s de débit en accès parallèles), ce qui permet de sauver l’état de la majeure partie des applications dans un laps de temps négligeable par rapport au temps total d’exécution.

Conclusion

Notre expérience nous a montré que l’administration du BG/L est relativement aisée, grâce aux outils système d’IBM qui offrent une vision globale de la machine. D’autre part, les noeuds n’ayant pas d’état propre, il n’y a jamais de problème d’incohérence à ce niveau. En ce qui concerne les interventions hardware, la structure homogène et hiérarchique du BG/L permet d’opérer localement, sans perturber les jobs qui occupent d’autres parties de la machine.
Comme effet collatéral (comme on dit aujourd’hui) de la puissance d’une telle machine, le taux de pannes devient un aspect dont on ne plus s’affranchir dans des applications de simulation de grande envergure. Il faut impérativement s’en prémunir à l’aide de points de reprise.
Ces trois années d’exploitation du BG/L de l’EPFL ont montré que la machine a été pleinement utilisée, et qu’il y a donc un vrai besoin pour ce type de superordinateur au sein de l’École.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013. Vous désirez recevoir la clé USB contenant tous les numéros, inscrivez-vous avec le formulaire inform.epfl.ch pour la recevoir.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.