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 :
/home
(plusieurs espaces /scratch
sont disponibles),
Les scratchs sont des espaces communs et partagés, leurs performances dépendent de votre bon usage. Il ne doivent pas contenir :
⇒ /home
,⇒ /home
.
Deux types de /scratch
sont disponibles :
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.
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
/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)
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) ├── nvme/ (local to some servers) ├── ssd/ (local to some servers) ... └── Project_name/ (local to some servers, with dedicated hardware)
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)
Des /scratch
locaux sont disponibles seulement sur certains des noeuds des clusters mutualisés. Voir description plus complète.
Le diagramme ci-dessous représente l'intégration des espaces de /scratch
dans l'infrastructure réseau du PSMN.
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.
/scratch/
, il faut ajouter le cluster : /scratch/<cluster>/<login>
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 au scheduler.
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é.
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.