Research computing guide

Supported

Fritsche Lab SLURM Playbook

The SLURM Playbook covers submitting and monitoring CPU jobs and job arrays on U-M clusters, diagnosing failures, and rerunning only failed tasks.

Each example starts with a command tested locally before submission to the cluster. The examples are short, easy to copy, and use synthetic data.

The playbook covers

  • Submitting serial or threaded CPU jobs.
  • Choosing realistic time, memory, and CPU requests.
  • Splitting independent work across a job array.
  • Diagnosing failed tasks from job logs and accounting records.
  • Rerunning only failed tasks.

The worked example uses 24 deterministic synthetic tasks to demonstrate how to distribute work and combine the outputs. It has been tested on Great Lakes. The examples can also be adapted for Armis2, although each project must follow the policies and data restrictions of the cluster it uses.

Scope

The guide assumes basic familiarity with a Unix shell. It covers CPU programs, single-node process pools, job arrays, one dependency stage, monitoring, and rerunning failed tasks. MPI, multi-node jobs, GPUs, and cluster administration are outside its scope. Project teams remain responsible for confirming which data and workflows are approved.

Data and security

Begin with the synthetic example and confirm current guidance from U-M ARC before scaling up. When asking for help in a public issue, share only a non-sensitive excerpt. Never include protected health information (PHI), restricted research data, credentials, account names, private cluster paths, or private results.

The playbook is available under the MIT License. Questions and corrections are welcome through its GitHub issue tracker.