-
Connexion au Data Center d'Enseignement (cluster, frontales, et comptes) :
Clusters de CPU :
- La machine phome.metz.supelec.fr est utilisée pour accueillir les connexions des utilisateurs, et pour
allouer des noeuds de calcul à travers l'environnement OAR sur les clusters Sarah et Kyle.
- Sarah est un cluster de 32 PCs contenant chacun 2 processeurs Intel Haswell quadri-coeurs hyperthreadés, et
installés sous Linux. Les 32 "noeuds de calcul" sont interconnectés
par un unique switch 10-Gigabit Ethernet standard.
- Kyle est un cluster de 66 PCs contenant chacun 2 processeurs Intel Skylake octo-coeurs hyperthreadés, et
installés sous Linux. Les 66 "noeuds de calcul" sont interconnectés
par deux switchs 10-Gigabit Ethernet standard.
Machines équipées d'un GPU :
- La machine ghome.metz.supelec.fr est utilisée pour accueillir les connexions des utilisateurs.
- La machine term2.grid.metz.supelec.fr est ensuite utilisée pour
allouer des noeuds de calcul à travers l'environnement OAR sur les machines de Cameron et Tx.
- Cameron est un ensemble de
17 PCs contenant chacun 1 processeur Intel Sandy-Bridge hexa-coeurs
hyperthreadés, associé à un GPU GTX 1080, et
installés sous Linux. Les 17 "noeuds de calcul" sont interconnectés
par un unique switch 10-Gigabit Ethernet standard.
- Tx est un ensemble de 17
PCs contenant chacun 1 processeur Intel Skylake quadri-coeurs
hyperthreadés, associé à un GPU RTX 2080Ti, et
installés sous Linux. Les 17 "noeuds de calcul" sont interconnectés
par un unique switch 10-Gigabit Ethernet standard.
Comptes de TP CenraleSupélec sur le Data Center d'Enseignement :
- pour les étudiants de Gif : cpucs1_# (cpucs1_1 à cpucs1_20), avec un passwd spécifique,
- pour les étudiants de Metz : cpucs2_# (cpucs2_1 à cpucs2_20), avec un passwd spécifique,
- pour les étudiants de Gif : gpucs1_# (gpucs1_1 à gpucs1_20), avec un passwd spécifique,
- pour les étudiants de Metz : gpucs2_# (gpucs2_1 à gpucs2_20), avec un passwd spécifique,
Procédure de connexion :
- Connexion à un cluster de CPU
- Vous vous
connecterez par ssh ou putty sur la frontale phome.metz.supelec.fr en indiquant votre login de TP à Metz
- Puis vous utiliserez OAR (voir ci-dessous) pour allouer des noeuds de calculs sur les clusters de CPU
Vous ne vous connecterez PAS sur les noeuds de calcul par ssh, mais seulement grace aux commandes OAR.
- Connexion à une machine GPU
- Vous vous
connecterez par ssh ou putty sur la frontale ghome.metz.supelec.fr en indiquant votre login de TP à Metz,
- Puis par ssh vous vous connecterez sur la frontale term2.grid
- Puis vous utiliserez OAR (voir ci-dessous) pour allouer une machine disposant d'un GPU
Vous ne vous connecterez PAS sur une machine équipée d'un GPU par ssh, mais seulement grace aux commandes OAR.
-
Allocation de machines de calcul
Un cluster de calcul possède toujours
un environnement d'allocation/gestion de ses noeuds de calculs, et de
lancement et gestion de programmes batch ou de sessions interactives.
Dans le cas du Data Center d'Enseignement de CentraleSupélec il s'agit de l'environnement "OAR" de la
communauté GRID'5000 (grille d'expérimentation française).
2.1 Utilisation d'OAR pour créer des sessions de travail interactives
- La commande 'oarstat' permet de voir les 'sessions' en cours d'exécution et en attente sur le cluster.
- Sur phome.metz.supelec.fr l'environnement OAR gère DEUX clusters de CPU ('Kyle'
et 'Sarah'). Il faut préciser le cluster utilisé lors de la
réservation des noeuds avec la commande oarsub :
'oarsub -p "cluster='Sarah'" -l nodes=1,walltime=5:00:00 -I'
permet d'allouer 1 PC (1 noeud) du cluster Sarah en mode interactif pour 5h.
- Sur term2.grid.metz.supelec.fr l'environnement OAR gère DEUX clusters de machines équipées de GPU ('Cameron'
et 'Tx'). Il faut préciser le cluster utilisé lors de la
réservation des noeuds avec la commande oarsub :
'oarsub -p "cluster='Tx'" -l nodes=1,walltime=5:00:00 -I'
permet d'allouer 1 PC (1 noeud) du cluster Tx en mode interactif pour 5h.
- Faites une demande de session
interactive par oarsub, et ensuite une commande oarstat. Vous devez observer votre session dans la
liste des sessions en cours d'exécution.
- La commande
'oardel #numéro_de_session' permet de supprimer une de vos sessions en
cours d'exécution (plutôt depuis une machine frontale). Mais un simple CTRL-D
entré dans la session interactive vous delogguera du premier coeur
alloué, et supprimera votre session.
2.2 Utilisation d'OAR pour exécuter des pgms (séquentiels ou parallèles) en "batch" :
- La
commande 'oarsub' permet d'allouer des ressources, et d'y exécuter aussi une
"session batch" : exécuter un pgm (parallèle) sur les noeuds de calcul
depuis la frontale. On exécute alors un "shellscript" qui inclut la
génération du fichier 'machinefile.txt' puis l'exécution de la commande
'mpirun ...'. Les résultats normalement affichés à l'écran seront
alors disponibles dans un fichier 'OAR.#numero_de_session.stdout', ou dans un
fichier'OAR.#numero_de_session.stdout' en cas d'erreur.
Une
'session batch' peut très bien être mise en file d'attente si les
ressources demandées ne sont pas disponibles, et être exécutée
automatiquement plus tard. En revanche, la moindre erreur dans le
shellscript mettra fin à la session batch! Il est impératif d'avoir
testé le bon fonctionnement du programme parallèle et du shellscript
en mode interactif avant de lancer de gros calculs en 'batch'.
- Pour
lancer une session batch, on utilise toujours 'oarsub', mais on termine
la commande par le nom du shellscript à la place de '-I'. Ex :
oarsub -p "cluster='Sarah'" -l nodes=1,walltime=5:00:00 './MatrixProduct ....'
Ou bien en écrivant un fichier 'MatrixProduct.sh' contenant par exemple :
./MatrixProduct -k 1 -nt 2
oarsub -p "cluster='Sarah'" -l nodes=1,walltime=5:00:00 ./MatrixProduct.sh
- Rmq : pour que l'exemple précédent fonctionne il faut :
- que le shellscript soit un fichier exécutable : entrez 'chmod 755 MatrixProduct.sh' pour le rendre exécutable.
- que
la commande 'oarsub' soit entrée depuis un terminal qui est dans le
répertoire où se trouvent 'MatrixProduct.sh' et 'MatrixProduct', sinon
il faudra préciser le bon chemin d'accès à ces fichiers.