User Tools

Site Tools


guides:slurm:basics

**This is an old revision of the document!**

Slurm basics

Slurm Workload manager is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters. As a cluster workload manager, Slurm has three key functions.

  • It allocates exclusive and/or non-exclusive access to resources (compute nodes) to users for some duration of time so they can perform work.
  • It provides a framework for starting, executing, and monitoring work (normally a parallel job) on the set of allocated nodes.
  • It arbitrates contention for resources by managing a queue of pending work.
  • Optional plugins can be used for accounting, advanced reservation, gang scheduling (time sharing for parallel jobs), backfill scheduling, topology optimized resource selection, resource limits by user or bank account, and sophisticated multifactor job prioritization algorithms.

Bioinformatics Center uses unmodified version of Slurm on sampo.uef.fi computing cluster. This guarantees that the most of the tutorials and guides found from the Internet are applicable as-is. The most obvious starting place to search for usage information is documentation section of the Slurm own website Slurm Workload Manager.

Example

Example MATLAB code (matlab.m)

% Creates a 10x10 Magic square
M = magic(10);
M

Example script (submit.sbatch)


#!/bin/bash

module load matlab/R2018b # load modules

matlab -nodisplay < matlab.m # Execute the script

User can submit the job to the compute queue with the sbatch command.

sbatch submit.sbatch

sbatch command submits the job to the job queue and executes the bash script. Output of the job can be found from the local output file.

less slurm-jobid.out
guides/slurm/basics.1569569425.txt.gz · Last modified: 29.10.2019 15:10 (external edit)