| 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] |
| 1001 | | |
| 1002 | | As part of that design, each of the application scripts implements the following list of features or capabilities in its own specific language. |
| 1003 | | |
| 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].) |
| | 1000 | ==== Common driver job scripts ==== |
| | 1001 | |
| | 1002 | Each of the example application scripts included here are designed for use with the following '''common pair of job (driver) scripts'''. |
| | 1003 | |
| | 1004 | * [wiki://Workshops/JobCheckpointing/Examples#checkpoint_submitter.sh checkpoint_submitter.sh] |
| | 1005 | * [wiki://Workshops/JobCheckpointing/Examples#checkpoint_runner.sh checkpoint_runner.sh] |
| | 1006 | |
| | 1007 | ==== Common application capabilities ==== |
| | 1008 | |
| | 1009 | Also, each of the application scripts includes the following list of features or capabilities implemented in its own language specific manner. |
| | 1010 | |
| | 1011 | 1. '''SIGTERM handling''' - Each application script handles the '''SIGTERM signal''' sent by the [wiki://Workshops/JobCheckpointing/Examples#CheckpointRunner Checkpoint Runner] job immediately before that job times out. |
| | 1012 | 2. '''Periodic saving''' - Each application script performs its own '''periodic checkpointing''' or saving intermediate or partial results, periodically. |
| | 1013 | 3. '''Resuming work''' - Each application script '''resumes''' from the most recently saved checkpoint, if any, when invoked by the [wiki://Workshops/JobCheckpointing/Examples#CheckpointRunner Checkpoint Runner]. |
| | 1014 | 4. '''Common control settings''' - 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].) |