FLASH INFORMATIQUE FI



Expérience avec la machine Swiss-T1 au SIC/EPFL




Jacques MENU


Contexte

Le pari des machines commodity components est d’utiliser des composants du marché, tels que processeurs et disques, pour construire des machines parallèles à un prix intéressant, plutôt que de recourir à des solutions propriétaires. Le point important de la machine résultante est son interconnect. Dans le cas de la machine type Beowulf, il s’agit de réseaux Ethernet, Fast ou Giga actuellement. D’autres solutions existent, comme Myrinet, Quadrics et TNet de SCS AG à Zürich, qui sont, elles, propriétaires. Le but est d’obtenir une machine stable, exploitant au mieux le matériel employé, en particulier l’interconnect, et d’un coût d’exploitation raisonnable. Dans cette optique, en 1997, la direction de l’EPFL a décidé de reconcer à upgraderle Cray T3D en un T3E, et de lancer un projet CTI (Commission pour la Technologie et l’Innovation) conduisant à une machine commodity components avec des compétences disponibles localement. Le présent article traite de l’expérience au jour le jour avec le résultat de ce projet qui a passé par différentes étapes (T0 actuellement utilisé dans le cadre du projet CTI Forall et T1-Baby en prodution au DGM/EPFL).

Architecture du Swiss-T1 de l’EPFL

Cette machine, baptisée tone.epfl.ch, est constituée de 35 boîtesbiprocesseur DS20e de Compaq :

  • 2 frontales en cluster, maintenant disponibles dans la version TruCluster V5.x de l’ex Digital Unix, fonctionnant également comme serveur NFS3 ;
  • 1 machine de développement et tests, permettant par exemple de préparer la configuration des nouvelles versions du système d’exploitation ;
  • 32 noeuds de calcul proprement dits. Ces 35 boîtes bootenttoutes pour elles-mêmes, avec un système qui leur est propre.

L’interconnect est formé de 8switchesTNet à 12 ports, 4 les reliant entre eux et les 8 autres accédant à des noeuds de calcul. Il y de plus deux réseaux Fast Ethernet reliant les noeuds de calcul au reste de la machine, dont l’un privé et l’autre public. La raison en est que TNet ne véhicule pas IP, qui est nécessaire pour la gestion du batch, l’administration de la machine et l’accès aux fichiers. L’architecture est complétée par 300GB de disques RAID5, un switch Ethernetet deux serveurs de terminaux pour l’accès distant aux consoles, selon le schéma de la figure1 ci-après.

Figure 1 : Architecture de tone

Dans la configuration actuelle, les noeuds de calcul bootent à partir de disques RAID partagés, et n’utilisent les deux disques locaux que pour le swap et de l’espace de travail à court terme (/tmp et /scratch/local).
La puissance de calcul est de 1 GFlops par processeur, soit 64 GFlops pour l’ensemble des noeuds de calcul. Le cluster frontal permet de travailler en interactif pour développer des applications et les tester sur des données exigeant peu de calculs.
La soumission des jobs batch se fait grâce à l’outil GRD/Codine v5.1.7 de Gridware Gmbh, devenu entre temps une partie de Sun Microsystems. A noter que la version 5.2.2 sera complètement ouverte et disponible en code source dès l’été 2001.
Il y a au plus un job batch par boîte de calcul, à cause des particularités de TNet. Les processeurs (slotspour Codine) sont donc toujours attribués par paires.

Le système vu par les utilisateurs

Les utilisateurs ont conscience de la présence d’une frontale sur laquelle ils se connectent, et de noeuds de calcul où ils ne peuvent que soumettre des travaux en batchavec Codine.
Les disques exportés par le serveur NFS de la frontale, en particulier /usr/users qui contient les dossiers racine des utilisateurs et /scratch/global, sont vus de la même manière depuis les noeuds de calcul et les frontales, il y a donc homogénéité de ce côté-là. Le tableau 2 montre l’espace disque à disposition.
On peut faire communiquer les processus d’un batchréparti sur plusieurs boîtes soit au moyen de TNet, soit au moyen de Fast Ethernet. Le choix du type d’interconnect se fait au moment du lien des applications par le choix d’une librairie : MPI/FCI pour TNet, MPICHpour Fast Ethernet. Cette dernière possibilité qui offre moins de bande passante et une latence plus élevée, est donc découragée, mais elle permet de tourner sans changement des codes basés sur ce moyen de communication.
On peut voir un exemple de charge de la machine sur le tableau 1 suivant.

