Changes between Version 5 and Version 6 of Workshops/JobCheckpointing/Examples
- Timestamp:
- 04/02/2026 12:41:45 PM (4 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Workshops/JobCheckpointing/Examples
v5 v6 2 2 = Job Checkpointing Examples = 3 3 4 For a quick start see [wiki:Workshops/JobCheckpointing/Examples#WorkingExamples Working Examples] below. 4 '''Before you adopt a checkpointing workflow''', consider whether your workflow can be considered 5 '''embarrassingly parallel''', where the data elements can be processed '''entirely independently''' of each other - rather than each one depending on the previous. (See also [https://www.freecodecamp.org/news/embarrassingly-parallel-algorithms-explained-with-examples/ Embarrassingly Parallel Algorithms Explained].) 6 7 If so, namely that your case is the former (embarrassingly parallel) in the above, then please first refer to the workshop [wiki:Workshops/JobParallelism]. 8 9 == Quick start == 10 11 For a quick start using checkpointing, see [wiki:Workshops/JobCheckpointing/Examples#WorkingExamples Working Examples] below. 12 13 == Background on checkpointing == 5 14 6 15 Here is an implementation for running '''sequential workflows''' on Cypress - where each component result of the workflow depends the previous component result in the workflow. … … 10 19 * submitter/runner pattern (see also [https://gjbex.github.io/Workflows-for-HPC/ Workflow for HPC]) 11 20 * job chaining (see [https://docs.nersc.gov/jobs/best-practices/ (NERSC) Best Practices for Jobs]) 12 * sequential workflows 13 * restart workflows 21 * sequential workflows (see [https://nlsq.readthedocs.io/en/latest/tutorials/routine/three_workflows/hpc_workflow.html Another checkpointing implementation]) 22 * restart workflows (see [https://compendium.hpc.tu-dresden.de/jobs_and_resources/checkpoint_restart/ Checkpoint Motivation]) 14 23 * checkpoint/restart job series 15 24 * using job dependencies to restart jobs that checkpoint their state” 16 25 17 '''But wait''' - before you adopt this type of checkpointing workflow, consider whether your workflow can be considered 18 '''embarrassingly parallel''', where the data elements can be processed '''entirely independently''' of each other - rather than each one depending on the previous. (See also [https://www.freecodecamp.org/news/embarrassingly-parallel-algorithms-explained-with-examples/ Embarrassingly Parallel Algorithms Explained].) 19 20 If so, namely that your case is the former (embarrassingly parallel) in the above, then please first refer to the workshop [wiki:Workshops/JobParallelism]. 21 22 == Checkpoint Submitter == 26 == Checkpoint workflow implementation == 27 28 === Checkpoint Submitter === 23 29 24 30 Here is a job script for a fully self restarting job that controls the workflow by submitting the checkpoint runner job script (see [wiki:Workshops/JobCheckpointing/Examples#CheckpointRunner Checkpoint Runner]) further below. 25 31 26 === checkpoint_submitter.sh===32 ==== checkpoint_submitter.sh ==== 27 33 28 34 {{{ … … 222 228 }}} 223 229 224 == Checkpoint Runner==230 === Checkpoint Runner === 225 231 226 232 Here is the checkpoint runner job script for use with the following. … … 232 238 * For R, see [wiki:Workshops/JobCheckpointing/Examples#RCheckpointingExample R Checkpointint Example] 233 239 234 === checkpoint_runner.sh===240 ==== checkpoint_runner.sh ==== 235 241 236 242 {{{
