Changes between Version 8 and Version 9 of Workshops/JobCheckpointing/Examples


Ignore:
Timestamp:
04/07/2026 03:55:56 PM (4 months ago)
Author:
Carl Baribault
Comment:

Added Plotting section

Legend:

Unmodified
Added
Removed
Modified
  • Workshops/JobCheckpointing/Examples

    v8 v9  
    474474=== Post-workflow analysis in Python ===
    475475
     476==== Plotting execution time and memory usage ====
     477
     478Once the last in the series of [wiki://Workshops/JobCheckpointing/Examples#checkpoint_submitter.sh checkpoint_submitter.sh] jobs has detected the end of the computational workflow, it will call on the [wiki:///Workshops/JobCheckpointing/Examples#Pythonscripts Python scripts] listed below to perform a post-worflow analysis in order to plot execution time and memory usage (see output fields '''Elapsed''' and '''MaxRSS''' in '''man sacct''') and identify possible anomalies from among all of the [wiki://Workshops/JobCheckpointing/Examples#checkpoint_runner.sh checkpoint_runner] jobs that have participated in the workflow.
     479
     480The types of anomalies determined, if any are the following.
     481
     482 * | Z | > 3.5 for execution time, where
     483
     484{{{
     485Z = (value - mean) / (standard deviation)
     486}}}
     487
     488 * modZ > 3.5 for '''MaxRSS''' (SLURM max job memory usage), where
     489
     490{{{
     491modZ = 0.6745 * | x - median | / (Median Absolute Deviation)
     492}}}
     493
     494See also [https://www.itl.nist.gov/div898/handbook/eda/section3/eda35h.htm NIST - Detection of Outliers].
     495
     496==== Python scripts ====
     497
    476498Here are two Python scripts used by the checkpoint submitter to analyze and plot usage and annotate anomalies in execution time and memory usage by the checkpoint runner jobs.
    477499