slurm(1)

πŸ’– slurm(1) β€” the Slurm Workload Manager overview, bestie edition πŸ’–

okay so this is slurm(1), a page from the Slurm Commands manual set, and it's basically the "what even is Slurm" page. Sit down, grab a boba, we're doing this. πŸ§‹βœ¨


🌸 NAME 🌸

Slurm β€” Slurm Workload Manager overview. that's it, that's the name, she's iconic like that. πŸ‘‘


✨ DESCRIPTION ✨

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, she scales. she does not care about your cluster's size, she's serving either way. πŸ’…

Slurm requires no kernel modifications for its operation and is relatively self-contained. no cap β€” she just moves in and gets to work. πŸŽ€

πŸ‘‘ the three key functions (the holy trinity, if you will)

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

  1. Allocation era β€” it allocates exclusive and/or non-exclusive access to resources (compute nodes) to users for some duration of time so they can perform work. your nodes, your time slot, your moment. ⭐
  2. The framework β€” it provides a framework for starting, executing, and monitoring work (normally a parallel job) on the set of allocated nodes. she starts it, she runs it, she watches it. a full-service icon. πŸ¦‹
  3. The referee β€” it arbitrates contention for resources by managing a queue of pending work. somebody has to keep the peace and it's her. 😀
and then there's the optional plugins β€” the accessories, the little extras that ate, no crumbs: - accounting - advanced reservation - gang scheduling (time sharing for parallel jobs) - backfill scheduling - resource limits by user or account - sophisticated multifactor job prioritization algorithms

🧚 the daemons (the cast)

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 β€” like a cover artist who knows the whole setlist just in case. 🎀

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. the way she just sits there, patient, ready, employed. πŸ’€βœ¨

An optional slurmdbd (Slurm DataBase Daemon) can be used for accounting purposes and to maintain resource limit information. optional but honestly? she's giving main character energy in any cluster with a budget. πŸ’œ

πŸ› οΈ the basic user tools (your starter pack)

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

There's also the administrative tool scontrol, available to monitor and/or modify configuration and state information. and APIs are available for all functions β€” every single one, periodt. 🫢

πŸ“ where the config lives

Slurm configuration is maintained in the slurm.conf file. that's the one. that's the file. guard it with your life. πŸ”₯

πŸ“š more reading (iykyk)

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/. go read it, bestie, she's thorough. 🌈


πŸŽ€ 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.

🫢 real talk: free software, no promises, read the license. she's generous but she's not your mom.

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, in order, exactly as listed:

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(8)


🌸 okay that's the whole page!! this one's Slurm 26.05, part of the Slurm Commands manual set β€” and yes she's dated, every icon has a timestamp. love her, run her on your cluster, bye bestie!! πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from