RELEASE NOTES FOR SLURM VERSION 2.6
4 January 2012


IMPORTANT NOTE:
If using the slurmdbd (SLURM DataBase Daemon) you must update this first.
The 2.6 slurmdbd will work with SLURM daemons of version 2.4 and above.
You will not need to update all clusters at the same time, but it is very
important to update slurmdbd first and having it running before updating
any other clusters making use of it.  No real harm will come from updating
your systems before the slurmdbd, but they will not talk to each other
until you do.  Also at least the first time running the slurmdbd you need to
make sure your my.cnf file has innodb_buffer_pool_size equal to at least 64M.
You can accomplish this by adding the line

innodb_buffer_pool_size=64M

under the [mysqld] reference in the my.cnf file and restarting the mysqld.
This is needed when converting large tables over to the new database schema.

SLURM can be upgraded from version 2.4 or 2.5 to version 2.6 without loss of
jobs or other state information. Upgrading directly from an earlier version of
SLURM will result in loss of state information.


HIGHLIGHTS
==========
 - Added support for job arrays, which increases performance and ease of use
   for sets of similar jobs.
 - Added prolog and epilog support for advanced reservations.
 - Much faster throughput for job step execution with --exclusive option. The
   srun process is notified when resources become available rather than
   periodic polling.

CONFIGURATION FILE CHANGES (see "man slurm.conf" for details)
=============================================================
 - Added "HealthCheckNodeState" configuration parameter identifing node states
   on which HealthCheckProgram should be executed.
 - Added "MaxArraySize" configuration parameter specifying maximum job array
   size.
 - Added "ResvEpilog" and "ResvProlog" configuration parameters to execute a
   program at the beginning and end of a reservation.
 - Added new cray.conf parameter of "AlpsEngine" to specify the communication
   protocol to be used for ALPS/BASIL.

COMMAND CHANGES (see man pages for details)
===========================================
 - Added step "State" field to scontrol output.
 - Added "--array" option to sbatch for job array support.
 - Enlarged default JOBID and STEPID field sizes in squeue output to better
   support job arrays. For job arrays, the job ID is no longer a single number
   but has the format "JOBID_TASKID" while a step ID format is now
   "JOBID_TASKID.STEPID".
 - Fully removed deprecated sacct --dump --fdump options.

OTHER CHANGES
=============

API CHANGES
===========
Added function "slurm_ckpt_copy_job" to checkpoint plugins.

Changed members of the following structs
========================================
- Added "state" field to job_step_info_t.
- Added "resv_epilog" and "resv_prolog" to slurm_ctl_conf_t.
- Added "array_inx" field to job_desc_msg_t.
- Added "array_job_id" and "array_job_id" fields to slurm_job_info_t.

Added the following struct definitions
======================================

Changed the following enums and #defines
========================================

Added the following API's
=========================
- Added "slurm_load_job_user" function. This is a variation of
  "slurm_load_jobs", but accepts a user ID argument, potentially resulting
  in substantial performance improvement for "squeue --user=ID"
- Added "slurm_load_node_single" function. This is a variation of
  "slurm_load_nodes", but accepts a node name argument, potentially resulting
  in substantial performance improvement for "sinfo --nodes=NAME".

Changed the following API's
===========================

