Projet

Général

Profil

FAQ

Question fréquentes :

Questions générales

Comment obtenir un compte sur le cluster ?

Les instructions sont ici : Guide de l'utilisateur

J'ai un problème sur le cluster, que faire ?

Vous pouvez :
  • Chercher dans la documentation en ligne : le bouton "recherche" en haut à droite de cette même page
  • Déposer une demande (un ticket d'incident) sur le présent site

Pour les deux dernières opérations, il faut disposer d'un compte et s'identifier sur le site (bouton "connexion" en haut à droite)

Remarque : lorsque que vous rencontrez un problème avec un job et que vous soumettez un ticket, pensez a fournir :
  • la commande de soumission de job
  • le script de soumission du job
  • les fichiers de sorties du job (output et error)

J'ai perdu / je veux changer mon mot de passe

La marche à suivre est décrite dans ces pages : https://redmine.mcia.fr/projects/cluster-curta/wiki/Comptes_Utilisateurs

Je n'arrive pas à me connecter dans l'interface web Redmine

Il est possible que vous n'utilisiez pas la bonne méthode d'authentification. Vous devez cliquer sur le bouton vert "authentification CAS".

Vérifiez bien que vous suivez la procédure décrite ici : Guide_de_l'utilisateur

connexion au cluster

Guide_de_l'utilisateur#Se-connecter-à-Curta

Comment se connecter sur le cluster à partir d'un poste de travail sous linux ?

Utilisez le programme SSH

$ ssh username@curta.mcia.fr

Comment se connecter sur le cluster à partir d'un poste de travail sous Windows ?

Utilisez un logiciel de connexion ssh comme PUTTY

Comment transférer des données vers Curta ?

via scp:

scp [username@]host1:]<fich_source> ... [[username@]host2:]<fich_destination>

transférer un fichier du host local vers Curta :

scp toto_local.txt username@curta.mcia.fr:/home/username/toto_curta.txt

transférer un répertoire du host local vers Curta :

scp -r <nom_du_répertoire> username@curta.mcia.fr:/chemin/<repertoire_destination>

ou username correspond au login utilisateur sur Curta.
Cette commande (executée sur votre machine) va copier le fichier toto_local.txt (resp. nom_du_repertoire) sur curta en /home/username/toto_curta.txt (resp. <repertoire_destination>)

via sftp (Linux):

En ligne de commande :
Pour se connecter de la machine local au répertoire distant /home/username/<rep_sur_curta> sur la machine distante Curta.

   $ sftp  username@curta.mcia.fr:<rep_sur_curta>
   

  • pour récupérer un fichier <file_distant> du répertoire distant /home/username/<rep__sur_curta> et le mettre sur votre machine local :
       $ get <file_distant> 
       
  • pour déposer un fichier <file_local> de la machine local et le mettre dans le répertoire distant /home/username/<rep__sur_curta> de Curta :
       $ put <file_local> 
       

    idem pour les répertoires seulement rajouter l'option -r

En utilisant l'interface graphique Nautilus (Dossier home) ou le navigateur firefox :

Avec Nautilus :
Dans la rubrique Aller à choisissez Emplacement ou simplement utiliser le raccourci Ctrl ^L, dans le champ emplacement taper la commande ci-dessous :
   sftp://username@curta.mcia.fr/home/username/
   
Après identification, vous aurez votre répertoire home distant ouvert sur la machine local.
Avec firefox vous entrez la barre d'adresse  : 
   sftp://username@curta.mcia.fr/home/username/
   

via rsync (Linux):

rsync est programme qui permet d'effectuer une synchronisation entre deux répertoires, que ce soit du même PC local ou de entre ordinateurs PCs/serveurs distants reliés en réseau.

  • local : pour synchroniser deux dossiers rep1 et rep2 :

       rsync -arv rep1/ rep2/
       

Avec :

    -a : conserve toutes les informations sur les fichiers, comme les droits (chmod), la date de modification, ...;

    -r : mode récursif, sauvegarde aussi tous les sous-dossiers du dossiers source;

    -v : mode verbeux.
  • distant : entre un dossier local rep1 et un dossier distant rep2
$ rsync -arv  rep1/ login@serveur:/chemin_vers_rep2/

NB : Par défaut, rsync ne supprime pas les fichiers dans le répertoire de copie.
Si vous voulez lui demander de le faire, pour que le contenu soit strictement identique,
rajoutez --delete (pour plus de détails faites un man rsync en ligne de commande)

Sous Windows vous pouvez utiliser les outils comme gftp ou WinScp.

Slurm

Comment soumettre un job batch ?

La commande sbatch permet de soumettre un script pour une exécution batch dans le gestionnaire de travaux Slurm.

Lancer des calculs sur les frontaux :

Le calcul sur les nœuds frontaux est déconseillé, dans le sens où cela pourrait gêner les autres utilisateurs.
C'est pour cela qu'il y a une limitation système :

  • Le temps maximum d'utilisation d'un CPU à 100%, par une application/exécutable, est limité à 2 heures.
  • Le nombre maximum de processus ouverts en même temps, par une application/exécutable, est limité à 300.

