FLASH INFORMATIQUE FI



Evolutions récentes du Swiss-T1




Jacques MENU


La machine de calcul parallèle Swiss-T1 est utilisée en production depuis deux ans environ. Un article précédent dans le Flash Informatique no 6 du 26 juin 2001 présentait la machine dans ses grandes lignes ( http://dit-archives.epfl.ch/FI01/fi-6-1/6-1-page1.html).

Le T1 a récemment fait l’objet de diverses évolutions présentées ci-dessous. Il se trouve que le fournisseur principal a lui aussi évolué, le rachat de Compaq par HP étant effectif au 7 mai 2002. Nous utiliserons toutefois encore le nom Compaq dans cet article. GridWare, fournisseur du logiciel de gestion du batch, a quant à lui été racheté par Sun Microsystems en juillet 2000.

Système d’exploitation

Swiss-T1 utilise l’Unix de Compaq, initialement nommé Digital Unix. Ce système existe en version standalone sous le nom Tru64 Unix, et en version cluster sous le nom TruCluster. En fait, une machine standalone est analogue à un cluster monomachine.

Rappelons que T1 est constitué de 35 machines ou boîtes DS20E biprocesseur, soit :

• tonecm0 et tonecm1 en cluster, assurant le rôle de frontale pour le travail interactif et de serveur pour NFS et NIS en particulier ;

• tonep0 à tonep31, machines dédiées au calcul en batch, sur lesquelles les utilisateurs ne peuvent pas se connecter directement ;

• une machine de développement et tests.&eacute

Dans la configuration initiale, les deux machines membres du cluster frontal étaient en TruCluster V5.0A, et les noeuds de calcul en Tru64 V5.0, comme la machine de développement et tests.

Ces versions n’étant plus supportées suite à la sortie de V5.1A, nous avons migré d’un coup l’ensemble des machines dans cette dernière version pendant la fermeture de fin d’année 2001. Au passage, le firmware de toutes les boîtes a été mis à jour. Les tests menés pendant six semaines avant l’installation de cette nouvelle version se sont bien passés. Toutefois des system crashes sont apparus assez vite au début de l’année.

Ce problème est dû à la configuration particulière, matérielle et logicielle, du T1. La solution consiste à remplacer les processeurs par une évolution plus récente, à la même fréquence d’horloge. L’intervention se fait aux frais de Compaq. A l’heure où nous écrivons ces lignes, 26 processeurs sur les 70 ont été remplacés.

figure 1 : de haut en bas : les deux serveurs de terminaux, trois alimentations redondantes et le switch Gigabit/Fast Ethernet. 

Réseaux

Ils sont au coeur de la machine, et l’on voit les composants essentiels à la figure 1. Les frontales sont sur plusieurs réseaux Ethernet distincts, comme le montre la figure 2.

Fast Ethernet, public

C’est le moyen d’accéder à T1 depuis le réseau de l’Ecole. L’interface nr0 est en fait un RAIN (Redundant Array of Inexpensive Netwok interfaces) des deux ports physiques tu1 et tu2.

Gigabit Ethernet, privé

Liaison avec l’autre frontale et la machine de développement et tests, laquelle fait les sauvegardes tous les matins.

Fast Ethernet, intra-cluster et back to back

Liens directs vers l’autre frontale pour la gestion du cluster.

Avant la migration en V5.1A, le réseau privé était accédé par un RAIN combinant une carte Giga Ethernet, active par défaut, et une Fast Ethernet, en standby. Cette configuration fonctionnait sans qu’elle soit officiellement supportée par Compaq. Depuis 5.1A, elle ne fonctionne plus et a donc été abandonnée. Notons qu’en trois ans de fonctionnement, nous n’avons eu à déplorer la panne que d’une interface Fast pour ce qui concerne les réseaux.

Les noeuds de calcul quant à eux sont sur deux réseaux Fast Ethernet, comme illustré à la figure 3 :

• l’un est privé à la machine, et est utilisé pour la soumission des jobs batch ;

• l’autre est public.

De plus, chaque noeud de calcul a deux ports TNet, l’interconnexion rapide utilisée pour les échanges entre processeurs participant à un même job batch via le logiciel MPI/FCI. Comme TNet ne véhicule pas le protocole IP, sa configuration n’apparaît pas dans le résultat de « ifconfig ».

Les connexions TNet s’appuient sur 9switches à 12 ports chacun, illustrés à la figure 4.

Les tests réalisés avant la migration en 5.1A ont révélé le besoin d’une mise à jour du pilote des cartes TNet, les API du noyau ayant changé depuis la verison 5.1.

Au début de l’année, un bug de Cosmos, le logiciel permettant de gérer les processus utilisant TNet, est apparu. L’intervention de Josef Nemecek, l’auteur de Cosmos, dans le cadre du contrat de maintenance conclu avec SCS AG a permis de résoudre ce problème : il s’agissait d’un double lock sur une socket, suivi d’un double unlock, qui n’avait jamais posé de problème avec la version 5.0.

La machine de développement et tests est hybride : c’est en fait un noeud de calcul particulier, avec deux ports TNet mais aussi des caractérisques des frontales. On voit sa face arrière à la figure 5.

Mentionnons encore l’existence d’un réseau de lignes série, permettant l’accès aux consoles des 35 boîtes et de différents périphériques via deux serveurs de terminaux.

Ces deux DecServer 900 TM démarraient initialement depuis un PC Linux installé dans la machine, mais utilisé par ailleurs uniquement par SCS pour accéder aux switches TNet si le besoin s’en fait sentir.

La configuration a été modifiée, et les serveurs de terminaux démarrent maintenant depuis la frontale, pour rendre le T1 indépendant de ce PC.

tonecm0 root - / > ifconfig -a

alt0 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> inet 192.26.43.14 netmask ffffff00 broadcast 192.26.43.255 ipmtu 1500

ics0 : flags=1100063<UP,BROADCAST,NOTRAILERS,RUNNING,NOCHECKSUM,CLUIF> inet 10.0.0.10 netmask ffffff00 broadcast 10.0.0.255 ipmtu 7000

lo0 : flags=100c89<UP,LOOPBACK,NOARP,MULTICAST,SIMPLEX,NOCHECKSUM> inet 127.0.0.1 netmask ff000000 ipmtu 4096

nr0 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> NetRAIN Attached Interfaces : ( tu2 tu1 ) Active Interface : ( tu2 ) inet 128.178.50.184 netmask ffffff00 broadcast 128.178.50.255 ipmtu 1500

sl0 : flags=10<POINTOPOINT>

tu0 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX>

tu1 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> NetRAIN Virtual Interface : nr0 NetRAIN Attached Interfaces : ( tu2 tu1 ) Active Interface : ( tu2 )

tu2 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> NetRAIN Virtual Interface : nr0 NetRAIN Attached Interfaces : ( tu2 tu1 ) Active Interface : ( tu2 )

tu3 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 ipmtu 1500

tun0 : flags=80<NOARP>

figure 2 : configuration Ethernet des frontales, ici tonecm0

tonep31 root - / > ifconfig -a
lo0 : flags=100c89<UP,LOOPBACK,NOARP,MULTICAST,SIMPLEX,NOCHECKSUM>
     inet 127.0.0.1 netmask ff000000 ipmtu 4096

sl0 : flags=10<POINTOPOINT>

tu0 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> inet 192.26.43.51 netmask ffffff00 broadcast 192.26.43.255 ipmtu 1500

tu1 : flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> inet 128.178.50.221 netmask ffffff00 broadcast 128.178.50.255 ipmtu 1500

figure 3 : configuration Ethernet des boîtes de calcul, ici tonep31

Boot des noeuds de calcul

Ces machines sont identiques au niveau matériel et logiciel, à part leur nom et leur adresse IP. Il existe deux outils Compaq pour la gestion de la configuration de telles machines :

• DMS/DMU (Distribution Management System/Utility), les noeuds démarrant alors du réseau, en trouvant leur configuration sur un serveur ;

• CMU (Cluster Management Utility), prévu pour des machines démarrant depuis leur disque local.

Le T1 a été configuré initialement avec DMS/DMU, produit devenu obsolète depuis au profit de CMU. Ce dernier permet de propager les configurations de manière arborescente, ce qui est très utile lorsqu’on a quelques centaines ou milliers de processeurs à gérer. En fait, CMU ne figure pas au catalogue logiciel de Compaq, il est inclus dans l’offre logicielle des serveurs à l’achat.

Comme il fallait renoncer à DMS/DMU, nous avons décidé de passer au boot depuis un disque local pour les noeuds de calcul. Et comme nous ne disposons pas de CMU, nous procédons à un clonage d’une machine de référence à l’aide de vdump/vrestore et de quelques scripts.

Le changement du mode de boot a été effectué également fin 2001.

figure 4 : les switches TNet, à 12 ports chacun 

Outil de gestion du batch

>GRD/Codine(tm) 5.1.7 avait été installé intialement sur la machine. Suite au rachat par Sun, le produit a été rebaptisé Sun Gridware Engine (SGE) et il est devenu ouvert.

La partie GRD offrait un complément de fonctionalités par rapport à Codine de base. On retrouve la même situation avec SGEEE (Sun Gridware Engine Enterprise Edition) par rapport à SGE. Nous utilisons actuellement SGE 5.3 beta 1, compilé par le soussigné sur la machine. Le code source contient en fait celui de l’ancien produit pratiquement sans changement, ce qui explique que nous ayons décidé d’opter pour une version beta. Là aussi, le changement de version a été effectué fin 2001. Le contrat de maintenance quant à lui a été reconduit auprès de Sun pour un an.

A l’usage, deux bugs sont apparus, mais ils s’avèrent mineurs pour la production qui est faite sur la machine.

figure 5 : conectique sur la face arrière de la machine de développement et tests 

Espace disque et sauvegarde

Il existe sur le T1 des fichiers de grosse taille résidant un certain temps sur la machine pour les besoins des projets de recherche des utilisateurs. Afin de ne pas les sauvegarder chaque nuit, l’espace disque a été restreint sur /usr/users, qui contient les dossiers racines des comptes, au profit de

/scratch/global, qui n’est pas sauvegardé automatiquement. La sauvegarde se fait actuellement sur des cartouches DLT, à raison d’un full dump par semaine pour chaque ensemble de fichiers, en attendant la connexion au robot STK du SIC.

La gestion des quotas d’espace disque, fonctionnant sur le cluster dès la version 5.1A, a été activée. Il reste à définir les quotas pour les différents groupes au sens Unix.

tonecm0 root - / > ja 24103

Accounting info for job 24103


Owner : helenavs Submit time : Thu May 2 16:29:13 2002 Jobname : job.58 Start time : Thu May 2 17:39:09 2002 Slots : 16 End time : Thu May 2 19:33:36 2002 Environment : fci-64-07

Node f s wc ut st cpu % maxrss minflt majflt iblck oblck msgsnd msgrcv io


tonep16 0 0 6856 6774 4 6778 98.9 9296 1610 0 10 33 35 192 0 0 6858 6672 57 6729 98.1 9440 1640 0 22079 22098 105639 191 MASTER 0 0 6867 2 3 5 0.1 744 11933 0 321 4857 515 68391 tonep17 0 0 6855 6814 1 6815 99.4 9296 1568 0 7 44 35 195 0 0 6857 6761 18 6779 98.9 9296 1569 0 7 36 35 194 tonep18 0 0 6856 6777 14 6791 99.1 9296 1569 0 8 33 35 195 0 0 6856 6805 4 6809 99.3 9280 1566 0 8 49 35 195 tonep19 0 0 6855 6801 5 6806 99.3 9296 1568 0 7 39 35 195 0 0 6857 6782 13 6795 99.1 9296 1571 0 7 44 35 195 tonep20 0 0 6856 6806 4 6810 99.3 9288 1567 0 8 43 35 194 0 0 6856 6770 15 6785 99.0 9296 1568 0 8 37 35 195 tonep21 0 0 6856 6788 10 6798 99.2 9296 1569 0 7 51 35 195 0 0 6856 6792 9 6801 99.2 9296 1572 0 8 32 35 194 tonep22 0 0 6856 6790 10 6800 99.2 9296 1569 0 7 31 35 194 0 0 6856 6796 8 6804 99.2 9296 1569 0 7 48 35 195 tonep23 0 0 6855 6775 14 6789 99.0 9296 1572 0 8 46 35 194 0 0 6857 6806 3 6809 99.3 9296 1568 0 8 37 35 194

figure 6 : données comptables d’un job. On voit sur cet exemple l’excellent taux d’occupation des 16 processeurs, voisin de 100 %

Outils d’administration et d’information pour les utilisateurs

Nous utilisons PVM (Parallel Virtual Machine), logiciel ouvert, pour soumettre des commandes simultanément à tout ou partie des boîtes composant le T1, à partir de programmes écrits au départ par Trach-Minh Tran.

Le gain en vitesse par rapport à des commandes exécutées en remote shell est souvent de l’ordre d’un facteur de plusieurs dizaines. Par ailleurs, divers outils écrits en Perl ont été mis en place en fonction des besoins rencontrés au jour le jour. Parmi ceux-ci, citons :

• un nouvel algorithme de calcul des priorités, qui tient compte du produit nombre de processeurs demandé x temps d’exécution demandé : plus ce produit est grand, moins le job est prioritaire le jour, et plus il est prioritaire la nuit. Le but est ici de favoriser les petits jobs de portage et de mise au point de code pendant la journée ;

• ja (job accounting), un outil permettant de visualiser sous forme synthétique les données comptables associées à un job terminé, illustré à la figure 6 ;

• ba (batch accounting), un outil permettant de visualiser graphiquement l’emploi de la machine par ses différents utilisateurs ou groupes sur une période donnée, illustré aux figures 7a et 7b.
&eacute

Ces deux derniers scripts extraient des données des logs binaires de SGE pour les présenter de manière utile à l’utilisateur. Merci à Cédric Herdener, stagiaire au SIC pendant une année et maintenant ingénieur système chez Bedag Informatik à Lausanne, qui les a écrits.

Perspectives

Les machines dont les processeurs ont été remplacés par Compaq n’ont plus eu de crash depuis, nous pensons donc atteindre une bonne stabilité suite au remplacement complet.

L’outil de gestion du batch NQS/NQE utilisé sur la machine soeur Eridan (Silicon Graphics, 128 processeurs) devra être remplacé à terme.

Dans cette optique, il est envisagé de mettre à disposition des utilisateurs un seul et même outil sur Eridan et T1, dont les deux architectures sont assez différentes :

• Eridan offre un single system image ;

• les noeuds de calcul du T1 tournent leur propre OS, leurs deux processeurs sont attribués en bloc, et TNet n’accepte qu’un job par noeud.

Plusieurs outils sont envisageables, parmi lesquels SGE, LSF et Open PBS (Open Portable Batch System). Des tests ont été effectués sur Eridan et T1, mais aucune décision n’est prise à ce jour.

La direction de l’Ecole a donné son accord pour faire évoluer le robot STK. Si Veritas était choisi comme outil de sauvegarde à grande échelle, le T1 serait l’un des premiers clients à en bénéficier. Sinon il sera raccordé directement au robot, comme cela était prévu avant qu’une sauvegarde globale soit envisagée.

tonecm0 root - / > ba -U -g wallclock -b 05150900 -e 05160900

Jobs started between Mai15 09:00 and Mai16 09:00

owner jobs usertime systime cputime wallclock


klinger 16 76428 104 76532 89788 devita 8 76347 353 76700 97435 helenavs 5 573760 680 574440 632978 dweill 4 756682 23019 779701 837859 parolini 5 792531 432 792963 856201 gwcowles 6 859003 446 859449 928891 brunetti 8 1239659 178 1239837 1329953

figure 7a : emploi de Swiss-T1 sur une période donnée, ici une journée entière. Le graphique montrant la répartition du temps écoulé (wallclock) entre les utilisateurs est donné à la figure 7b.

figure 7b : graphe des valeurs wallclock affichées à la figure 7a 

Nous avons le plaisir de relever que depuis la mise en service de Swiss-T1, les switches, câbles et cartes TNet totalisent toujours 0 panne, et qu’un seul bug dans le logiciel associé s’est manifesté et a dû être corrigé.

Par ailleurs, les personnes de contact chez les fournisseurs se sont toujours montrées compétentes et disponibles.

Les prochaines opérations importantes sur la machine seront sans doute la migration du système d’exploitation en version 5.1B, qui devrait être disponible à l’automne, et l’installation d’une version de SGE qui corrige les bugs rencontrés dans la version actuelle.

Gageons que la période qui s’ouvre devant nous sera moins mouvementée que l’opération menée pendant les fêtes de fin de l’année 2001 !



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.