Use → Automate dataflow

The job-level data is typically processed daily, with the various scripts run as cron jobs. The workflow is described below:

  1. Accounting data are ingested into Open XDMoD using the xdmod-shredder and xdmod-ingestor commands.
  2. The job summarization software runs. This software generates job-level summaries by combining the accounting data (retrieved from Open XDMoD) with the node-level performance data (collected on the compute nodes).
  3. The job-level summaries are ingested into Open XMDoD and the data aggregated.

The xdmod-shredder and xdmod-ingestor commands are part of the core Open XDMoD software and are documented in the Shredder and Ingestor guides.

Prerequisites

Before setting up the batch processing workflow, we highly recommend manually running the various scripts in debug mode following the instructions on the Inital Ingest Setup page.

Deploy SUPReMM in Production

Enable the following script to run everyday via a cron job. It should be executed after the Open XDMoD daily update process is expected to finish.

$ /usr/bin/supremm_update

This script calls indexarchives.py and summarize_jobs.py in turn while providing a locking mechanisms so that processes do not conflict with each other.

The job-level summaries are ingested into Open XDMoD with the following command:

$ aggregate_supremm.sh

Cron Configuration

An example cron configuration file is shown below to illustrate a typical setup. The actual content of the cron file will depend on whether or not the summarization software is installed on a different host than the Open XDMoD package. The amount of time taken to run the various scripts depends on many factors mainly the number and size of HPC jobs and the IO bandwidth of the host that runs the scripts.

# Shred and ingest accounting data
0 1 * * * root /usr/bin/xdmod-slurm-helper -q -r resource-name && /usr/bin/xdmod-ingestor -q

# Create job level summaries
0 2 * * * root /usr/bin/supremm_update

# Ingest job level sumamries into XDMoD and run aggregation
0 4 * * * root /usr/bin/aggregate_supremm.sh