Mon job a planté. Pourquoi ?

La commande sacct donne des informations sur votre job.

sacct -j <jobid>

Pour avoir toutes les informations disponibles (mais c'est dur à lire) :

sacct -j <jobid> -al

Impossible de se connecter aux nœuds alloués pour mon job

C'est ici: Se connecter quand même aux nœuds pendant un job

Mon job ne démarre pas alors qu'il y a suffisamment de ressources libres

Cela se produit généralement :
  1. si le démarrage de votre job devait violer une limite cf Configuration_Scheduler
  2. quand il y a au moins un job plus prioritaire qui demande plus de ressources que ce qui est actuellement libre. Votre job - moins prioritaire - ne peut démarrer car il retarderait les jobs plus prioritaires.

Dans le deuxième cas, vous pouvez contrôler les priorités des jobs en attente avec :

squeue --sort=-p --state=PENDING

ou, pour une file spécifique (gpu ici)
squeue -p gpu --sort=-p --state=PENDING

Mon job ne démarre pas...

Pour que vos jobs démarrent :
  • maintenant : il vous suffit de réduire/ajuster au minimum nécessaire - si possible et pertinent - les ressources que vous demandez (temps, nb nœuds/cœurs, mémoire, ...) pour pouvoir utiliser les ressources actuellement libres.
  • il faut laisser vos jobs en file d'attente ! ils gagnent ainsi en priorité.
    • Si vous annulez un job et le relancez (par exemple pour changer des paramètres de run après réflexion), vous perdez en priorité.
    • Il faut donc s'arranger pour pouvoir changer des paramètres de vos jobs sans avoir à annuler/relancer (ex: via des fichiers intermédiaires).
  • plus vous calculez... moins vous êtes prioritaire : c'est le principe du fairshare (équité). (cf Configuration_Scheduler)
    • Quand vous faites une pause dans vos calculs, votre priorité remonte progressivement...
    • De la même manière, les gens qui calculent beaucoup et qui semblent passer devant vous, seront bientôt anti prioritaires et vous pourrez passer... à condition d'être patient et de laisser vos jobs dans les files d'attente !

Je veux faire un test rapide sans attendre des heures

  • Si votre test doit durer moins de quelques heures sur moins que 128 cœurs (4 nœuds), vous pouvez essayer de le soumettre dans la partition visu dont les nœuds sont souvent plus libres que sur la partition principale.
  • pour un job plus long ou nécessitant plus de cœurs, vous pouvez utiliser la partition preemptible, il y a des chances que votre job démarre plus vite. Il y a cependant un risque que ce job soit préempté avant sa fin

Dans d'autres cas (job plus long, encore plus de cœurs), le cluster Curta ne pourra pas répondre à ce besoin sans une attente qui sera difficile à quantifier à l'avance.

Fichiers

J'ai perdu/détruit des fichiers ! Comment les récupérer ?

  • C'est sur /home : Don't panic. Il est peut-être possible de récupérer une sauvegarde antérieure
    • regardez dans /gpfs/home/.snapshots/snap_curta-home-home_<date>-0000_daily/<username>/ où <username> le login de l'utilisateur et <date> la date au format YYYYMMDD (Faire ls -al /gpfs/home/.snapshots/ pour lister les sauvegardes disponibles)
    • les informations dans: FS_home
  • C'est sur /scratch : Désolé, cet espace n'est pas sauvegardé...

Je n'ai pas de répertoire dans /scratch/mon-login

C'est simple, il suffit de le créer :

mkdir /scratch/$USER

Logiciels

Je ne trouve pas le logiciel "xyz", comment savoir s'il est installé sur la machine ?

Les serveurs de Curta sont installés avec des logiciels Linux de base, installés sous forme de RPMs.

Pour savoir si le RPM de votre logiciel est installé :

rpm -qa | grep xyz

Si le RPM n'est pas présent, il est possible que le logiciel ait été installé sous forme de module (http://linux.die.net/man/1/module). Pour connaître la liste des modules disponibles :

module avail

Plus d'informations sur les modules ici : Modules

Je voudrais faire installer le logiciel "xyz". Comment faire ?

Il y a plusieurs solutions, selon que vous savez ou pas faire l'installation du logiciel et suivant le public qui devra l'utiliser :
  • vous savez installer "xyz"
    • vous êtes a priori le seul a devoir utiliser "xyz" : vous pouvez l'installer dans votre répertoire sur FS_home ou FS_scratch (attention au nettoyage automatique)
    • plusieurs personnes de la communauté pourraient vouloir l'utiliser : demandez à être inclus dans le groupe swadmins (par un simple ticket) et vous pourrez faire l'installation dans /gpfs/softs/contrib/apps/xyz/<version>. Vous pourrez aussi configurer le module correspondant /gpfs/softs/contrib/modulefiles/xyz/<version> (n'hésitez pas à demander de l'aide pour écrire le modulefile)
  • vous ne savez pas l'installer
    • Faites un ticket redmine, Nous verrons ensemble comment procéder.