tonecm0 menu - / > ts

— (running)------------------------------------- Tue May 22 13:32:44 CEST 2001 jobseq pri jobname user status M start_exec date/time NP PE l.CPU

(sec) 31528 859 gyroc35QN gdgirard r 0 05/22/2001 13:06:02 16 fci 12798 31530 859 lv0.00_tr bottino r 8 05/22/2001 13:06:01 16 fci 12797 31517 859 mn241_phi allfrey r 16 05/22/2001 11:10:50 16 fci 5885 31523 859 runach2_0 devita r 24 05/22/2001 12:16:16 16 fci 9811
— (pending)------------------------------------------------------------------- jobseq pri jobname user status S submit date/time NP PE D r.CPU


(sec) 31536 932 relax.com devita qw 05/22/2001 12:37:52 8 fci r 14400 31525 859 runach2_0 devita qw 05/22/2001 03:50:21 16 fci r 14400 31529 859 runach2_0 devita qw 05/22/2001 09:24:52 16 fci r 14400 31531 859 job2 devita qw 05/22/2001 09:39:47 16 fci r 10800 31533 859 gyroc35QN gdgirard qw 05/22/2001 11:03:27 16 fci gr 14400 31524 699 gyroc35_4 gdgirard qw 05/22/2001 02:11:57 32 fci gr 14400 31527 699 job.17 helenavs qw 05/22/2001 07:04:50 32 fci 14400 31537 692 run_04 stengel qw 05/22/2001 13:05:58 32 fci 14400


l.CPU = slot left CPU time ; r.CPU = slot cumulated CPU time limit ; * = delayed g = delayed because group limit of 2 has been reached r = user run limit of 1 has been reached


Environment Configured/Assigned/Free Slots/ fci-64-07 64/ 64/ 0/ mpi-64-07 64/ 0/ 64/ Total number of free slots currently available = max(64,64)-64-0=0 ==> scheduling policy set to day state (smallest PEs jobs to enter first)


Job slot CPU limit : 4 hours during week days ; 12 hours during week-ends ; Jobs up to 12 hours of requested CPU time may be submitted at any time. Current active process limit = 14400 seconds


All compute boxes are up


(JMC)-

tableau 1 - charge de la machine

Le système vu par l’administrateur

Pour l’administrateur de la machine, il y a 2 frontales en cluster (TruCluster V5.0A actuellement), une boîte de développement et test pour préparer les évolutions, et 32 noeuds de calculs identiques à part leur identité propre (Tru64 V5.0 actuellement).

La frontale

Le clusterfrontal, dont l’alias public est tone.epfl.ch, est en fait composé des machines tonecm0 et tonecm1 (cm : cluster member). Les deux membres se partagent de manière paramétrable la charge, par exemple les connexions interactives des utilisateurs.
Nous bénéficions de la haute disponibilité des services à l’aide de Cluster Application Availability (CAA). En cas d’arrêt du membre du cluster qui tourne ces applications, elles sont reprises par l’autre membre de manière automatique. C’est le cas pour nous du serveur NFS et de Cosmos, qui gère les processgravitant autour de TNet :

tonecm0 menu - / > caa_stat
NAME=apache
TYPE=application
TARGET=ONLINE
STATE=ONLINE on tonecm0

NAME=cluster_lockd TYPE=application TARGET=ONLINE STATE=ONLINE on tonecm0

NAME=cosmos_center TYPE=application TARGET=ONLINE STATE=ONLINE on tonecm0

NAME=dhcp TYPE=application TARGET=ONLINE STATE=ONLINE on tonecm0

Cela nous permet par exemple de tourner sur une seule frontale en mode dégradé en cas de problème sur l’autre membre. Tru64 V5.x offre le rolling upgrade, soit le moyen d’installer un patchsystème ou de migrer le système d’exploitation en une nouvelle version sans interruption du service offert. Il y aura quelques rebootsuccessifs des deux membres, mais l’un des deux est toujours présent pour les utilisateurs. Tout au plus, les utilisateurs connectés sur un membre qui va être rebootédans le cadre de cette procédure doivent se déconnecter et se reconnecter juste après.
Nous avons ainsi passé déjà deux niveaux de patchessuccessifs sur ces frontales depuis la mise en production de la machine l’été dernier. Mentionnons encore que la frontale héberge le site http://tone.epfl.ch, d’intérêt général pour les utilisateurs de la machine, ainsi qu’un site privé à la Section Exploitation contenant des informations sur la gestion de la machine elle-même.

