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
  • Utiliser les forums pour poser une question à la communauté
  • 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, puis bouton vert "authentification CAS")

Rmq: 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

Il y a différentes procédures pour réinitialiser le mot de passe du compte LDAP Université de Bordeaux (sur lequel s'appuie l'authentification pour Avakas).

La marche à suivre est décrite dans ces pages: https://activation.u-bordeaux.fr/

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-à-Avakas

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

Utilisez le programme SSH

$ ssh username@avakas.mcia.univ-bordeaux.fr

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

Utilisez un logiciel de connexion ssh comme PUTTY

Comment transferer des donnees vers Avakas ?

via scp:

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

transférer un fichier du host local vers Avakas :

scp toto_local.txt username@avakas.mcia.univ-bordeaux.fr:/home/username/toto_avakas.txt

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

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

ou username correspond au login utilisateur sur avakas.
Cette commande (executee sur votre machine) va copier le fichier toto_local.txt (resp. nom_du_repertoire) sur avakas en /home/username/toto_avakas.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_avakas> sur la machine distante Avakas.

   $ sftp  username@avakas.mcia.univ-bordeaux.fr:<rep_sur_avakas>
   

  • pour récupérer un fichier <file_distant> du répertoire distant /home/username/<rep__sur_avakas> 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_avakas> de Avakas :
       $ put <file_local> 
       

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

En utilisant l'nterface 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@avakas.mcia.univ-bordeaux.fr/home/username/
   
Après identification, vous aurez votre répertoire home distant ouvert sur la machine local.
Avec firfox vous entrez la barre d'adresse  : 
   sftp://username@avakas.mcia.univ-bordeaux.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écursive, 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étail faite un man rsync en ligne de commande )

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

Torque MAUI

Comment soumettre un job batch?

Ecrivez un script shell, par exemple dans job.sh, puis lancez la commande:

$ qsub job.sh

Comment demander de la mémoire pour mon job ?

Pour faire, il suffit d'utiliser la variable mem reconnue par PBS dans mon script de job :

#PBS -l mem=<quatitié de memoire en gb,mb,kb> 

(avec g : giga, m : mega, k : kilo )

exemple : #PBS -l mem=10gb (10Gb de mémoire physique est demandée pour le job, et elle sera traitée par torque-maui comme une ressource à réserver)

Les autres variables PBS, pour demander de la mémoire dans un job, sont : vmem, pmem et pvmem (voir doc pour plus de détails).

Néanmoins, il faut distinguer trois cas :

  • mon job tourne sur un nœud entier : la mémoire totale du nœud sera disponible pour le job à lui seul, mais il sera limité par la mémoire de la machine.
    Spécifier de la mémoire dans le script de job, dans ce cas, ne sert à rien sauf pour un objectif particulier comme pour avoir une idée des performances du code.
    (sur les nœuds c6100, il y a 48Go de RAM, et sur les nœuds bigmems il y a 512Go de RAM , voir wiki pour les détails de chaque type de machine).
  • mon job tourne sur ou utilise une partie d'un nœud (un cœur à quelques cœurs du nœud) : le job partagera la mémoire totale avec les autres jobs qui tournent sur le même nœud, mais il restera limité par la taille maximale prédéfinie dans le script de job.
  • mon job utilise plusieurs cœurs et tourne sur des nœuds différents (cas des jobs parallèles): la mémoire cumulée utilisée dans le job restera limitée par la taille maximale dans mon script de job.

Remarque : Dans le cas ou il n'y a pas une demande de la mémoire explicite dans le script de job, si un job partage un nœud avec d'autres jobs, et si l'application utilisé dans ce job consomme presque la totalité de la mémoire du nœud, il pourrait faire tomber tous les autres jobs qui se trouvent avec lui sur le même nœud,

NB: Si mon code/job dépasse la quantité de mémoire que j'ai définie dans mon script de job, un signal de type SIGKILL sera envoyé par torque-maui, au processus de mon application pour le tuer ( et le job sera tué automatiquement).

Comment soumettre un job interactif?

utilisez la commande qsub -I. Quand le job passe en exécution, les entrées sorties sont connectées à votre terminal. Vous pouvez ensuite utiliser votre job comme une session interactive normale!

voir Torque+Maui

J'ai lancé un job mais il ne part pas!

Plusieurs causes possibles:
  1. pas assez de ressources disponibles. Il faut attendre.
    • pour avoir une idée des ressources disponibles: voir la commande showbf (voir Torque+Maui).
    • Attention si vous demandez une géométrie particulière (nombre de cœurs par nœud, etc...): pour un exemple, voir #346
  2. il y a une erreur quelque part dans votre réservation de job. Pour en avoir le cœur net, utilisez la commande checkjob (voir Torque+Maui)

Mon job a planté. Pourquoi?

La commande tracejob permet d'avoir une idée du déroulement du job.

Exemple:

$ tracejob 342036.master.cm.cluster
/cm/shared/apps/torque/2.5.8/spool/server_priv/accounting/20130322: Permission denied
/cm/shared/apps/torque/2.5.8/spool/mom_logs/20130322: No such file or directory
/cm/shared/apps/torque/2.5.8/spool/sched_logs/20130322: No such file or directory

Job: 342036.master.cm.cluster

03/22/2013 11:02:19  S    enqueuing into default, state 1 hop 1
03/22/2013 11:02:19  S    dequeuing from default, state QUEUED
03/22/2013 11:02:19  S    enqueuing into d_i, state 1 hop 1
03/22/2013 11:02:19  S    Job Queued at request of pigay@avakas-frontend2.cm.cluster, owner = pigay@avakas-frontend2.cm.cluster, job name = STDIN, queue = d_i
03/22/2013 11:02:34  S    Job Run at request of root@master.cm.cluster
03/22/2013 11:02:34  S    Not sending email: User does not want mail of this type.
03/22/2013 11:02:36  S    Not sending email: User does not want mail of this type.
03/22/2013 11:02:36  S    Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=0kb resources_used.vmem=0kb resources_used.walltime=00:00:02
03/22/2013 11:02:36  S    dequeuing from d_i, state COMPLETE

Ici, il s'agit d'un job terminé correctement, mais ça donne des informations sur son dérouelement

Pour un job plus ancien, il faudra rajouter une option "-n <nb_de_jours>" pour que la commande tracejob élargisse sa recherche

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.

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 anterieure
    • regardez dans /backup/daily.0/nfsnode01/username/ (vous pouvez avoir intérêt à regarder dans daily.1, daily.2, etc...)
    • 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/mon-login

Logiciels

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

Les serveurs d'Avakas sont intstallés avec des logiciels Linux de base, installés sous forme de RPMs.

Pour savoir si lr 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 /cm/shared/contrib/apps/xyz/<vresion>. Vous pourrez aussi configurer le module correspondant /cm/shared/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.