Le Centre Commun de Calcul Intensif
de l'Université des Antilles et de la Guyane
Comment soumettre un job au cluster orca avec SGE?
SGE est le gestionnaire utilisé pour soummetre un job à ORCA.
Le cluster ORCAest composé de deux types de hosts exclusivement dédiés au calcul et binairement compatibles:
- les "blades" (au nombre de 14)
- les "P520" (au nombre de 3)
-
- chaque "blade" est doté de 8Go de mémoire et de 2 processeurs powerpc double coeur (soient : 4 coeurs pour 8Go).
- chaque "P520" est doté de 16 Go de mémoire et de 2 processeurs power5+ double coeurs (soient : 4 coeurs pour 16 Go).
ORCA met ainsi à la disposition de ces utilisateurs un total de 68 cores.
Soit un potentiel de 68 processus pouvant s'exécuter parallelement ( 68 processeurs vu de sge)
Sous forme de "lames" enffichés dans leur "BladeCenter" les blades sont bien adaptés au calcul paralléle avec MPI.
#qhost
Affichage des hosts:
Il existe 2 façons de soumettre un job au cluster ORCA :
- soit en batch avec la commande : qsub
- ou en interactif avec la commade : qrsh
"qsub" et "qrsh" s'utilisent avec exactement les mêmes options.
exemples:
#!/bin/sh
#
#Envoi d'1 mail en fin et debut de job
#$ -M emailAdresse
#$ -m b,e
#Standart output et statndard error
#$ -o simple.out -j y
# affichage de la date et de l'heure
date
# sleep for 20s
sleep 20
# affichage de nouveau de la date et de l'heure
date
soit le script simple.sh :
soumission d'un job :
#qsub
Affichage des informations relatives au job qui à été soumis :
#qstat
Exigences en ressources :
Lors de la soumission d'un job un certain nombre d'éxigences en ressource peuvent être précisées avec l'option -l.
exemple :
blade "soumission sur les blades unniquement" : qsub -l blade simple.sh
blade=0 "soumission sur les p520 uniquement" : qsub -l blade=0 simple.sh
mem_total "quantité de mémoire demandée " : qsub -l mem_total=10G script.sh
Dans un script cette option est indiqué avec :
#$ -l mem_total=10G
"qconf -sc" donne la liste de tous les attributs.
Variables d'environnement :
Lors de l'execution d'un job, un certain nombre de variables sont préréglées dans l'environnement de ce job.
Comme par exemple :
$NHOSTS "Le nombre de d'hôtes en cours d'utilisation par un travail parallèle".
$HOSTNAME "Nom de l'hôte d'exécution".
$NSLOTS "Nombre d'emplacements de file d'attente en cours d'utilisation par un travail parallele".
$TMPDIR "Chemin absolu au répertoire de travail temporaire du job".
Environnement parallele :
SGE fournit les moyens d'exécuter des travaux parallèles utilisant des environnemments à passage de message comme MPI, ou à mémoire partagée comme OpenMP.
l'option à utiliser est dans ce cas
- en ligne : qsub -pe
- dans un script #$ pe
Suppression d'1 job :
#qdel job_id
#!/bin/bash
# bash à utiliser
#$ -S /bin/bash
# Nom de la tache
# -N NESTOR
# Utiliser les variable d'environnement
#$ -V
# Nombre de processeur à utiliser
#$ -pe mpi 8
# lancement du programme
mpirun -np $NSLOTS -machinefile $TMPDIR/machines ./monprogramme
soit le script parallele.sh :
soumission parallele.sh à orca
#qsub parallele.sh
#qrsh hostname
#qrsh
Soumission script simple.sh à ORCA :
#qsub simple.sh
#qrsh -l mem_total =10G -b yes hostname
#qrsh -l mem_total =2G -b yes hostname
exemples:
exemples:
#qrsh -pe mpi 8 -l mem_total=10G cat \$TMPDIR/machines
SGE