slurm(7)

πŸ’– NAME πŸ’–

slurm β€” okay bestie, this is THE Slurm Workload Manager overview, and honestly? It's giving legend status. 🫢


✨ DESCRIPTION ✨

So. The Slurm Workload Manager is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters. πŸ’… Like, no cap, it works on both ends of the size spectrum.

Slurm requires no kernel modifications for its operation and is relatively self-contained. Not me being lowkey obsessed with a scheduler that just... lives in userspace and minds its own business. Iconic behaviour fr.

As a cluster resource manager, Slurm has three key functions:

  1. It allocates exclusive and/or non-exclusive access to resources (compute nodes) to users for some duration of time so they can perform work.
  2. It provides a framework for starting, executing, and monitoring work (normally a parallel job) on the set of allocated nodes.
  3. 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
  • resource limits by user or account
  • sophisticated multifactor job prioritization algorithms

Slurm has a centralized manager, slurmctld, to monitor resources and work. There may also be a backup manager to assume those responsibilities in the event of failure. πŸ’€ bestie really said "what if the boss goes down," and then made a backup boss. Each compute server (node) has a slurmd daemon, which can be compared to a remote shell: it waits for work, executes that work, returns status, and waits for more work. An optional slurmdbd (Slurm DataBase Daemon) can be used for accounting purposes and to maintain resource limit information.


🧚 Basic User Tools 🧚

  • srun β€” to initiate jobs
  • scancel β€” to terminate queued or running jobs
  • sinfo β€” to report system status
  • squeue β€” to report the status of jobs

There is also an administrative tool scontrol available to monitor and/or modify configuration and state information. And bestie, APIs are available for all functions. ✨


πŸŽ€ Configuration πŸŽ€

Slurm configuration is maintained in the slurm.conf file. That's the one, that's the moment. πŸ™ˆ


πŸ“š Docsss πŸ“š

Man pages are available for all Slurm commands, daemons, APIs, plus the slurm.conf file. Extensive documentation is also available on the internet at https://slurm.schedmd.com/. πŸ¦‹


πŸ‘‘ COPYING πŸ‘‘

Copyright (C) 2005-2007 The Regents of the University of California.

Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).

Copyright (C) 2008-2009 Lawrence Livermore National Security.

Copyright (C) 2010-2022 SchedMD LLC.

This file is part of Slurm, a resource management program. For details, see https://slurm.schedmd.com/.

Slurm is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Slurm is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 😭 no promises bestie, that's the deal.

🌸 SEE ALSO 🌸

sacct(1), sacctmgr(1), salloc(1), sattach(1), sbatch(1), sbcast(1), scancel(1), scontrol(1), sinfo(1), squeue(1), sreport(1), srun(1), sshare(1), sstat(1), strigger(1), sview(1), slurm.conf(5), slurmdbd.conf(5), slurmctld(8), slurmd(8), slurmdbd(8), slurmstepd(8), spank(7)


And that's the whole vibe check, bestie πŸ’œ this lil' page came from Slurm 26.05, filed under Slurm Commands, and yes it's the slurm(7) you know and love. Go schedule something and slay. πŸ“πŸŒˆβ­

πŸ“¦ where this page comes from