# What's New

## Index

- SLURM Version 1.3, March 2008
- SLURM Version 2.0, May 2009
- SLURM Version 2.1, January 2010
- SLURM Version 2.2, available in late 2010
- SLURM Version 2.3 and beyond

## Major Updates in SLURM Version 1.3

SLURM Version 1.3 was released in March 2008. Major enhancements include:

- Job accounting and completion data can be stored in a database (MySQL, PGSQL or simple text file).
- SlurmDBD (Slurm Database Deamon) introduced to provide secure database support across multiple clusters.
- Gang scheduler plugin added (time-slicing of parallel jobs without an external scheduler).
- Cryptography logic moved to a separate plugin with the option of using OpenSSL (default) or Munge (GPL).
- Improved scheduling of multiple job steps within a job's allocation.
- Support for job specification of node features with node counts.
- srun's --alloc, --attach, and --batch options removed (use salloc, sattach or sbatch commands instead).
- srun --pty option added to support remote pseudo terminal for spawned tasks.
- Support added for a much richer job dependency specification including testing of exit codes and multiple dependencies.
- Support added for BlueGene/P systems and HTC (High Throughput Computing) mode.

## Major Updates in SLURM Version 2.0

SLURM Version 2.0 was released in May 2009. Major enhancements include:

- Sophisticated job prioritization plugin is now available. Jobs can be prioritized based upon their age, size and/or fair-share resource allocation using hierarchical bank accounts.
- An assortment of resource limits can be imposed upon individual users and/or hierarchical bank accounts such as maximum job time limit, maximum job size, and maximum number of running jobs.
- Advanced reservations can be made to insure resources will be available when needed.
- Idle nodes can now be completely powered down when idle and automatically restarted when their is work available.
- Jobs in higher priority partitions (queues) can automatically preempt jobs in lower priority queues. The preempted jobs will automatically resume execution upon completion of the higher priority job.
- Specific cores are allocated to jobs and jobs steps in order to effective preempt or gang schedule jobs.
- A new configuration parameter, PrologSlurmctld, can be used to support the booting of different operating systems for each job.
- Added switch topology configuration options to optimize job resource allocation with respect to communication performance.
- Automatic Checkpoint/Restart using BLCR is now available.

## 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 and beyond

SLURM Version 2.2 release is planned late in 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 PostGres database plugin (still beta).

## Major Updates in SLURM Version 2.3 and beyond

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

- Modify more SLURM commands to operate between clusters.
- Support for BlueGene/Q systems.
- Add Kerberos credential support including credential forwarding and refresh.
- Provide a web-based SLURM administration tool.

Last modified 16 April 2010