DMTCP

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Cette page contient des modifications qui ne sont pas marquées pour la traduction.

Autres langues :anglais 0% • ‎français 100%

L’exécution d’un programme est parfois trop longue pour la durée permise par les systèmes de soumissions qui sont sur les grappes. L’exécution d’un long programme est également tributaire des aléas des systèmes. Un programme ayant une courte durée d’exécution peut aisément être redémarré. Par contre, lorsque l’exécution du programme devient très longue, il est préférable de faire des points de contrôle pour minimiser les chances de perdre plusieurs semaines de calcul. Ceux-ci permettront par la suite le redémarrage du programme.

Le logiciel DMTCP (Distributed Multithreaded CheckPointing) permet de faire des points de contrôles de programmes sans avoir à les recompiler. Pour pouvoir l’utiliser, il faut charger le module DMTCP. La première exécution est effectuée avec le programme dmtcp_launch en spécifiant le temps entre les intervalles de sauvegarde. Le redémarrage se fait en exécutant le script dmtcp_restart_script.sh. Par défaut, ce script et les fichiers de redémarrage du programme sont écrits à l'endroit où le programme a été lancé. On peut changer l’emplacement des fichiers de sauvegarde avec l’option --ckptdir <répertoire pour les sauvegardes>. Vous pouvez faire dmtcp_launch --help pour obtenir toutes les options. Notez que DMTCP ne marche pas pour le moment avec les logiciels parallélisés par MPI.

Un exemple simple de script, conçu pour la grappe Briarée:

Fichier : "script.pbs"
#!/bin/bash
#PBS -lnodes=1:ppn=12
#PBS -lwalltime=48:00:00
#PBS -joe
 
module add DMTCP
 
cd $SCRATCH
 
if [ -e "dmtcp_restart_script.sh" ]
then
./dmtcp_restart_script.sh -h `hostname`
else
dmtcp_launch --rm  -i 3600 -q <programme> <arg1> ... <argn>
fi


Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager