Newer
Older
This file describes changes in recent versions of SLURM. It primarily
documents those changes that are of interest to users and admins.
* Changes in SLURM 2.2.0.pre5
=============================
-- Modify commands to accept time format with one or two digit hour value
(e.g. 8:00 or 08:00:00 or 8:00:00 or 08:00:00).
* Changes in SLURM 2.2.0.pre4
=============================
-- Add support for a PropagatePrioProcess configuration parameter value of 2
to restrict spawned task nice values to that of the slurmd daemon plus 1.
This insures that the slurmd daemon always have a higher scheduling
priority than spawned tasks.
-- Add support in slurmctld, slurmd and slurmdbd for option of "-n <value>" to
-- Fixed slurm_load_slurmd_status and slurm_pid2jobid to work correctly when
multiple slurmds are in use.

Danny Auble
committed
-- Altered srun to set max_nodes to min_nodes if not set when doing an
allocation to mimic that which salloc and sbatch do. If running a step if
the max isn't set it remains unset.
-- Applied patch from David Egolf (David.Egolf@Bull.com). Added the ability
to purge/archive accounting data on a day or hour basis, previously
it was only available on a monthly basis.

Moe Jette
committed
-- Add support for maximum node count in job step request.
-- Fix bug in CPU count logic for job step allocation (used count of CPUS per
node rather than CPUs allocated to the job).
-- Add new configuration parameters GroupUpdateForce and GroupUpdateTime.
See "man slurm.conf" for details about how these control when slurmctld
updates its information of which users are in the groups allowed to use
partitions.

Danny Auble
committed
-- Added sacctmgr list events which will list events that have happened on
clusters in accounting.
-- Permit a running job to shrink in size using a command of
"scontrol update JobId=# NumNodes=#" or
"scontrol update JobId=# NodeList=<names>". Subsequent job steps must
explicitly specify an appropriate node count to work properly.
-- Added resize_time field to job record noting the time of the latest job
size change (to be used for accounting purposes, which is under
development).

Danny Auble
committed
-- sview/smap now hides hidden partitions and their jobs by default, with an
option to display them.
* Changes in SLURM 2.2.0.pre3
=============================
-- Refine support for TotalView partial attach. Add parameter to configure
program of "--enable-partial-attach".
-- In select/cons_res, the count of CPUs on required nodes was formerly
ignored in enforcing the maximum CPU limit. Also enforce maximum CPU
limit when the topology/tree plugin is configured (previously ignored).
-- In select/cons_res, allocate cores for a job using a best-fit approach.
-- In select/cons_res, for jobs that can run on a single node, use a best-fit
packing approach.
-- Add support for new partition states of DRAIN and INACTIVE and new partition
option of "Alternate" (alternate partition to use for jobs submitted to
partitions that are currently in a state of DRAIN or INACTIVE).
-- Add group membership cache. This can substantially speed up slurmctld
startup or reconfiguration if many partitions have AllowGroups configured.
-- Added slurmdb api for accessing slurm DB information.
-- In select/linear: Modify data structures for better performance and to
avoid underflow error messages when slurmctld restarts while jobs are
in completing state.
-- Added hash for slurm.conf so when nodes check in to the controller it can
verify the slurm.conf is the same as the one it is running. If not an
error message is displayed. To silence this message add NO_CONF_HASH
to DebugFlags in your slurm.conf.
-- Added error code ESLURM_CIRCULAR_DEPENDENCY and prevent circular job
dependencies (e.g. job 12 dependent upon job 11 AND job 11 is dependent
upon job 12).
-- Add BootTime and SlurmdStartTime to available node information.
-- Fixed moab_2_slurmdb to work correctly under new database schema.
-- Slurmd will drain a compute node when the SlurmdSpoolDir is full.
* Changes in SLURM 2.2.0.pre2
=============================
-- Add support for spank_get_item() to get S_STEP_ALLOC_CORES and
S_STEP_ALLOC_MEM. Support will remain for S_JOB_ALLOC_CORES and
S_JOB_ALLOC_MEM.
-- Kill individual job steps that exceed their memory limit rather than
killing an entire job if one step exceeds its memory limit.
-- Added configuration parameter VSizeFactor to enforce virtual memory limits
for jobs and job steps as a percentage of their real memory allocation.
-- Add scontrol ability to update job step's time limits.
-- Add scontrol ability to update job's NumCPUs count.
-- Add --time-min options to salloc, sbatch and srun. The scontrol command
has been modified to display and modify the new field. sched/backfill
plugin has been changed to alter time limits of jobs with the
--time-min option if doing so permits earlier job initiation.
-- Add support for TotalView symbol MPIR_partial_attach_ok with srun support
to release processes which TotalView does not attach to.
-- Add new option for SelectTypeParameters of CR_ONE_TASK_PER_CORE. This
option will allocate one task per core by default. Without this option,
by default one task will be allocated per thread on nodes with more than
one ThreadsPerCore configured.
-- Avoid accounting separately for a current pid corresponds to a Light Weight
Process (Thread POSIX) appearing in the /proc directory. Only account for
the original process (pid==tgid) to avoid accounting for memory use more
than once.
-- Add proctrack/cgroup plugin which uses Linux control groups (aka cgroup)
to track processes on Linux systems having this feature enabled (kernel
>= 2.6.24).
-- Add logging of license transations including job_id.
-- Add configuration parameters SlurmSchedLogFile and SlurmSchedLogLevel to
support writing scheduling events to a separate log file.
-- Added contribs/web_apps/chart_stats.cgi, a web app that invokes sreport to
retrieve from the accounting storage db a user's request for job usage or
machine utilization statistics and charts the results to a browser.

