Edge Rewrite
// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a40de69d6aff9de8

Jump to content

Slurm Workload Manager

From Wikipedia, the free encyclopedia
Slurm
DeveloperSchedMD
Stable release
26.0526.05.3[1] Edit this on Wikidata / 13 August 2026; 43 days ago (13 August 2026)
25.1125.11.7[2] Edit this on Wikidata / 14 July 2026; 2 months ago (14 July 2026)
Written inC
Operating systemLinux
TypeJob Scheduler for Clusters and Supercomputers
LicenseGNU General Public License, version 2.0[3]
Websiteslurm.schedmd.com Edit this at Wikidata
Repository

The Slurm Workload Manager, formerly known as Simple Linux Utility for Resource Management (SLURM), or simply Slurm, is a free and open-source job scheduler for Linux and Unix-like kernels, used by many of the world's supercomputers and computer clusters.

Slurm uses a best-fit algorithm based on Hilbert curve scheduling or fat tree network topology in order to optimize locality of task assignments on parallel computers.[4] It provides three key functions:

  • allocating exclusive and/or non-exclusive access to resources (computer nodes) to users for some duration of time so they can perform work,
  • providing a framework for starting, executing, and monitoring work, typically a parallel job such as Message Passing Interface (MPI) on a set of allocated nodes, and
  • arbitrating contention for resources by managing a queue of pending jobs.

History

[edit]

Slurm began development as a collaborative effort primarily by Lawrence Livermore National Laboratory, SchedMD,[5] Linux NetworX, Hewlett-Packard, and Groupe Bull as a Free Software resource manager. The first release happened in 2002.[6] It was inspired by the closed source Quadrics RMS and shares a similar syntax. The name is a reference to the soda in Futurama.[7] Over 250 people around the world have contributed to the project. It has since evolved into a sophisticated batch scheduler capable of satisfying the requirements of many large computer centers.

In 2010, the developers of Slurm founded SchedMD, which maintains the canonical source, provides development, level 3 commercial support and training services. Commercial support is also available from Bull, Cray, and Science + Computing (subsidiary of Atos).[citation needed]

As of November 2021, Slurm is the workload manager on about 60% of the TOP500 supercomputers.[8]

Structure

[edit]

Slurm's design is very modular with about 100 optional plugins. In its simplest configuration, it can be installed and configured in a couple of minutes. More sophisticated configurations provide database integration for accounting, management of resource limits and workload prioritization.

Supported platforms

[edit]

Recent Slurm releases run only on Linux. Older versions had been ported to a few other POSIX-based operating systems, including BSDs (FreeBSD, NetBSD and OpenBSD),[9] but this is no longer feasible as Slurm now requires cgroups for core operations. Clusters running operating systems other than Linux will need to use a different batch system, such as LPJS.[10] Slurm also supports several unique computer architectures, including:

Usage

[edit]
Slurm distinguishes several stages for a job.

The slurm system has three main parts:

  • slurmctld, a central control daemon running on a single control node (optionally with failover backups);
  • Many computing nodes, each with one or more slurmd daemons;
  • Clients that connect to the manager node, often with ssh.
    • The clients can issue commands to the control daemon, which would accept and divide the workload to the computing daemons.

For clients, the main commands are srun (queue up an interactive job), sbatch (queue up a job), squeue (print the job queue) and scancel (remove a job from the queue).[examples needed]

Jobs can be run in batch mode or interactive mode. For interactive mode, a compute node would start a shell, connects the client into it, and run the job. From there the user may observe and interact with the job while it is running. Usually, interactive jobs are used for initial debugging, and after debugging, the same job would be submitted by sbatch. For a batch mode job, its stdout and stderr outputs are typically directed to text files for later inspection.

See also

[edit]

References

[edit]
  1. ↑ "Release v26.05.3". 13 August 2026. Retrieved 26 August 2026.
  2. ↑ "Release 25.11.7". 14 July 2026. Retrieved 26 August 2026.
  3. ↑ "slurm/COPYING at master". Retrieved 1 December 2025.
  4. ↑ Pascual, Jose Antonio; Navaridas, Javier; Miguel-Alonso, Jose (2009). Effects of Topology-Aware Allocation Policies on Scheduling Performance. Job Scheduling Strategies for Parallel Processing. Lecture Notes in Computer Science. Vol. 5798. pp. 138–144. doi:10.1007/978-3-642-04633-9_8. hdl:10810/71571. ISBN 978-3-642-04632-2.
  5. ↑ "Slurm Commercial Support, Development, and Installation". SchedMD. Retrieved 2014-02-23.
  6. ↑ "Slurm History - SchedMD". SchedMD. Archived from the original on 2025-07-18. Retrieved 2025-11-10.
  7. ↑ "SLURM: Simple Linux Utility for Resource Management" (PDF). 23 June 2003. Retrieved 11 January 2016.
  8. ↑ "Running a Job on HPC using Slurm". hpcc.usc.edu. Center for High-Performance Computing - University of Southern California. Archived from the original on 2019-03-06. Retrieved 2019-03-05.
  9. ↑ Slurm Platforms
  10. ↑ Bacon, Jason (2025-08-26), outpaddling/LPJS, retrieved 2025-10-10

Further reading

[edit]
[edit]