Running Jobs¶
ARC clusters use SLURM (Simple Linux Utility for Resource Management) as the job scheduler and workload manager. SLURM allocates compute resources to users, manages job queues, and ensures fair sharing across the cluster.
How Job Submission Works¶
Write a job script — Define your workload with SLURM directives (resources, time, partition) and the commands to run
Submit with
sbatch— SLURM queues your job and assigns it a unique job IDWait in queue — SLURM schedules your job based on resource availability, priority, and fair-share policies
Execute on compute nodes — SLURM launches your job on allocated nodes with the requested resources
Monitor and manage — Track progress with
squeue, inspect output, or cancel withscancel
Why Use Job Scripts?¶
Running compute-intensive workloads directly on login nodes is prohibited and can degrade performance for all users. Job scripts ensure:
Resource isolation — Your job runs on dedicated compute nodes, not shared login nodes
Fair scheduling — SLURM balances workloads across all users and partitions
Resource guarantees — You get exactly what you request (CPUs, memory, GPUs, time)
Automatic cleanup — SLURM reclaims resources when your job completes
Important
Never run long-running or compute-intensive commands on login nodes. Use sbatch to submit jobs, or srun for interactive sessions on compute nodes.
Quick Commands¶
# Submit a job
sbatch my_job.sh
# Check job status
squeue -u $USER
# Cancel a job
scancel <job_id>
Topics¶
Topic |
Description |
|---|---|
SLURM directives, job types, and advanced tips |
|
Cluster partitions, QoS, and account limits |
|
Monitor, cancel, prioritize jobs |
|
Run commands on compute nodes |
|
Threads vs. processes, Slurm resource allocation, hybrid models |
|
Command reference (squeue, sacct, sinfo, etc.) |