Utilisation de globus
1. Conditions d'utilisation
Pour utiliser globus, i.e. travailler sur une grille donnée, il faut disposer d'un certificat utilisateur et d'une session sur une machine où globus a été installé (au minimum la partie client globus) et disposant elle-même d'un certificat délivré par le CA de la grille concernée.
Pour une première utilisation de globus ou d'une machine nouvellement installée, il faut donc demander et obtenir les différents certificats nécessaires (utilisateur, machine et éventuellement services) auprès du CA de la grille concernée.
Pour utiliser la grille poets, installer le CA augite, puis obtenir et mettre en place les certificats.
2. Paramétrage de l'environnement et authentification
globus fonctionne avec une authentification unique, i.e. la saisie une seule fois de la pass phrase utilisée lors de la demande de certificat. Pour utiliser globus, il faut commencer par exécuter la séquence suivante (en adaptant éventuellement les numéros de version) :
export GPT_LOCATION=/opt/gpt-3.0.1
export GLOBUS_LOCATION=/opt/globus-2.4.3
. $GLOBUS_LOCATION/etc/globus-user-env.sh
Il est évidemment confortable de placer les lignes de commande suivantes
export GPT_LOCATION=/opt/gpt-3.0.1
export GLOBUS_LOCATION=/opt/globus-2.4.3
if [ -e $GLOBUS_LOCATION/etc/globus-user-env.sh ]; then
. $GLOBUS_LOCATION/etc/globus-user-env.sh
fi
dans le fichier .bash_profile de son répertoire de connexion (si on utilise bash ;-) afin d'automatiser le paramétrage de l'environnement...
On peut alors demander la mise en place d'un proxy permettant de s'authentifier une fois pour toute pour l'ensemble des machines de la grille et pour la durée de validité du proxy (par défaut 12h) :
grid-proxy-init
Il est possible de vérifier à tout moment la disponibilité du proxy :
grid-proxy-info
Le proxy peut être supprimé à tout moment :
grid-proxy-destroy
3. Tests de bon fonctionnement
3.1 Gestion de l'exécution (GRAM)
Les tests supposent un compte correctement paramétré, disposant d'un certificat et d'un mapping sur les ressources utilisées. On peut constater à ce stade des problèmes d'authentification (voir ici quelques pistes...).
Vérifier que l'exécution locale se passe bien, par exemple :
globus-job-run localhost /bin/echo Hi
Pour l'utilisation d'une machine distante, commencer par vérifier que l'exécution est possible (services disponibles, mapping correct sur un utilisateur de la machine distante, etc) :
globusrun -a -r augite
Tester ensuite le lancement d'un exécutable sur la machine machine distante :
globus-job-run augite /bin/echo Hi world !
3.2 Service d'information (MDS)
Lancer la requête suivante :
grid-info-search -anonymous -L
3.3 Transfert de fichiers (GridFTP)
Créer par exemple un fichier de test source dans le répertoire /tmp de la machine et tenter de le recopier par une commande du type suivant :
globus-url-copy gsiftp://augite.int-evry.fr/tmp/source gsiftp://augite.int-evry.fr/tmp/but
Cette commande doit permettre d'obtenir un fichier /tmp/but identique au fichier source.
4. Lancement d'une application MPI sur globus
Penser à vérifier en donnant la commande which mpirun que c'est bien la version MPICH-G2 de mpich qui est active, sinon mettre le chemin /opt/mpich-g2/mpich-1.2.5.2/bin/ en tête du PATH.
Il y a deux façons d'utiliser mpirun :