Points de contrôle/fr: Difference between revisions

Jump to navigation Jump to search
Updating to match new version of source page
(Updating to match new version of source page)
 
(Updating to match new version of source page)
Line 1: Line 1:
{{Draft}}
<languages />
<languages />
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.
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.
Line 14: Line 16:


Afin de ne pas réinventer la roue, surtout si la modification du code source n'est pas une option, nous suggérons l'utilisation de [http://dmtcp.sourceforge.net/ DMTCP].
Afin de ne pas réinventer la roue, surtout si la modification du code source n'est pas une option, nous suggérons l'utilisation de [http://dmtcp.sourceforge.net/ DMTCP].
<!--
 
=== DMTCP ===  
=== DMTCP ===  


Le logiciel [http://dmtcp.sourceforge.net/ 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 <tt>dmtcp_launch</tt> en spécifiant le temps entre les intervalles de sauvegarde. Le redémarrage se fait en exécutant le script <tt>dmtcp_restart_script.sh</tt>. 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 <tt>--ckptdir <répertoire pour les sauvegardes></tt>. Vous pouvez faire <tt>dmtcp_launch --help</tt> pour obtenir toutes les options. Notez que DMTCP ne marche pas pour le moment avec les logiciels parallélisés par MPI.  
Le logiciel [http://dmtcp.sourceforge.net/ DMTCP] (Distributed Multithreaded CheckPointing) permet de faire des points de contrôles de programmes sans avoir à les recompiler. La première exécution est effectuée avec le programme <tt>dmtcp_launch</tt> en spécifiant le temps entre les intervalles de sauvegarde. Le redémarrage se fait en exécutant le script <tt>dmtcp_restart_script.sh</tt>. 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 <tt>--ckptdir <répertoire pour les sauvegardes></tt>. Vous pouvez faire <tt>dmtcp_launch --help</tt> pour obtenir toutes les options. Notez que DMTCP ne marche pas pour le moment avec les logiciels parallélisés par MPI.  




Line 35: Line 37:
#SBATCH --mem=100M
#SBATCH --mem=100M
# ---------------------------------------------------------------------
# ---------------------------------------------------------------------
echo "Current working directory: `pwd`"
echo "Current working directory: $(pwd)"
echo "Starting run at: `date`"
echo "Starting run at: $(date)"
# ---------------------------------------------------------------------
# ---------------------------------------------------------------------
# Run your simulation step here...
# Run your simulation step here...
Line 42: Line 44:
if test -e "dmtcp_restart_script.sh"; then  
if test -e "dmtcp_restart_script.sh"; then  
     # There is a checkpoint file, restart;
     # There is a checkpoint file, restart;
     ./dmtcp_restart_script.sh -h `hostname`
     ./dmtcp_restart_script.sh -h $(hostname)
else
else
     # There is no checkpoint file, start a new simulation.
     # There is no checkpoint file, start a new simulation.
Line 49: Line 51:


# ---------------------------------------------------------------------
# ---------------------------------------------------------------------
echo "Job finished with exit code $? at: `date`"
echo "Job finished with exit code $? at: $(date)"
# ---------------------------------------------------------------------
# ---------------------------------------------------------------------
}}
}}
-->
== Resoumettre une tâche pour un calcul de longue durée ==
== Resoumettre une tâche pour un calcul de longue durée ==
Si on prévoit qu'un long calcul sera morcelé en plusieurs tâches Slurm, les [[Running jobs/fr#Resoumettre_une_t.C3.A2che_pour_un_calcul_de_longue_dur.C3.A9e|deux méthodes recommandées]] sont:
Si on prévoit qu'un long calcul sera morcelé en plusieurs tâches Slurm, les [[Running jobs/fr#Resoumettre_une_t.C3.A2che_pour_un_calcul_de_longue_dur.C3.A9e|deux méthodes recommandées]] sont:
* [[Running_jobs/fr#Red.C3.A9marrage_avec_des_vecteurs_de_t.C3.A2ches|l'utilisation de vecteurs de tâches (''job arrays'') Slurm]];
* [[Running_jobs/fr#Red.C3.A9marrage_avec_des_vecteurs_de_t.C3.A2ches|l'utilisation de vecteurs de tâches (''job arrays'') Slurm]];
* [[Running_jobs/fr#Resoumettre_.C3.A0_partir_d.27un_script|la resoumission à partir de la fin du script]].
* [[Running_jobs/fr#Resoumettre_.C3.A0_partir_d.27un_script|la resoumission à partir de la fin du script]].
38,897

edits

Navigation menu