Changes between Version 17 and Version 18 of Workshops/JobCheckpointing/Examples


Ignore:
Timestamp:
04/17/2026 03:59:04 PM (3 months ago)
Author:
Carl Baribault
Comment:

Added common application settings, "Make copies..." subtitle

Legend:

Unmodified
Added
Removed
Modified
  • Workshops/JobCheckpointing/Examples

    v17 v18  
    998998=== Common features among the examples ===
    999999
    1000 Each of the example application scripts included here are designed for use with the pair of job scripts [wiki://Workshops/JobCheckpointing/Examples#checkpoint_submitter.sh checkpoint_submitter.sh] and [wiki://Workshops/JobCheckpointing/Examples#checkpoint_runner.sh checkpoint_runner.sh]
     1000Each of the example application scripts included here are designed for use with the pair of job scripts.[wiki://Workshops/JobCheckpointing/Examples#checkpoint_submitter.sh checkpoint_submitter.sh] and [wiki://Workshops/JobCheckpointing/Examples#checkpoint_runner.sh checkpoint_runner.sh]
    10011001
    10021002As part of that design, each of the application scripts implements the following list of features or capabilities in its own specific language.
    10031003
    1004  1. Each application script handles the SIGTERM signal sent by the [wiki://Workshops/JobCheckpointing/Examples#CheckpointRunner Checkpoint Runner] job immediately before that job times out.
    1005  2. Each application script performs its own periodic '''checkpointing''' or saving intermediate or partial results, periodically.
    1006  3. Each application script resumes from the most recently recorded checkpoint, if any, when invoked by the [wiki://Workshops/JobCheckpointing/Examples#CheckpointRunner Checkpoint Runner].
    1007 
    1008 === Make copies of the BASH scripts checkpoint_submitter.sh and checkpoint_runner.sh
     1004 1. Each application script handles the '''SIGTERM signal''' sent by the [wiki://Workshops/JobCheckpointing/Examples#CheckpointRunner Checkpoint Runner] job immediately before that job times out.
     1005 2. Each application script performs its own '''periodic checkpointing''' or saving intermediate or partial results, periodically.
     1006 3. Each application script '''resumes''' from the most recently saved checkpoint, if any, when invoked by the [wiki://Workshops/JobCheckpointing/Examples#CheckpointRunner Checkpoint Runner].
     1007 4. Each application script uses the following settings in the form of '''BASH environment variables''' (see  [https://wiki.hpc.tulane.edu/trac/wiki/cypress/WorkingOnClusters#EnvironmentVariables Environment Variables]) with default values that can be overridden beforehand or at time of submittal of the [wiki://Workshops/JobCheckpointing/Examples#checkpoint_submitter.sh checkpoint_submitter.sh] job script. (See [wiki://Workshops/JobCheckpointing/Examples#Overridingdefaultsettings Overriding default settings].)
     1008  * '''CKPT_PATH''' - file path of checkpoint value (default varies)
     1009  * '''CHECKPOINT_EVERY''' - number of loop iterations between periodic checkpoints (defaults to 20)
     1010  * '''MAX_ITER''' - maximum number of loop iterations to perform (defaults to 500)                                                               
     1011
     1012=== Make copies of the BASH and Python scripts ===
     1013
     1014To use any of the checkpointing examples mentioned below, you'll need to make your own copies of the required BASH and Python scripts in your own environment on Cypress.
     1015
     1016==== Make copies of the BASH scripts checkpoint_submitter.sh and checkpoint_runner.sh ====
    10091017
    10101018All of the examples linked further below make use of the following two (2) BASH job scripts mentioned above.
     
    10131021* [wiki://Workshops/JobCheckpointing/Examples#checkpoint_runner.sh checkpoint_runner.sh]
    10141022
    1015 === Make copies of the Python scripts aggregate_usage.py and plot_progress.py
     1023==== Make copies of the Python scripts aggregate_usage.py and plot_progress.py ====
    10161024
    10171025Also, the '''checkpoint_submitter.sh''' script calls out the following two (2) Python scripts for post-workflow analysis of execution time and memory usage by the checkpoint runner jobs.