# What's New

## Index

- SLURM Version 2.1, January 2010
- SLURM Version 2.2, December 2010
- SLURM Version 2.3, September 2011
- SLURM Version 2.4, planned June 2012
- SLURM Version 2.5 and beyond2
- Security Patches

## Major Updates in SLURM Version 2.1

SLURM Version 2.1 was released in January 2010. Major enhancements include:

- Optimized resource allocation based upon network topology (e.g. hierarchical switches).
- Support for job preemption based upon job Quality of Service (QOS) in addition to queue priority.
- Support for time limits on individual job steps (in addition to the job time limit).
- Improve fault-tolerance in recognizing compute node reboots.
- Add sinfo and squeue information about specific cores allocated.
- Support for Solaris (OpenSolaris build 119).

## Major Updates in SLURM Version 2.2

SLURM Version 2.2 was released in December 2010. Major enhancements include:

- Permit resource allocations (jobs) to shrink in size.
- Add support for job time limit range. The job's time limit will get it's maximum time limit unless reducing it to a lower value within the range will permit it to start earlier via backfill scheduling.
- Add support for allocation of generic resources (e.g. GPUs).
- Add a job submission plugin that can be use to set site-specific default job parameters including default partition (based upon job size, etc.).
- Add support for TotalView partitial attach (debugger attach to selected tasks only).
- Add support for draining partitions (job queues) with alternate partition specification available.
- The MySQL database has been restructured for a 50-75% performance improvement.
- RPCs have been modified to prevent job loss on SLURM upgrades and permit different versions of the commands and deamons to interoperate.
- Major enhancements made to PostGreSQL database plugin (still beta).
- Permit SLURM commands to operate between clusters (e.g. status jobs on a different cluster or submit a job on one cluster to run on another).
- Major enhancements for high-throughput computing. Job throughput rates now exceed 120,000 jobs per hour with bursts of job submissions at several times that rate.

## Major Updates in SLURM Version 2.3

SLURM Version 2.2 was released in September 2011. Major enhancements currently planned include:

- Support for Cray XT and XE computers (integration with ALPS/BASIL).
- Support for BlueGene/Q computers (partially implemented).
- Support for multiple front-end nodes running slurmd daemons (for Cray and BlueGene architectures, improves performance and fault tolerance).
- Support for Linux cgroup job containers including integration with generic resources.
- Support for growing job allocations (support for shrinking jobs was added in version 2.2).

## Major Updates in SLURM Version 2.4

SLURM Version 2.4 release is planned for June 2012. Major enhancements currently planned include:

- Major improvement in job throuhgput: Up to 500 jobs per second (actual throughput depends upon configuration, hardware, etc.).
- Support for BlueGene/Q computers (fully implemented).
- Resource reservations with a node count specification will select those nodes optimized for the system topology.
- Support for SLURM commands operating over a LoadLeveler resource manager.
- Support for job and step constraints with resource counts (e.g. a job request for two nodes with a feature of "Intel" plus four nodes with a feature of "AMD").
- New tool sdiag reports scheduling statistics.

## Major Updates in SLURM Version 2.5 and beyond

Detailed plans for release dates and contents of additional SLURM releases have not been finalized. Anyone desiring to perform SLURM development should notify slurm-dev@schedmd.com to coordinate activities. Future development plans includes:

- Faster and more powerful job step management support (e.g. step dependencies).
- Improved user support for fault-tolerance (e.g. "hot spare" resources).
- Integration with FlexLM license management.
- Numerous enhancements to advanced resource reservations (e.g. start or end the reservation early depending upon the workload).
- Add Kerberos credential support including credential forwarding and refresh.
- Improved support for provisioning and virtualization.
- Provide a web-based SLURM administration tool.

## Security Patches

Common Vulnerabilities and Exposure (CVE) information is available at
http://cve.mitre.org/.

- CVE-2009-0128
  There is a potential security vulnerability in SLURM where a user could build an invalid job credential in order to execute a job (under his correct UID and GID) on resources not allocated to that user. This vulnerability exists only when the crypto/openssl plugin is used and was fixed in SLURM version 1.3.0.
- CVE-2009-2084
  SLURM failed to properly set supplementary groups before invoking (1) sbcast from the slurmd daemon or (2) strigger from the slurmctld daemon, which might allow local SLURM users to modify files and gain privileges. This was fixed in SLURM version 1.3.14.
- CVE-2010-3308
  There is a potential security vulnerability where if the init.d scripts are executed by user root or SlurmUser to initiate the SLURM daemons and the LD_LIBRARY_PATH is not set and the operating system interprets a blank entry in the path as "." (current working directory) and that directory contains a trojan library, then that library will be used by the SLURM daemon with unpredictable results. This was fixed in SLURM version 2.1.14.

Last modified 10 May 2012