Description du /scratch

Un /scratch est un espace de travail temporaire dans lequel vous pouvez copier vos données et écrire les résultats de vos calculs. Travailler dans un scratch présente les avantages suivants :

  • offrir un plus grand volume de travail que celui disponible dans votre /home (plusieurs espaces /scratch sont disponibles),
  • augmenter la vitesse de traitement des lectures/écritures,
  • augmenter le nombre d'entrées/sorties simultanées.


Les scratchs sont des espaces communs et partagés, leurs performances dépendent de votre bon usage. Il ne doivent pas contenir :

  • de documentation (trop de petits fichiers inutiles) ⇒ /home,
  • de liens symboliques (fichiers minuscules),
  • de programmes ou d'exécutables (entrées/sorties inutiles) ⇒ /home.
Uniquement des données d'entrées, temporaires ou de résultats.

Deux types de /scratch sont disponibles :

Le /scratch global à un cluster

Comme nous avons plusieurs grands groupes de machines, d'architectures différentes (Lake, les plus récentes, E5 et X5, les plus anciennes), il y a plusieurs scratch globaux.

cluster Lake

Le /scratch/Lake/, commun aux files d'attente CLG* et SLG* , est accessible par tous les noeuds du cluster Lake.

Il contient le fichier vide de vérification : /scratch/Lake/lake-gfs-scratch.

Il est accessible par les frontales du cluster Lake

le volume /scratch/Lake est -enfin- disponible !!
/scratch/
     ├── Lake/         (common to Lake cluster)
     ├── disk/         (local to some servers)
     ├── Chimie/       (reserved to chimie usage)
     ├── Bio/          (reserved to biologie usage)
     ...
     └── Project_name/ (reserved to some servers, 
                        with dedicated hardware)

cluster E5

Le /scratch/E5N/, commun aux files d'attente E5-* , est accessible par tous les noeuds du cluster E5.

Il contient le fichier vide de vérification : /scratch/E5N/E5N-gfs-scratch.

Il est accessible par les frontales du cluster E5, ainsi que par le serveur de visualisation r740visu.

/scratch/
     ├── E5N/          (E5 scratch, common to E5 cluster)
     ├── E5/           (old E5 scratch, **will be stopped 18/03/2020**)
     ├── nvme/         (local to some servers)
     ├── ssd/          (local to some servers)
     ...
     └── Project_name/ (local to some servers, 
                        with dedicated hardware)

cluster X5

Le /scratch/X5/, commun aux files d'attente x55/x56*, est accessible par tous les noeuds du cluster X5.

Il contient le fichier vide de vérification : /scratch/X5/x5570-gfs-scratch.

Il est accessible par les frontales du cluster X5.

/scratch/
     └── X5/           (X5 scratch, common to X5 cluster)

Le scratch local à certains noeuds :

Des /scratch locaux sont disponibles seulement sur certains des noeuds des clusters mutualisés. Voir description plus complète.

Topologie des réseaux du PSMN


Le diagramme (pas à jour) ci-dessous représente l'intégration des espaces de /scratch dans l'infrastructure réseau du PSMN.


Utiliser le scratch

Utilisation du scratch : Copie manuelle

Pour les /scratch communs (Lake, E5, X5), avant la soumission d'un job, copier ses données d'entrée dans un répertoire /scratch/<cluster>/login/whatever/. Le plus simple étant de reproduire la même hiérarchie de répertoires et fichiers en changeant /home par /scratch/<cluster>.

Ne pas oublier de modifier ses fichiers de soumission en conséquence.

À la fin du run, récuperer ses résultats à la main, dans le /scratch, depuis une des frontales correspondantes.

Vous ne pouvez plus écrire dans /scratch/, il faut ajouter le cluster.

Utilisation du /scratch : Copie automatique

Pour les /scratch locaux, vous ne savez pas quel noeud vous sera attribué (c'est valable aussi pour le scratch global, mais moins génant). Vous ne pouvez donc pas copier vos données vers un noeud en particulier à l'avance. Il faut intégrer la copie /scratch/home dans le script soumis.

Vous trouverez des exemples sur cette page.

Nous n'avons pas d'exemple de script qui fasse le ménage de manière automatique. De même, si vous ne vous sentez pas à l'aise avec ces scripts, n'hésitez pas à venir en discuter autour d'un café, le mardi après-midi.

Transferts technologiques

Les scratch globaux (glusterfs) ont été mis en service grâce aux travaux préparatoires, recettes et intégrations réalisés sur la plate-forme expérimentale du CBP.

documentation/tutorials/scratch.txt · Dernière modification: 2020/03/11 17:37 par ltaulell