Les noeuds de calcul

Ils montent des volumes NFS 3 du serveur frontal sur le réseau privé, avec l’alias tonep(p pour privé). Leur configuration logicielle est gérée actuellement par DMS/DMU : la majeure partie est commune, mais ils ont leur identité et leur vie propre, d’où un dossier ’/’ spécifique (voir tableau 2).

tonep17 menu - / > df
Filesystem                             1024-blocks        Used   Available Capacity  Mounted on
tonep :/clients/tonep17                     7500000     3469876     3909896    48%    /
tonep :/var/adm/dms/dms0.alpha/root/usr     3688144     2162263     1465384    60%    /usr
LOCAL#tmp                                  7533520          52     7522360     1%    /tmp
LOCAL#scratch                              7533520          47     7522360     1%    /scratch/local
/proc                                            0           0           0   100%    /proc
tonep :/usr/var/spool/mail                 15000000      120973     7355392     2%    /var/spool/mail
tonep :/usr/local                          15000000     7393570     7355392    51%    /var/local
tonep :/scratch/global                     75000000    63215821    11445288    85%    /scratch/global
tonep :/usr/users/sicse                     1844072      464053     1325320    26%    /users/sicse
tonep :/usr/users/0                       135000000    12442977    22967296    36%    /users/0
tonep :/usr/users/1                       135000000     7959221    22967296    26%    /users/1
tonep :/usr/users/2                       135000000     6560382    22967296    23%    /users/2
tonep :/usr/users/3                       135000000    12805664    22967296    36%    /users/3
tonep :/usr/users/4                       135000000    10902857    22967296    33%    /users/4
tonep :/usr/users/5                       135000000     6427155    22967296    22%    /users/5
tonep :/usr/users/6                       135000000    25147473    22967296    53%    /users/6
tonep :/usr/users/7                       135000000    29482910    22967296    57%    /users/7

tableau 2 - Espace disque vu d’un noeud de calcul

C’est l’outil Codinequi permet de les mettre dans l’état disabled : dès que le jobutilisant un tel noeud sera terminé, Codine ne l’utilisera plus pour satisfaire des demandes d’exécution batch. Cela nous permet de faire toute opération nécessaire sur ce noeud, comme reboot ou réparation matérielle en cas de panne, avant de le rendre à l’exploitation en le faisant passer à l’état enabled dans Codine.
Là aussi, nous avons passé sans problème deux niveaux de patchessur les noeuds de calcul depuis la mise en production.

Gestion au jour le jour

Gérer une machine comme le Swiss-T1 est une activité intéressante et enrichissante. Il s’agit simplement de systèmes de la famille Unix, avec en plus l’architecture particulière à prendre en compte.
Grâce à la compétence des personnes de contact chez les fournisseurs Compaq, SCS AG et GridWare/Sun, nous n’avons pas de problème majeur à déplorer.

Evolutions en cours ou prévues

L’évolution en cours de préparation actuellement est la migration en Tru64 V5.1, niveau de patches 2, pour les noeuds de calcul, V5.0 n’étant plus supporté depuis le mois d’avril. Nous utilisons pour cela les disques locaux de la machine de développement et test.
La migration de la frontale en TruCluster V5.1A est prévue pour la fin de l’été prochain. Elle offrira une meilleure répartition de la charge NFS sur les deux membres du cluster frontal, ainsi qu’une prise en compte des quotas disque, limitée actuellement à des machines hors cluster.
Une autre considération est amenée par le remplacement progressif chez Compaq de DMS/DMU par Cluster Management Utility (CMU) : dans cette approche, les noeuds de calcul bootentd’un disque local, ce qui est nécessaire dans le cas de machines à plusieurs centaines de processeurs. Par ailleurs, nous envisageons de déplacer des disques locaux des noeuds dans l’armoire des disques RAID 5, ce qui améliorerait le taux d’utilisation des disques.
De plus, une connexion va être réalisée avec les robots StorageTek (STK) pour la sauvegarde, en remplacement du DLT utilisé temporairement.

En guise de conclusion

Après une période initiale riche en évènements comme des crashes et des pannes, Swiss-T1 a atteint un degré de stabilité satisfaisant. Il est actuellement chargé pratiquement en permanence par de gros utilisateurs, avec une bonne disponibilité qui devrait s’améliorer, et on peut donc dire que la mise en production est une réussite.



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.

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.