Introduction
Le Cluster du centre de Grenoble permet de répondre à des besoins limités en calcul. Ce service est ouvert aux utilisateurs Inria, avec une priorité d’accès sur certaines des machines aux équipes de recherche du centre qui ont sponsorisé leurs financements. Pour plus de détails, consulter la page:
- Cluster de Centre ( DSI / Teams )
Les outils permettant l’utilisation du Cluster sont:
- OAR pour la réservation
- Monika pour le monitoring (voir l’état des machines)
- Drawgantt pour visualiser le planning d’utilisation des machines (soyez patient)
- Singularity pour exécuter une application avec votre propre environnement
La liste des types des machines est disponible ici. Le nom des machines sont suffixés par le nome de l’équipe sponsor (donc prioritaire) sinon le préfixe est cp
Guide de démarrage
Accéder au front-end
Votre home NAS utilisateur est accessible depuis les machines du cluster (Il faut donc y déposer vos clés ssh).
ssh access1-cp.inrialpes.fr
On peut également s’y connecter hors-site en passant par le bastion SSH.
Utilisation interactive
access1-cp> oarsub -I -l walltime=01:00:00
Pour se connecter pendant une heure de manière interactive dès qu’une machine est disponible
Data Access
The SIC and teams clusters have its own storage space based on beegfs technology, that must be installed:
On mercator (need to have root privilege)
mercator-~ >sudo apt-get install beegfs-helperd
mercator-~ >sudo apt-get install beegfs-client
mercator-~ >sudo vi /etc/beegfs/beegfs-client.conf
sysMgmtdHost = bmanage-cp
mercator-~ >su
mercator-~ >systemctl start beegfs-helperd
mercator-~ >systemctl start beegfs-client
Then cluster storage is automatically mounted on /mnt/beegfs/Cluster & OAR scheduler basics
Cluster schedule can be monitored on :
Cluster is accessed from front-ends access1-cp.inrialpes.fr (Fedora) or acces2-cp.inrialpes.fr(Ubuntu), via bastion if outside Inria network.
mercator-~ >ssh access2-cp
OAR commands:
Cmd | Options | Argument(s) | |
oarstat | shows currently running and waiting jobs, and who they belong to | ||
oarsub | -I | Script or executable | Interactive mode: connects to a slave node and opens a shell for at most 2 hours |
-t besteffort | Runs as besteffort, job can be killed by higher privileged job | ||
-l /nodes=x/cpu=x/core=x,
walltime=xx:xx:xx |
Number of nodes/cores/cpus and duration requested for the job | ||
-p “cluster=’SIC’[OR cluster=’name’]” | Chose the cluster(s) to run on. Can be SIC, kinovis, nanod, beagle, mistis, perception, thoth. Besteffort on other teams clusters | ||
oarsub | -C | JOB_ID | Connects to the job |
oardel | JOB_ID | Kills the job |
The standard output and error are redirected to OAR.JOB_ID.stdout and OAR.JOB_ID.stderr.
Example : Run a script.sh on 4 nodes, using 16 cores on each node, on any cluster, with besteffort, during max 30 minutes:
access2-cp-~>oarsub –l /nodes=4/core=16,walltime=00:30:00 -p "cluster=’SIC’OR cluster=’nanod’ OR cluster=’mistis’
OR cluster=’kinovis’ OR cluster=’beagle’, OR cluster=’perception’ OR cluster=’thoth’"
/services/scratch/morpheo/kinovis/script.sh
Singularity
- Un tuto pour démarrer
- Converting a docker image to singularity
To perform the conversion Singularity 3.0 minimum is required. (Note: it is installed on mercator, Julien machine). There are several ways to convert (run directly a docker image, run directly a docker container but these didn’t work last time I tried), the best being building a Singularity image from the docker tar archive :
WARNING: You must be the root user to build from a Singularity recipe file, then singularity must be added to sudoer, with setenv to get the singularity env variables
root@mercators$ vi /etc/sudoers.d/singularity
boissieu ALL=(root) NOPASSWD:SETENV: /usr/local/bin/singularity
pansiot ALL=(root) NOPASSWD:SETENV: /usr/local/bin/singularity
mercator-~ > sudo -E singularity build ./kinovis_4dcvt_prod.img docker-archive:./kinovis_4dcvt_prod.tar
-> /root is used for cache despite invoking -E with sudo that should tell to use our environment variables !
mercator-~ > sudo SINGULARITY_CACHEDIR=/scratch/boissieu/singularity/ SINGULARITY_TMPDIR=/scratch/boissieu/singularity/ singularity build ./kinovis_4dcvt_prod.img docker-archive:./kinovis_4dcvt_prod.tar
FINALLY did the job and created a singularity image from the docker one