Content deleted Content added
fix some formatting, and attempt to use less formatting in the table |
→Features: a release from 2014 doesn't seem extraordinarily noteworthy anymore. keep only the most relevant features |
||
(48 intermediate revisions by 40 users not shown) | |||
Line 1:
{{short description|Free and open-source job scheduler for Linux and similar computers}}
{{primary sources|date=July 2010}}
{{Infobox software
| title = Slurm
Line 8 ⟶ 6:
| logo = Slurm logo.svg
| logo caption =
| developer = [[SchedMD]]
| screenshot = <!-- Image name is enough -->
| caption =
Line 14 ⟶ 13:
| released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| discontinued =
| latest release version =
| latest release date =
| programming language = [[C (programming language)|C]]
| operating system = [[Linux]]
| platform =
| size =
| genre = Job Scheduler for Clusters and Supercomputers
| license = [[GNU General Public License]]
| website = {{Official URL
| logo_size = 170px
| logo_alt =
Line 29 ⟶ 28:
}}
The '''Slurm Workload Manager''',
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,
* arbitrating contention for resources by managing a queue of pending jobs.
Slurm is the workload manager on about 60% of the [[TOP500]] supercomputers.<ref>{{Cite web|url=https://hpcc.usc.edu/support/documentation/slurm/|title=Running a Job on HPC using Slurm {{
Slurm uses a [[
==History==
Slurm began development as a collaborative effort primarily by [[Lawrence Livermore National Laboratory]], [[SchedMD]],<ref>{{cite web|url=https://www.schedmd.com/ |title=Slurm Commercial Support, Development, and Installation |publisher=SchedMD |access-date
{{As of|
==Structure==
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.
==Features==
* No single point of failure, backup daemons, fault-tolerant job options
Line 66 ⟶ 65:
* Real-time accounting down to the task level (identify specific tasks with high CPU or memory usage)
* Resource limits by user or bank account
* Accounting for power
* Support of IBM Parallel Environment (PE/POE)
* Support for job arrays
* Job profiling (periodic sampling of each task's CPU use, memory use, power consumption, network and file system use)
* Sophisticated multifactor job prioritization algorithms
* Support for MapReduce+
* Support for [[burst buffer]] that accelerates scientific data movement
* Support for heterogeneous generic resources
* Automatic job requeue policy based on exit value
==Supported platforms==
Recent Slurm
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. Slurm also supports several unique computer architectures, including:
* [[IBM]] [[BlueGene]]/Q models, including the 20 petaflop [[IBM Sequoia]]
* [[Cray]] XT, XE and Cascade
* [[Tianhe-2]] a 33.9 petaflop system with 32,000 Intel Ivy Bridge chips and 48,000 Intel Xeon Phi chips with a total of 3.1 million cores
*
* [[Anton (computer)|Anton]]
==License==
Slurm is available under the [[GNU General Public License#History|GNU General Public License v2]]
==Commercial support==
In 2010, the developers of Slurm founded
== Usage ==
[[File:EstadosTrabajosSLURM.jpg|thumb|Slurm distinguishes several stages for a job]]
The <code>slurm</code> system has three main parts:
* <code>slurmctld</code>, a central control [[Daemon (computing)|daemon]] running on a single control node (optionally with [[failover]] backups);
* many computing nodes, each with one or more <code>slurmd</code> daemons;
* clients that connect to the manager node, often with [[Secure Shell|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 <code>srun</code> (queue up an interactive job), <code>sbatch</code> (queue up a job), <code>squeue</code> (print the job queue) and <code>scancel</code> (remove a job from the queue).
Jobs can be run in [[Batch processing|batch mode]] or [[Interactive computing|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 <code>sbatch</code>. For a batch mode job, its <code>stdout</code> and <code>stderr</code> outputs are typically directed to text files for later inspection.
==See also==
{{Portal|Free and open-source software}}
* [[Job scheduler#Batch queuing for HPC clusters|Job Scheduler and Batch Queuing for Clusters]]
<!-- sorted alphabetically: -->
Line 106 ⟶ 114:
* [[TORQUE]]
* [[Univa Grid Engine]]
* [[Platform LSF]]
==References==
Line 114 ⟶ 123:
* {{Cite conference|doi=10.1007/978-3-540-78699-3_3|title=Enhancing an Open Source Resource Manager with Multi-core/Multi-threaded Support|conference=Job Scheduling Strategies for Parallel Processing|series=[[Lecture Notes in Computer Science]]|year=2008|last1=Balle|first1=Susanne M.|last2=Palermo|first2=Daniel J.|isbn=978-3-540-78698-6|volume=4942|page=37}}
* {{Cite journal|last1=Jette|first1= M. |first2= M. |last2=Grondona|url=https://slurm.schedmd.com/slurm_design.pdf |title=SLURM: Simple Linux Utility for Resource Management|journal=Proceedings of ClusterWorld Conference and Expo|___location=San Jose, California|date=June 2003}}
* {{cite journal|last=Layton|first= Jeffrey B. |url=http://www.linux-mag.com/id/7239/1/|archive-url=https://web.archive.org/web/20090211041650/http://www.linux-mag.com/id/7239/1/|url-status=usurped|archive-date=February 11, 2009|title= Caos NSA and Perceus: All-in-one Cluster Software Stack|journal= Linux Magazine|date=5 February 2009}}
* {{cite conference|doi=10.1007/10968987_3
{{Div col end}}
==External links==
* {{Official website}}
* [https://slurm.schedmd.com Slurm Documentation]
* [https://www.open-mpi.org/video/slurm/Slurm_EMC_Dec2012.pdf Slurm Workload Manager Architecture Configuration and Use ]
* [https://s3-us-west-2.amazonaws.com/imss-hpc/index.html Caltech HPC Center: Job Script Generator]
{{Linux kernel}}
Line 176 ⟶ 140:
[[Category:Grid computing]]
[[Category:Cluster computing]]
[[Category:Free software programmed in C]]
[[Category:Software using the GNU General Public License]]
|