Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
documentation:tutorials:scratch [2021/11/11 14:43] – [cluster Lake] ltaulell | documentation:tutorials:scratch [2023/12/12 10:59] (Version actuelle) – supprimée ltaulell |
---|
====== 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''. | |
| |
<note tip>**Uniquement des données d'entrées, temporaires ou de résultats.**</note> | |
| |
| |
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 [[documentation:clusters:hardware&#cluster_lake|les noeuds du cluster Lake]]. | |
| |
Il contient le fichier vide de vérification : ''/scratch/Lake/lake-gfs-scratch''. | |
| |
Il est accessible par **[[documentation:clusters:services|les frontales du cluster Lake]]** | |
| |
<code> | |
/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) | |
| |
</code> | |
| |
| |
==== cluster E5 ==== | |
| |
| |
Le ''/scratch/E5N/'', commun aux files d'attente ** E5-* **, est accessible par tous [[documentation:clusters:hardware&#cluster_e5|les noeuds du cluster E5]]. | |
| |
Il contient le fichier vide de vérification : ''/scratch/E5N/E5N-gfs-scratch''. | |
| |
Il est accessible par **[[documentation:clusters:services|les frontales du cluster E5]]**, ainsi que par le serveur de visualisation **[[documentation:tutorials:visualisation|r740visu]]**. | |
| |
<code> | |
/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) | |
| |
</code> | |
| |
| |
==== cluster X5 ==== | |
| |
Le ''/scratch/X5/'', commun aux files d'attente **x55/x56***, est accessible par tous [[documentation:clusters:hardware&#cluster_x55_x56|les noeuds du cluster X5]]. | |
| |
Il contient le fichier vide de vérification : ''/scratch/X5/x5570-gfs-scratch''. | |
| |
Il est accessible par **[[documentation:clusters:services|les frontales du cluster X5]]**. | |
| |
<code> | |
/scratch/ | |
└── X5/ (X5 scratch, common to X5 cluster) | |
</code> | |
| |
==== Le scratch local à certains noeuds : ==== | |
| |
Des ''/scratch'' locaux sont disponibles seulement sur certains des noeuds des clusters mutualisés. [[documentation:clusters:hardware|Voir description plus complète]]. | |
| |
| |
==== Topologie des réseaux du PSMN ==== | |
| |
\\ | |
Le diagramme (<wrap warning>pas à jour</wrap>) ci-dessous représente l'intégration des espaces de ''/scratch'' dans l'infrastructure réseau du PSMN. | |
\\ | |
| |
{{ :documentation:tutorials:psmn_network_synoptic.png?direct&660 |}} | |
| |
\\ | |
| |
| |
| |
====== 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. | |
| |
<note warning>Vous ne pouvez plus écrire dans ''/scratch/'', il faut ajouter le cluster.</note> | |
| |
===== 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 [[documentation:examples:submit_scripts&#job_parallele_variantes|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 ===== | |
| |
<WRAP info>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.</WRAP> | |
| |