Danny Auble
committed
-- Massive change to the schema in the storage_accounting/mysql plugin. When
starting the slurmdbd the process of conversion may take a few minutes.
You might also see some errors such as 'error: mysql_query failed: 1206
The total number of locks exceeds the lock table size'. If you get this,
do not worry, it is because your setting of innodb_buffer_pool_size in
your my.cnf file is not set or set too low. A decent value there should
be 64M or higher depending on the system you are running on. See
RELEASE_NOTES for more information. But setting this and then
restarting the mysqld and slurmdbd will put things right. After this
change we have noticed 50-75% increase in performance with sreport and
sacct.

Danny Auble
committed
-- Fix for MaxCPUs to honor partitions of 1 node that have more than the
maxcpus for a job.
-- Add support for "scontrol notify <message>" to work for batch jobs.
-- Added SLURM_VERSION_NUMBER and removed SLURM_API_VERSION from
slurm/slurm.h.

Danny Auble
committed
-- Added support to handle communication with SLURM 2.1 clusters. Job's
should not be lost in the future when upgrading to higher versions of
SLURM.
-- Added withdeleted options for listing clusters, users, and accounts
-- Remove PLPA task affinity functions due to that package being deprecated.
-- Preserve current partition state information and node Feature and Weight
information rather than use contents of slurm.conf file after slurmctld
restart with -R option or SIGHUP. Replace information with contents of
slurm.conf after slurmctld restart without -R or "scontrol reconfigure".
See RELEASE_NOTES file fore more details.
-- Modify SLURM's PMI library (for MPICH2) to properly execute an executable
program stand-alone (single MPI task launched without srun).
-- Made GrpCPUs and MaxCPUs limits work for select/cons_res.

Danny Auble
committed
-- Moved all SQL dependant plugins into a seperate rpm slurm-sql. This
should be needed only where a connection to a database is needed (i.e.
where the slurmdbd is running)
-- Add command line option "no_sys_info" to PAM module to supress system
logging of "access granted for user ...", access denied and other errors
will still be logged.

Danny Auble
committed
-- sinfo -R now has the user and timestamp in separate fields from the reason.
-- Much functionality has been added to account_storage/pgsql. The plugin
is still in a very beta state. It is still highly advised to use the
mysql plugin, but if you feel like living on the edge or just really
like postgres over mysql for some reason here you go. (Work done
primarily by Hongjia Cao, NUDT.)
* Changes in SLURM 2.1.6
========================
-- For newly submitted jobs, report expected start time in squeue --start as
"N/A" rather than current time.
-- Correct sched/backfill logic so that it runs in a more timely fashion.
-- Fixed issue if running on accounting cache and priority/multifactor to
initialize the root association when the database comes back up.

Moe Jette
committed
-- Emulated BLUEGENE - fixed issue where blocks weren't always created
correctly when loading from state. This does not apply to a real
bluegene system, only emulated.
-- Fixed bug when job is completing and its cpu_cnt would be calculated
incorrectly, possibly resulting in an underflow being logged.
-- Fixed bug where if there are pending jobs in a partition which was
updated to have no nodes in it the slurmctld would dump core.
-- Fixed smap and sview to display partitions with no nodes in them.
-- Improve configure script's logic to detect LUA libraries.
-- Fix bug that could cause slurmctld to abort if select/cons_res is used AND a
job is submitted using the --no-kill option AND one of the job's nodes goes
DOWN AND slurmctld restarts while that job is still running.
-- In jobcomp plugins, job time limit was sometimes recorded improperly if not
set by user (recorded huge number rather than partition's time limit).
* Changes in SLURM 2.1.5
========================
-- BLUEGENE - Fixed display of draining nodes for sinfo -R.
-- Fixes to scontrol and sview when setting a job to an impossible start time.
-- Added -h to srun for help.
-- Fix for sacctmgr man page to remove erroneous 'with' statements.
-- Fix for unpacking jobs with accounting statistics, previously it appears
only steps were unpacked correctly, for the most case sacct would only
display this information making this fix a very minor one.
-- Changed scontrol and sview output for jobs with unknown end times from
'NONE' to 'Unknown'.
-- Fixed mysql plugin to reset classification when adding a
previously deleted cluster.
-- Permit a batch script to reset umask and have that propagate to tasks
spawed by subsequent srun. Previously the umask in effect when sbatch was
executed was propagated to tasks spawed by srun.
-- Modify slurm_job_cpus_allocated_on_node_id() and
slurm_job_cpus_allocated_on_node() functions to not write explanation of
failures to stderr. Only return -1 and set errno.
-- Correction in configurator.html script. Prolog and Epilog were reversed.
-- BLUEGENE - Fixed race condition where if a nodecard has an error on an
un-booted block when a job comes to use it before the state checking
thread notices it which could cause the slurmctld to lock up on a
non-dynamic system.
-- In select/cons_res with FastSchedule=0 and Procs=# defined for the node,
Loading
Loading full blame...