Newer
Older
Danny Auble
committed
-- Cleaned up the cons_res plugin. It now uses a ptr to a part_record
instead of having to do strcmp's to find the correct one.
-- Pushed most all the plugin specific info in src/common/node_select.c
into the respected plugin.
-- BLUEGENE - closed some corner cases where a block could had been removed
while a job was waiting for it to become ready because an underlying
part of the block was put into an error state.
-- Modify sbcast logic to prevent a user from moving files to nodes they
have not been allocated (this would be possible in previous versions
only by hacking the sbcast code).
-- Add contribs/sjstat script (Perl tool to report job state information).
Put into new RPM: sjstat.
-- Add sched/wiki2 (Moab) JOBMODIFY command support for VARIABLELIST option
to set supplemental environment variables for pending batch jobs.
-- BLUEGENE - add support for scontrol show blocks.
-- Added support for job step time limits.
* Changes in SLURM 2.0.10
=========================
* Changes in SLURM 2.0.9
========================
-- When running the mysql plugin natively MUNGE errors are now eliminated
when sending updates to slurmctlds.
-- Check to make sure we have a default account before looking to
fill in default association.
-- Fix to make it so sched/wiki2 can modify a job's partition or hostlist of
non-pending jobs.
-- Applied slurmctld prolog bug fix from Dennis Leepow to backfill.c
-- fixed quite a few typos (needed for debian packages)
-- make it so slurmctld will core dump without --enable-debug set
-- Fix issue when doing a rollup on reservations before a cluster has been
added.
-- MySQL plugin - When doing archiving end time is now decreased by 1
which should be more correct.
-- BLUEGENE - Fixed issue where --no-rotate didn't work correctly on job
submissions.
-- BLUEGENE - made the buffer longer when submitting jobs to get the entire
line. Previously the line could be shortened prematurely.
-- BLUEGENE - Fix to make sure we don't erroneously set a connection type
to SMALL.
-- Type cast a negative uint64_t to int64_t to avoid confusion when doing
arithmetic with it in accounting dealing with over commit time.
* Changes in SLURM 2.0.8
========================
-- BLUEGENE - added dub2 of stderr to put error messages sent from underlying
libraries of the bridge api to the bridgeapi.log
-- Fixed issue with sacctmgr when modifing a user and specifying 'where'
after giving the user name also.
-- -L, --allclusters now works with sacct
-- Modified job table to use 32bit u/gids for those with ids greater
than 16 bits.
-- Made minor changes for slurm to compile cleanly under gcc 4.4.1
-- Fixed issue with task/affinity when an allocation would run multiple sruns
with the --exclusive flag in an allocation with more than 1 node.
Previously when the first node was filled up no tasks would ever run
on the other nodes.
-- Fixed sview and sacct to display correct run time and suspend time when
job has been suspended.
-- Applied patch from Mark Grondona that fixes the validation of the
PluginDir to support the colon separated list of directories as documented.
-- BLUEGENE - squeue -o %R now prints more readable info for small blocks
-- sacct - fixed garbage being printed out on uninitialized variable.
-- Fix for mysql plugin when used without slurmdbd to register the
slurmctld properly.
-- Fix for mysql plugin putting correct hostnames in for running steps.
* Changes in SLURM 2.0.7
========================
-- Fix bug in select/cons_res when nodes are configured in more than one
partition and those partitions have different priorities and sched/gang
is not configured. CPUs were previously over-allocated.
-- Fix core of smap when specifying -i option with invalid argument.
-- Fix issue when using srun --test-only to not put an entry of test
job into accounting.
-- For OpenMPI use of SLURM reserved ports. If any of the tasks fails to
acquire a reserved port and has an exit code of 108 then srun will
kill all remaining tasks and respawn the tasks. Previous code waited
for tasks to exit.
-- MySQL plugin - When doing archiving we now get a correct end time.
Previously it would grab an extra day to archive.
-- BLUEGENE - Handle initial state correctly, previously was setting initial
state to IDLE if UNKNOWN which would make it not set a registration
message to accounting, which could lead to nodes not being listed as up
when they really were.
-- Fixed buffer size issue with scontrol show hostlist.
-- Fixed issue with copy in smap -Dc previously command wouldn't work.
-- BLUEGENE - Update documentation about small blocks in the bluegene.conf
file.
-- In sched/wiki plugin (for Maui) fix possible message truncation on very
large cluster.
-- BLUEGENE - Fix for handling undocumented Deallocating to Configuring to
Free block transition state.
-- BLUEGENE - Fix for overlap mode loading blocks when midplane is in an
error state.
-- Add range check for SuspendTime configuration parameter.
-- Moved unzipped python-hostname tarball out and the tarball in.
-- BLUEGENE - Patched memory leak when running state test.
-- BLUEGENE - fixed slow down generated by slow call rm_get_BG
and polling thread.
* Changes in SLURM 2.0.6
========================
-- Fixed seg fault when "scontrol listpids" is invoked for a specific job step
on a node on which a stepd is not running.
-- Fix bug in sched/backfill which could result in invalid memory reference
when trying to schedule jobs submitted with --exclude option.
* Changes in SLURM 2.0.5
========================
-- BLUEGENE - Added support for emulating systems with a X-dimension of 4.
-- BLUEGENE - When a nodecard goes down on a non-Dynamic system SLURM will
now only drain blocks under 1 midplane, if no such block exists then SLURM
will drain the entire midplane and not mark any block in error state.
Previously SLURM would drain every overlapping block of the nodecard
making it possible for a large block to make other blocks not work since
they overlap some other part of the block that really isn't bad.
-- BLUEGENE - Handle L3 errors on boot better.
-- Don't revoke a pending batch launch request from the slurmctld if the
job is immediately suspended (a normal event with gang scheduling).
-- BLUEGENE - Fixed issue with restart of slurmctld would allow error block
nodes to be considered for building new blocks when testing if a job would
run. This is a visual bug only, jobs would never run on new block, but
the block would appear in slurm tools.
-- Better responsiveness when starting new allocations when running with the
slurmdbd.
-- Fixed race condition when reconfiguring the slurmctld and using the
consumable resources plugin which would cause the controller to core.
David J. Bremer
committed
-- Fixed race condition that sometimes caused jobs to stay in completing
state longer than necessary after being terminated.
-- Fixed issue where if a parent account has a qos added and then a child
account has the qos removed the users still get the qos.
-- BLUEGENE - New blocks in dynamic mode will only be made in the system
when the block is actually needed for a job, not when testing.
-- BLUEGENE - Don't remove larger block used for small block until job starts.
-- Add new squeue output format and sort option of "%L" to print a job's time
left (time limit minus time used).
-- BLUEGENE - Fixed draining state count for sinfo/sview.
-- Fix for sview to not core when viewing nodes allocated to a partition
and the all jobs finish.
-- Fix cons_res to not core dump when finishing a job running on a
defunct partition.
-- Don't require a node to have --ntasks-per-node CPUs for use when the
--overcommit option is also used.
-- Increase the maximum number of tasks which can be launched by a job step
per node from 64 to 128.
-- sview - make right click on popup window title show sorted list.
-- scontrol now displays correct units for job min memory and min tmp disk.
-- better support for salloc/sbatch arbitrary layout for setting correct
SLURM_TASKS_PER_NODE
-- Env var SLURM_CPUS_ON_NODE is now set correctly depending on the
FastSchedule configuration parameter.
-- Correction to topology/3d_torus plugin calculation when coordinate value
exceeds "9" (i.e. a hex value).
-- In sched/wiki2 - Strip single and double quotes out of a node's reason
string to avoid confusing Moab's parser.
-- Modified scancel to cancel any pending jobs before cancelling any other
-- Updated sview config info
-- Fix a couple of bugs with respect to scheduling with overlapping
reservations (one with a flag of "Maintenance").
-- Fix bug when updating a pending job's nice value after explicitly setting
it's priority.
-- We no longer add blank QOS'
-- Fix task affinity for systems running fastschedule!=0 and they have less
resources configured than in existence.
-- Slurm.pm loads without warning now on AIX systems
-- modified pmi code to do strncpy's on the correct len
-- Fix for filling in a qos structure to return SLURM_SUCCESS on success.
-- BLUEGENE - Added SLURM_BG_NUM_NODES with cnode count of allocation,
SLURM_JOB_NUM_NODES represents midplane counts until 2.1.
-- BLUEGENE - Added fix for if a block is in error state and the midplane
containing the block is also set to drain/down. This previously
prevented dynamic creation of new blocks when this state was present.
-- Fixed bug where a users association limits were not enforced, only
parent limits were being enforced.
-- For OpenMPI use of SLURM reserved ports, reserve a count of ports equal to
the maximum task count on any node plus one (the plus one is a correction).
-- Do not reset SLURM_TASKS_PER_NODE when srun --preserve-env option is used
(needed by OpenMPI).
-- Fix possible assert failure in task/affinity if a node is configured with
more resources than physically exist.
-- Sview can now resize columns.
-- Avoid clearing a drained node's reason field when state is changed from
down (i.e. returned to service). Note the drain state flag stays set.
* Changes in SLURM 2.0.4
========================
-- Permit node suspend/resume logic to be enabled through "scontrol reconfig"
given appropriate changes to slurm configuration file.
-- Check for return codes on functions with warn_unused_result set.
-- Fix memory leak in getting step information (as used by squeue -s).
-- Better logging for when job's request bad output file locations.
-- Fix issue where if user specified non-existant file to write to slurmstepd
will regain privileges before sending batch script ended to the controller.
-- Fix bug when using the priority_multifactor plugin with no associations
yet.
-- BLUEGENE - we no longer check for the images to sync state. This was
needed long ago when rebooting blocks wasn't a possibility and should
had been removed when that functionality was available.
-- Added message about no connection with the database for sacctmgr.
-- On BlueGene, let srun or salloc exit on SIGINT if slurmctld dies while
booting its block.
-- In select/cons_res fix bug that could result in invalid memory pointer
if node configurations in slurm.conf contains 8 or more distinct
socket/core/thread counts.
-- Modify select/cons_res to recognize updated memory size upon node startup
if FastSchedule=0.
-- Fixed bug if not enforcing associations, but running with them and the
priority/multifactor, the slurmctld will not core dump on processing usage.
-- QOS will not be reset to the default when added back a previously deleted
association.
-- Do not set a job's virtual memory limit based upon the job's specified
memory limit (which should be a real memory limit, not virtual).
-- BLUEGENE - fix for sinfo/sview for displaying proper node count for nodes
in draining state.
-- Fix for sview when viewing a certain part of a group (like 1 job) so it
doesn't core when the part is gone.
-- BLUEGENE - Changed order of SYNC's to be on the front of the list to
avoid having a job terminated with a TERM before the SYNC of the
job happens.
-- Validate configured PluginDir value is a valid directory before trying to
use it.
-- Fix to resolve agent_queue_request symbol from some checkpoint plugins.
-- Fix possible execve error for sbatch script read from stdin.
-- Modify handling of user ID/name and group ID/name in the slurm.conf file
to properly handle user names that contain all digits. Return error code
from uid_from_string() and gid_from_string() functions rather than a uid of
-1, which might be a valid uid or gid on some systems.
-- Fix in re-calcuation of job priorities due to DOWN or DRAINED nodes.
* Changes in SLURM 2.0.3
========================
-- Add reservation creation/update flag of Ignore_Jobs to enable the creation
of a reservation that overlaps jobs expected to still be running when
the reservation starts. This would be especially useful to reserve all
nodes for system maintenence without adjusting time limits of running
jobs before creating the reservation. Without this flag, nodes allocated
jobs expected to running when the reservation begins can not be placed
into a reservation.
-- In task/affinity plugin, add layer of abstraction to logic translating
block masks to physical machine masks. Patch from Matthieu Hautreux, CEA.
-- Fix for setting the node_bitmap in a job to NULL if the job does not
start correctly when expected to start.
-- Fixed bug in srun --pty logic. Output from the task was split up
arbitrarily into stdout and stderr streams, and sometimes was printed
out of order.
-- If job requests minimum and maximum node count range with select/cons_res,
try to satisfy the higher value (formerly only allocated the minimum).
-- Fix for checking for a non-existant job when querying steps.
-- For job steps with the --exclusive option, base initial wait time in
partly upon the process ID for better performance with many job steps
started at the same time. Maintain exponential back-off as needed.
-- Fix for correct step ordering in sview.
-- Support optional argument to srun and salloc --immediate option. Specify
timeout value in seconds for job or step to be allocated resources.
* Changes in SLURM 2.0.2
========================
-- Fix, don't remove job details when a job is cancelled while pending.
-- Do correct type for mktime so garbage isn't returned on 64bit systems
for accounting archival.
-- Better checking in sacctmgr to avoid infinite loops.
-- Fix minor memory leak in fake_slurm_step_layout_create()
-- Fix node weight (scheduling priority) calculation for powered down
nodes. Patch from Hongjia Cao, NUDT.
-- Fix node suspend/resume rate calculations. Patch from Hongjia Cao, NUDT.
-- Change calculations using ResumeRate and SuspendRate to provide higher
resolution.
-- Log the IP address for incoming messages having an invalid protocol
version number.
-- Fix for sacct to show jobs that start the same second as the sacct
command is issued.
-- BLUEGENE - Fix for -n option to work on correct cpu counts for each
midplane instead of treating -n as a c-node count.
-- salloc now sets SLURM_NTASKS_PER_NODE if --ntasks-per-node option is set.
-- Fix select/linear to properly set a job's count of allocated processors
(all processors on the allocated nodes).
-- Fix select/cons_res to allocate proper CPU count when --ntasks-per-node
option is used without a task count in the job request.
-- Insure that no node is allocated to a job for which the CPU count is less
than --ntasks-per-node * --cpus-per-task.
-- Correct AllocProcs reported by "scontrol show node" when ThreadsPerCore
is greater than 1 and select/cons_res is used.
-- Fix scontrol show config for accounting information when values are
not set in the slurm.conf.
-- Added a set of SBATCH_CPU_BIND* and SBATCH_MEM_BIND* env variables to keep
jobsteps launched from within a batch script from inheriting the CPU and
memory affinity that was applied to the batch script. Patch from Matthieu
Hautreux, CEA.
-- Ignore the extra processors on a node above configured size if either
sched/gang or select/cons_res is configured.
-- Fix bug in tracking memory allocated on a node for select/cons_res plugin.
-- Fixed a race condition when writing labelled output with a file per task
or per node, which potentially closed a file before all data was written.
-- BLUEGENE - Fix, for if a job comes in spanning both less than and
over 1 midplane in size we check the connection type appropriately.
-- Make sched/backfill properly schedule jobs with constraints having node
counts. NOTE: Backfill of jobs with constraings having exclusive OR
operators are not fully supported.
-- If srun is cancelled by SIGINT, set the job state to cancelled, not
failed.
-- BLUEGENE - Fix, for if you are setting an subbp into an error mode
where the subbp stated isn't the first ionode in a nodecard.
-- Fix for backfill to not core when checking shared nodes.
-- Fix for scontrol to not core when hitting just return in interactive mode.
-- Improve sched/backfill logic with respect to shared nodes (multiple jobs
per node).
-- In sched/wiki (Maui interface) add job info fields QOS, RCLASS, DMEM and
TASKSPERNODE. Patch from Bjorn-Helge Mevik, University of Oslo.
* Changes in SLURM 2.0.1
========================
-- Fix, truncate time of start and end for job steps in sacct.
-- Initialize all messages to slurmdbd. Previously uninitialized string could
cause slurmctld to fail with invalid memory reference.
-- BLUEGENE - Fix, for when trying to finish a torus on a block already
visited. Even though this may be possible electrically this isn't valid
in the under lying infrastructure.
-- Fix, in mysql plugins change mediumints to int to support full 32bit
numbers.
-- Add sinfo node state filtering support for NO_RESPOND, POWER_SAVE, FAIL,
MAINT, DRAINED and DRAINING states. The state filter of DRAIN still maps
to any node in either DRAINED or DRAINING state.
-- Fix reservation logic when job requests specific nodes that are already
in some reservation the job can not use.
-- Fix recomputation of a job's end time when allocated nodes which are
being powered up. The end time would be set in the past if the job's
time limit was INFINITE, resulting in it being prematurely terminated.
-- Permit regular user to change the time limit of his pending jobs up to
the partition's limit.
-- Fix "-Q" (quiet) option for salloc and sbatch which was previously
ignored.
-- BLUEGENE - fix for finding odd shaped blocks in dynamic mode.
-- Fix logic supporting SuspendRate and ResumeRate configuration parameters.
Previous logic was changing state of one too many nodes per minute.
-- Save new reservation state file on shutdown (even if no changes).
-- Fix, when partitions are deleted the sched and select plugins are notified.
-- Fix for slurmdbd to create wckeyid's when they don't exist
-- Fix linking problem that prevented checkpoint/aix from working.
========================
Danny Auble
committed
-- Fix for bluegene systems to be able to create 32 node blocks with only
16 psets defined in dynamic layout mode.
-- Improve srun_cr handling of child srun forking. Patch from Hongjia Cao,
NUDT.
-- Configuration parameter ResumeDelay replaced by SuspendTimeout and
ResumeTimeout.
-- BLUEGENE - sview/sinfo now displays correct cnode numbers for drained nodes
or blocks in error state.
-- Fix some batch job launch bugs when powering up suspended nodes.
-- Added option '-T' for sacct to truncate time of start and end and set
default of --starttime to Midnight of current day.
* Changes in SLURM 2.0.0-rc2
============================
Danny Auble
committed
-- Change fanout logic to start on calling node instead of first node in
message nodelist.
-- Fix bug so that smap builds properly on Sun Constellation system.
-- Filter white-space out from node feature specification.
-- Fixed issue with duration not being honored when updating start time in
reservations.
-- Fix bug in sched/wiki and sched/wiki2 plugins for reporting job resource
allocation properly when node names are configured out of sort order
with more than one numeric suffix (e.g. "tux10-1" is configured after
"tux5-1").
-- Avoid re-use of job_id (if specified at submit time) when the existing
job is in completing state (possible race condition with Moab).
-- Added SLURM_DISTRIBUTION to env for salloc.
-- Add support for "scontrol takeover" command for backup controller to
assume control immediately. Patch from Matthieu Hautreux, CEA.
-- If srun is unable to communicate with the slurmd tasks are now marked as
failed with the controller.
Danny Auble
committed
-- Fixed issues with requeued jobs not being accounted for correctly in
the accounting.
-- Clear node's POWER_SAVE flag if configuration changes to one lacking a
ResumeProgram.
-- Extend a job's time limit as appropriate due to delays powering up nodes.
-- If sbatch is used to launch a job step within an existing allocation (as
used by LSF) and the required node is powered down, print the message
"Job step creation temporarily disabled, retrying", sleep, and retry.
-- Configuration parameter ResumeDelay added to control how much time must
after a node has been suspended before resume it (e.g. powering it back
up).
-- Fix CPU binding for batch program. Patch from Matthieu Hautreux, CEA.
-- Fix for front end systems non-responding nodes now show up correctly in
sinfo.
-- Fix bug in preservation of advanced reservations when slurmctld restarts.
-- Updated perlapi to match correctly with slurm.h structures
-- Do not install the srun command on BlueGene systems (mpirun must be used to
launch tasks).
-- Corrections to scheduling logic for topology/tree in configurations where
nodes are configured in multiple leaf switches.
-- Patch from Matthieu Hautreux for backup mysql deamon support.
-- Changed DbdBackup to DbdBackupHost for slurmdbd.conf file
-- Add support for spank_strerror() function and improve error handling in
general for SPANK plugins.
-- Added configuration parameter SrunIOTimeout to optionally ping srun's tasks
for better fault tolerance (e.g. killed and restarteed SLURM daemons on
compute node).
-- Add slurmctld and slurmd binding to appropriate communications address
based upon NodeAddr, ControllerAddr and BackupAddr configuration
parameters. Based upon patch from Matthieu Hautreux, CEA.
NOTE: Fails when SlurmDBD is configured with some configurations.
NOTE: You must define BIND_SPECIFIC_ADDR to enable this option.
-- Avoid using powered down nodes when scheduling work if possible.
Fix possible invalid memory reference in power save logic.
* Changes in SLURM 1.4.0-pre13
==============================
-- Added new partition option AllocNodes which controls the hosts from
which jobs can be submitted to this partition. From Matthieu Hautreux, CEA.
-- Better support the --contiguous option for job allocations.
-- Add new scontrol option: show topology (reports contents of topology.conf
file via RPC if topology/tree plugin is configured).
-- Add advanced reservation display to smap command.
-- Replaced remaining references to SLURM_JOBID with SLURM_JOB_ID - except
when needed for backwards compatibility.
-- Fix logic to properly excise a DOWN node from the allocation of a job
with the --no-kill option.
-- The MySQL and PgSQL plugins for accounting storage and job completion are
now only built if the underlying database libraries exists (previously
the plugins were built to produce a fatal error when used).
-- BLUEGENE - scontrol show config will now display bluegene.conf information.
Danny Auble
committed
* Changes in SLURM 1.4.0-pre12
==============================
-- Added support for hard time limit by associations with added configuration
option PriorityUsageResetPeriod. This specifies the interval at which to
clear the record of time used. This is currently only available with the
priority/multifactor plugin.
-- Added SLURM_SUBMIT_DIR to sbatch's output environment variables.
-- Backup slurmdbd support implemented.
-- Update to checkpoint/xlch logic from Hongjia Cao, NUDT.
-- Added configuration parameter AccountingStorageBackupHost.
Danny Auble
committed
* Changes in SLURM 1.4.0-pre11
==============================
* Changes in SLURM 1.4.0-pre10
==============================
-- Critical bug fix in task/affinity when the CoresPerSocket is greater
than the ThreadsPerCore (invalid memory reference).
-- Add DebugFlag parameter of "Wiki" to log sched/wiki and wiki2
communications in greater detail.
-- Add "-d <slurmstepd_path>" as an option to the slurmd daemon to
specifying a non-stardard slurmstepd file, used for testing purposes.
-- Minor cleanup to crypto/munge plugin.
- Restrict uid allowed to decode job credentials in crypto/munge
- Get slurm user id early in crypto/munge
- Remove buggy error code handling in crypto/munge
-- Added sprio command - works only with the priority/multifactor plugin
-- Add real topology plugin infrastructure (it was initially added
directly into slurmctld code). To specify topology information,
set TopologyType=topology/tree and add configuration information
to a new file called topology.conf. See "man topology.conf" or
topology.html web page for details.
-- Set "/proc/self/oom_adj" for slurmd and slurmstepd daemons based upon
the values of SLURMD_OOM_ADJ and SLURMSTEPD_OOM_ADJ environment
variables. This can be used to prevent daemons being killed when
a node's memory is exhausted. Based upon patch by Hongjia Cao, NUDT.
-- Fix several bugs in task/affinity: cpuset logic was broken and
--cpus-per-task option not properly handled.
-- Ensure slurmctld adopts SlurmUser GID as well as UID on startup.
* Changes in SLURM 1.4.0-pre9
=============================
-- OpenMPI users only: Add srun logic to automatically recreate and
re-launch a job step if the step fails with a reserved port conflict.
-- Added TopologyPlugin configuration parameter.
-- Added switch topology data structure to slurmctld (for use by select
plugin) add load it based upon new slurm.conf parameters: SwitchName,
Nodes, Switches and LinkSpeed.
-- Modify select/linear and select/cons_res plugins to optimize resource
allocation with respect to network topology.
-- Added support for new configuration parameter EpilogSlurmctld (executed
by slurmctld daemon).
-- Added checkpoint/blcr plugin, SLURM now support job checkpoint/restart
using BLCR. Patch from Hongjia Cao, NUDT, China.
-- Made a variety of new environment variables available to PrologSlurmctld
and EpilogSlurmctld. See the "Prolog and Epilog Scripts" section of the
slurm.conf man page for details.
-- NOTE: Cold-start (without preserving state) required for upgrade from
version 1.4.0-pre8.
* Changes in SLURM 1.4.0-pre8
=============================
-- In order to create a new partition using the scontrol command, use
the "create" option rather than "update" (which will only operate
upon partitions that already exist).
-- Added environment variable SLURM_RESTART_COUNT to batch jobs to
indicated the count of job restarts made.
-- Added sacctmgr command "show config".
-- Added the scancel option --nodelist to cancel any jobs running on a
given list of nodes.
-- Add partition-specific DefaultTime (default time limit for jobs,
if not specified use MaxTime for the partition. Patch from Par
Andersson, National Supercomputer Centre, Sweden.
-- Add support for the scontrol command to be able change the Weight
associated with nodes. Patch from Krishnakumar Ravi[KK] (HP).
-- Add DebugFlag configuration option of "CPU_Bind" for detailed CPU
binding information to be logged.
-- Fix some significant bugs in task binding logic (possible infinite loops
and memory corruption).
-- Add new node state flag of NODE_STATE_MAINT indicating the node is in
a reservation of type MAINT.
-- Modified task/affinity plugin to automatically bind tasks to sockets,
cores, or threads as appropriated based upon resource allocation and
task count. User can override with srun's --cpu_bind option.
-- Fix bug in backfill logic for select/cons_res plugin, resulted in
error "cons_res:_rm_job_from_res: node_state mis-count".
-- Add logic go bind a batch job to the resources allocated to that job.
-- Add configuration parameter MpiParams for (future) OpenMPI port
management. Add resv_port_cnt and resv_ports fields to the job step
data structures. Add environment variable SLURM_STEP_RESV_PORTS to
show what ports are reserved for a job step.
-- Add support for SchedulerParameters=interval=<sec> to control the time
interval between executions of the backfill scheduler logic.
-- Preserve record of last job ID in use even when doing a cold-start unless
there is no job state file or there is a change in its format (which only
happens when there is a change in SLURM's major or minor version number:
v1.3 -> v1.4).
-- Added new configuration parameter KillOnBadExit to kill a job step as soon
as any task of a job step exits with a non-zero exit code. Patch based
on work from Eric Lin, Bull.
-- Add spank plugin calls for use by salloc and sbatch command, see
"man spank" for details.
-- NOTE: Cold-start (without preserving state) required for upgrade from
* Changes in SLURM 1.4.0-pre7
=============================
-- Bug fix for preemption with select/cons_res when there are no idle nodes.
-- Bug fix for use of srun options --exclusive and --cpus-per-task together
for job step resource allocation (tracking of cpus in use was bad).
-- Added the srun option --preserve-env to pass the current values of
environment variables SLURM_NNODES and SLURM_NPROCS through to the
executable, rather than computing them from commandline parameters.
-- For select/cons_res or sched/gang only: Validate a job's resource
allocation socket and core count on each allocated node. If the node's
configuration has been changed, then abort the job.
-- For select/cons_res or sched/gang only: Disable updating a node's
processor count if FastSchedule=0. Administrators must set a valid
processor count although the memory and disk space configuration can
be loaded from the compute node when it starts.
-- Add configure option "--disable-iso8601" to disable SLURM use of ISO 8601
time format at the time of SLURM build. Default output for all commands
is now ISO 8601 (yyyy-mm-ddThh:mm:ss).
-- Add support for scontrol to explicity power a node up or down using the
configured SuspendProg and ResumeProg programs.
-- Fix book select/cons_res logic for tracking the number of allocated
CPUs on a node when a partition's Shared value is YES or FORCE.
-- Added configure options "--enable-cray-xt" and "--with-apbasil=PATH" for
eventual support of Cray-XT systems.
* Changes in SLURM 1.4.0-pre6
=============================
-- Fix job preemption when sched/gang and select/linear are configured with
non-sharing partitions.
-- In select/cons_res insure that required nodes have available resources.
* Changes in SLURM 1.4.0-pre5
=============================
-- Correction in setting of SLURM_CPU_BIND environment variable.
-- Rebuild slurmctld's job select_jobinfo->node_bitmap on restart/reconfigure
of the daemon rather than restoring the bitmap since the nodes in a system
can change (be added or removed).
-- Add configuration option "--with-cpusetdir=PATH" for non-standard
locations.
-- Get new multi-core data structures working on BlueGene systems.
-- Modify PMI_Get_clique_ranks() to return an array of integers rather
than a char * to satisfy PMI standard. Correct logic in
PMI_Get_clique_size() for when srun --overcommit option is used.
-- Fix bug in select/cons_res, allocated a job all of the processors on a
node when the --exclusive option is specified as a job submit option.
-- Add NUMA cpu_bind support to the task affinity plugin. Binds tasks to
a set of CPUs that belong NUMA locality domain with the appropriate
--cpu-bind option (ldoms, rank_ldom, map_ldom, and mask_ldom), see
"man srun" for more information.
* Changes in SLURM 1.4.0-pre4
=============================
-- For task/affinity, force jobs to use a particular task binding by setting
the TaskPluginParam configuration parameter rather than slurmd's
SLURM_ENFORCED_CPU_BIND environment variable.
-- Enable full preemption of jobs by partition with select/cons_res
(cons_res_preempt.patch from Chris Holmes, HP).
-- Add configuration parameter DebugFlags to provide detailed logging for
specific subsystems (steps and triggers so far).
-- srun's --no-kill option is passed to slurmctld so that a job step is
killed even if the node where srun executes goes down (unless the
--no-kill option is used, previous termination logic would fail if
srun was not responding).
-- Transfer a job step's core bitmap from the slurmctld to the slurmd
within the job step credential.
-- Add cpu_bind, cpu_bind_type, mem_bind and mem_bind_type to job allocation
request and job_details structure in slurmctld. Add support to --cpu_bind
and --mem_bind options from salloc and sbatch commands.
Moe Jette
committed
* Changes in SLURM 1.4.0-pre3
=============================
-- Internal changes: CPUs per node changed from 32-bit to 16-bit size.
Node count fields changed from 16-bit to 32-bit size in some structures.
-- Remove select plugin functions select_p_get_extra_jobinfo(),
select_p_step_begin() and select_p_step_fini().
-- Remove the following slurmctld job structure fields: num_cpu_groups,
cpus_per_node, cpu_count_reps, alloc_lps_cnt, alloc_lps, and used_lps.
Use equivalent fields in new "select_job" structure, which is filled
in by the select plugins.
-- Modify mem_per_task in job step request from 16-bit to 32-bit size.
Use new "select_job" structure for the job step's memory management.
-- Add core_bitmap_job to slurmctld's job step structure to identify
Moe Jette
committed
-- Add new configuration option OverTimeLimit to permit jobs to exceed
their (soft) time limit by a configurable amount. Backfill scheduling
will be based upon the soft time limit.
Moe Jette
committed
-- Remove select_g_get_job_cores(). That data is now within the slurmctld's
job structure.
* Changes in SLURM 1.4.0-pre2
=============================
-- Remove srun's --ctrl-comm-ifhn-addr option (for PMI/MPICH2). It is no
longer needed.
-- Modify power save mode so that nodes can be powered off when idle. See
https://computing.llnl.gov/linux/slurm/power_save.html or
"man slurm.conf" (SuspendProgram and related parameters) for more
information.
-- Added configuration parameter PrologSlurmctld, which can be used to boot
nodes into a particular state for each job. See "man slurm.conf" for
details.
-- Add configuration parameter CompleteTime to control how long to wait for
a job's completion before allocating already released resources to pending
jobs. This can be used to reduce fragmentation of resources. See
"man slurm.conf" for details.
-- Make default CryptoType=crypto/munge. OpenSSL is now completely optional.
-- Make default AuthType=auth/munge rather than auth/none.
-- Change output format of "sinfo -R" from "%35R %N" to "%50R %N".
* Changes in SLURM 1.4.0-pre1
=============================
-- Save/restore a job's task_distribution option on slurmctld retart.
NOTE: SLURM must be cold-started on converstion from version 1.3.x.
-- Remove task_mem from job step credential (only job_mem is used now).
-- Remove --task-mem and --job-mem options from salloc, sbatch and srun
(use --mem-per-cpu or --mem instead).
-- Remove DefMemPerTask from slurm.conf (use DefMemPerCPU or DefMemPerNode
instead).
-- Modify slurm_step_launch API call. Move launch host from function argument
to element in the data structure slurm_step_launch_params_t, which is
used as a function argument.
-- Add state_reason_string to job state with optional details about why
a job is pending.
-- Make "scontrol show node" output match scontrol input for some fields
("Cores" changed to "CoresPerSocket", etc.).
-- Add support for a new node state "FUTURE" in slurm.conf. These node records
are created in SLURM tables for future use without a reboot of the SLURM
daemons, but are not reported by any SLURM commands or APIs.
* Changes in SLURM 1.3.17
=========================
-- Fix bug in configure script that can clear user specified LIBS.
* Changes in SLURM 1.3.16
=========================
-- Fix memory leak in forward logic of tree message passing.
-- Fix job exit code recorded for srun job allocation.
-- Bluegene - Bug fix for too many parameters being passed to a debug statement
-- Bluegene - Bug fix for systems running more than 8 in the X dim running
Dynamic mode.
* Changes in SLURM 1.3.15
=========================
-- Fix bug in squeue command with sort on job name ("-S j" option) for jobs
that lack a name. Previously generated an invalid memory reference.
-- Permit the TaskProlog to write to the job's standard output by writing
a line containing the prefix "print " to it's standard output.
-- Fix for making the slurmdbd agent thread start up correctly when
stopped and then started again.
-- Add squeue option to report jobs by account (-U or --account). Patch from
Par Andersson, National Supercomputer Centre, Sweden.
-- Add -DNUMA_VERSION1_COMPATIBILITY to Makefile CFLAGS for proper behavior
when building with NUMA version 2 APIs.
-- BLUEGENE - slurm works on a BGP system.
-- BLUEGENE - slurm handles HTC blocks
-- BLUEGENE - Added option DenyPassthrough in the bluegene.conf. Can be set
to any combination of X,Y,Z to not allow passthroughs when running in
dynamic layout mode.
-- Fix bug in logic to remove a job's dependency, could result in abort.
-- Add new error message to sched/wiki and sched/wiki2 (Maui and Moab) for
STARTJOB request: "TASKLIST includes non-responsive nodes".
-- Fix bug in select/linear when used with sched/gang that can result in a
job's required or excluded node specification being ignored.
-- Add logic to handle message connect timeouts (timed-out.patch from
Chuck Clouston, Bull).
-- BLUEGENE - CFLAGS=-m64 is no longer required in configure
-- Update python-hostlist code from Kent Engström (NSC) to v1.5
- Add hostgrep utility to search for lines matching a hostlist.
- Make each "-" on the command line count as one hostlist argument.
If multiple hostslists are given on stdin they are combined to a
union hostlist before being used in the way requested by the
options.
-- When using -j option in sacct no user restriction will applied unless
specified with the -u option.
-- For sched/wiki and sched/wiki2, change logging of wiki message traffic
from debug() to debug2(). Only seen if SlurmctldDebug is configured to
6 or higher.
-- Significant speed up for association based reports in sreport
-- BLUEGENE - fix for checking if job can run with downed nodes. Previously
sbatch etc would tell you node configuration not available now jobs are
accepted but held until nodes are back up.
-- Fix in accounting so if any nodes are removed from the system when they
were previously down will be recorded correctly.
-- For sched/wiki2 (Moab), add flag to note if job is restartable and
prevent deadlock of job requeue fails.
-- Modify squeue to return non-zero exit code on failure. Patch from
Par Andersson (NSC).
-- Correct logic in select/cons_res to allocate a job the maximum node
count from a range rather than minimum (e.g. "sbatch -N1-4 my.sh").
-- In accounting_storage/filetxt and accounting_storage/pgsql fix
possible invalid memory reference when a job lacks a name.
-- Give srun command an exit code of 1 if the prolog fails.
-- BLUEGENE - allows for checking nodecard states in the system instead
of midplane state so as to not down an entire midplane if you don't
have to.
-- BLUEGENE - fix creation of MESH blocks
-- BLUEGENE - on job cancellation we call jm_cancel_job and then wait until
the system cleans up the job. Before we would send a SIGKILL right
at the beginning.
-- BLUEGENE - if a user specifies a node count that can not be met the job
will be refused instead of before the plugin would search for the next
larger size that could be created. This prevents users asking for
things that can't be created, and then getting something back they might
not be expecting.
* Changes in SLURM 1.3.14
=========================
-- SECURITY BUG: Fix in sbcast logic that permits users to write files based
upon supplimental groups of the slurmd daemon. Similar logic for event
triggers if slurmctld is run as user root (not typical).
* Changes in SLURM 1.3.13
=========================
-- Added ability for slurmdbd to archive and purge step and/or job records.
-- Added DefaultQOS as an option to slurmdbd.conf for when clusters are
added the default will be set to this if none is given in the sacctmgr line.
-- Added configure option --enable-sun-const for Sun Constellation system with
3D torus interconnect. Supports proper smap and sview displays for 3-D
topology. Node names are automatically put into Hilbert curve order given
a one-line nodelist definition in slurm.conf (e.g. NodeNames=sun[000x533]).
-- Fixed bug in parsing time for sacct and sreport to pick the correct year if
none is specified.
-- Provide better scheduling with overlapping partitions (when a job can not
be scheduled due to insufficient resources, reserve specific the nodes
associated with that partition rather than blocking all partitions with
any overlapping nodes).
-- Correct logic to log in a job's stderr that it was "CANCELLED DUE TO
NODE FAILURE" rather than just "CANCELLED".
-- Fix to crypto/openssl plugin that could result in job launch requests
being spoofed through the use of an improperly formed credential. This bug
could permit a user to launch tasks on compute nodes not allocated for
their use, but will NOT permit them to run tasks as another user. For more
information see http://www.ocert.org/advisories/ocert-2008-016.html
* Changes in SLURM 1.3.12
=========================
-- Added support for Workload Characteristic Key (WCKey) in accounting. The
WCkey is something that can be used in accounting to group associations
together across clusters or within clusters that are not related. Use
the --wckey option in srun, sbatch or salloc or set the SLURM_WCKEY env
var to have this set. Use sreport with the wckey option to view reports.
THIS CHANGES THE RPC LEVEL IN THE SLURMDBD. YOU MUST UPGRADE YOUR SLURMDBD
BEFORE YOU UPGRADE THE REST OF YOUR CLUSTERS. THE NEW SLURMDBD WILL TALK
TO OLDER VERSIONS OF SLURM FINE.
-- Added configuration parameter BatchStartTimeout to control how long to
allow for a batch job prolog and environment loading (for Moab) to run.
Previously if job startup took too long, a batch job could be cancelled
before fully starting with a SlurmctldLog message of "Master node lost
JobId=#, killing it". See "man slurm.conf" for details.
-- For a job step, add support for srun's --nodelist and --exclusive options
to be used together.
-- On slurmstepd failure, set node state to DRAIN rather than DOWN.
-- Fix bug in select/cons_res that would incorrectly satify a tasks's
--cpus-per-task specification by allocating the task CPUs on more than
one node.
-- Add support for hostlist expressions containing up to two numeric
expressions (e.g. "rack[0-15]_blade[0-41]").
-- Fix bug in slurmd message forwarding which left file open in the case of
some communication failures.
-- Correction to sinfo node state information on BlueGene systems. DRAIN
state was replaced with ALLOC or IDLE under some situations.
-- For sched/wiki2 (Moab), strip quotes embedded within job names from the
name reported.
-- Fix bug in jobcomp/script that could cause the slurmctld daemon to exit
upon reconfiguration ("scontrol reconfig" or SIGHUP).
-- Fix to sinfo, don't print a node's memory size or tmp_disk space with
suffix of "K" or "M" (thousands or millions of megabytes).
-- Improve efficiency of scheduling jobs into partitions which do not overlap.
-- Fixed sreport user top report to only display the limit specified
instead of all users.
* Changes in SLURM 1.3.11
=========================
-- Bluegene/P support added (minimally tested, but builds correctly).
-- Fix infinite loop when using accounting_storage/mysql plugin either from
the slurmctld or slurmdbd daemon.
-- Added more thread safety for assoc_mgr in the controller.
-- For sched/wiki2 (Moab), permit clearing of a job's dependencies with the
JOB_MODIFY option "DEPEND=0".
-- Do not set a running or pending job's EndTime when changing it's time
limit.
-- Fix bug in use of "include" parameter within the plugstack.conf file.
-- Fix bug in the parsing of negative numeric values in configuration files.
-- Propagate --cpus-per-task parameter from salloc or sbatch input line to
the SLURM_CPUS_PER_TASK environment variable in the spawned shell for
srun to use.
-- Add support for srun --cpus-per-task=0. This can be used to spawn tasks
without allocating resouces for the job step from the job's allocation
when running multiple job steps with the --exclusive option.
-- Remove registration messages from saved messages when bringing down cluster.
Without causes deadlock if wrong cluster name is given.
-- Correction to build for srun debugger (export symbols).
-- sacct will now display more properly allocations made with salloc with only
one step.
-- Altered sacctmgr, sreport to look at complete option before applying.
Before we would only look at the first determined significant characters.
-- BLUGENE - in overlap mode marking a block to error state will now end
jobs on overlapping blocks and free them.
-- Give a batch job 20 minutes to start before considering it missing and
killing it (long delay could result from slurmd being paged out). Changed
the log message from "Master node lost JobId=%u, killing it" to "Batch
JobId=%u missing from master node, killing it".
-- Avoid "Invalid node id" error when a job step within an existing job
allocation specifies a node count which is less than the node count
allocated in order to satisfy the task count specification (e.g.
"srun -n16 -N1 hostname" on allocation of 16 one-CPU nodes).
-- For sched/wiki2 (Moab) disable changing a job's name after it has begun
execution.
* Changes in SLURM 1.3.10
=========================
-- Fix several bugs in the hostlist functions:
- Fix hostset_insert_range() to do proper accounting of hl->nhosts (count).
- Avoid assertion failure when callinsg hostset_create(NULL).
- Fix return type of hostlist and hostset string functions from size_t to
ssize_t.
- Add check for NULL return from hostlist_create().
- Rewrite of hostrange_hn_within(), avoids reporting "tst0" in the hostlist
"tst".
-- Modify squeue to accept "--nodes=<hostlist>" rather than
"--node=<node_name>" and report all jobs with any allocated nodes from set
of nodes specified. From Par Anderson, National Supercomputer Centre,
Sweden.
-- Fix bug preventing use of TotalView debugger with TaskProlog configured or
or srun's --task-prolog option.
-- Improve reliability of batch job requeue logic in the event that the slurmd
daemon is temporarily non-responsive (for longer than the configured
MessageTimeout value but less than the SlurmdTimeout value).
-- In sched/wiki2 (Moab) report a job's MAXNODES (maximum number of permitted
nodes).
-- Fixed SLURM_TASKS_PER_NODE to live up more to it's name on an allocation.
Will now contain the number of tasks per node instead of the number of CPUs
per node. This is only for a resource allocation. Job steps already have
the environment variable set correctly.
-- Configuration parameter PropagateResourceLimits has new option of "NONE".
-- User's --propagate options take precidence over PropagateResourceLimits
configuration parameter in both srun and sbatch commands.
-- When Moab is in use (salloc or sbatch is executed with the --get-user-env
option to be more specific), load the user's default resource limits rather
than propagating the Moab daemon's limits.
-- Fix bug in slurmctld restart logic for recovery of batch jobs that are
initiated as a job step rather than an independent job (used for LSF).
-- Fix bug that can cause slurmctld restart to fail, bug introduced in SLURM
version 1.3.9. From Eygene Ryabinkin, Kurchatov Institute, Russia.
-- Permit slurmd configuration parameters to be set to new values from
previously unset values.
* Changes in SLURM 1.3.9
========================
-- Fix jobs being cancelled by ctrl-C to have correct cancelled state in
accounting.
-- Slurmdbd will only cache user data, made for faster start up
-- Improved support for job steps in FRONT_END systems
-- Added support to dump and load association information in the controller
on start up if slurmdbd is unresponsive
-- BLUEGENE - Added support for sched/backfill plugin
-- sched/backfill modified to initiate multiple jobs per cycle.
-- Increase buffer size in srun to hold task list expressions. Critical
for jobs with 16k tasks or more.
-- Added support for eligible jobs and downed nodes to be sent to accounting
from the controller the first time accounting is turned on.
-- Correct srun logic to support --tasks-per-node option without task count.
-- Logic in place to handle multiple versions of RPCs within the slurmdbd.
THE SLURMDBD MUST BE UPGRADED TO THIS VERSION BEFORE UPGRADING THE
SLURMCTLD OR THEY WILL NOT TALK.
Older versions of the slurmctld will continue to talk to the new slurmdbd.
-- Add support for new job dependency type: singleton. Only one job from a
given user with a given name will execute with this dependency type.
From Matthieu Hautreux, CEA.
-- Updated contribs/python/hostlist to version 1.3: See "CHANGES" file in
that directory for details. From Kent Engström, NSC.
-- Add SLURM_JOB_NAME environment variable for jobs submitted using sbatch.
In order to prevent the job steps from all having the same name as the
batch job that spawned them, the SLURM_JOB_NAME environment variable is
ignored when setting the name of a job step from within an existing
resource allocation.
-- For use with sched/wiki2 (Moab only), set salloc's default shell based
upon the user who the job runs as rather than the user submitting the job
(user root).
-- Fix to sched/backfill when job specifies no time limit and the partition
time limit is INFINITE.
-- Validate a job's constraints (node features) at job submit or modification
time. Major re-write of resource allocation logic to support more complex
job feature requests.
-- For sched/backfill, correct logic to support job constraint specification
(e.g. node features).
-- Correct power save logic to avoid trying to wake DOWN node. From Matthieu
Hautreux, CEA.
-- Cancel a job step when one of it's nodes goes DOWN based upon the job
step's --no-kill option, by default the step is killed (previously the
job step remained running even without the --no-kill option).
-- Fix bug in logic to remove whitespace from plugstack.conf.
-- Add new configuration parameter SallocDefaultCommand to control what
shell that salloc launches by default.
-- When enforcing PrivateData configuration parameter, failures return
"Access/permission denied" rather than "Invalid user id".
-- From sbatch and srun, if the --dependency option is specified then set
the environment variable SLURM_JOB_DEPENDENCY to the same value.
-- In plugin jobcomp/filetxt, use ISO8601 formats for time by default (e.g.
YYYY-MM-DDTHH:MM:SS rather than MM/DD-HH:MM:SS). This restores the default
behavior from Slurm version 1.2. Change the value of USE_ISO8601 in
src/plusings/jobcomp/filetxt/jobcomp_filetxt.c to revert the behavior.
-- Add support for configuration option of ReturnToService=2, which will
return a DOWN to use if the node was previous set DOWN for any reason.
-- Removed Gold accounting plugin. This plugin was to be used for accounting
but has seen not been maintained and is no longer needed. If using this
please contact slurm-dev@llnl.gov.
-- When not enforcing associations and running accounting if a user
submits a job to an account that does not have an association on the
cluster the account will be changed to the default account to help
avoid trash in the accounting system. If the users default account
does not have an association on the cluster the requested account
will be used.
-- Add configuration parameter "--have-front-end" to define HAVE_FRONT_END
in config.h and run slurmd only on a front end (suitable only for SLURM
development and testing).
* Changes in SLURM 1.3.8
========================
-- Added PrivateData flags for Users, Usage, and Accounts to Accounting.
If using slurmdbd, set in the slurmdbd.conf file. Otherwise set in the
slurm.conf file. See "man slurm.conf" or "man slurmdbd.conf" for details.
-- Reduce frequency of resending job kill RPCs. Helpful in the event of
network problems or down nodes.
-- Fix memory leak caused under heavy load when running with select/cons_res
plus sched/backfill.
-- For salloc, if no local command is specified, execute the user's default
shell.
-- BLUEGENE - patch to make sure when starting a job blocks required to be
freed are checked to make sure no job is running on them. If one is found
we will requeue the new job. No job will be lost.
-- BLUEGENE - Set MPI environment variables from salloc.
-- BLUEGENE - Fix threading issue for overlap mode
-- Reject batch scripts containing DOS linebreaks.
-- BLUEGENE - Added wait for block boot to salloc
* Changes in SLURM 1.3.7
========================
-- Add jobid/stepid to MESSAGE_TASK_EXIT to address race condition when
a job step is cancelled, another is started immediately (before the
first one completely terminates) and ports are reused.
NOTE: This change requires that SLURM be updated on all nodes of the
cluster at the same time. There will be no impact upon currently running
jobs (they will ignore the jobid/stepid at the end of the message).
-- Added Python module to process hostslists as used by SLURM. See
contribs/python/hostlist. Supplied by Kent Engstrom, National
Supercomputer Centre, Sweden.
-- Report task termination due to signal (restored functionality present
in slurm v1.2).
-- Remove sbatch test for script size being no larger than 64k bytes.
The current limit is 4GB.
-- Disable FastSchedule=0 use with SchedulerType=sched/gang. Node
configuration must be specified in slurm.conf for gang scheduling now.
-- For sched/wiki and sched/wiki2 (Maui or Moab scheduler) disable the ability
of a non-root user to change a job's comment field (used by Maui/Moab for
storing scheduler state information).
-- For sched/wiki (Maui) add pending job's future start time to the state
info reported to Maui.
-- Improve reliability of job requeue logic on node failure.
-- Add logic to ping non-responsive nodes even if SlurmdTimeout=0. This permits
the node to be returned to use when it starts responding rather than
remaining in a non-usable state.
-- Honor HealthCheckInterval values that are smaller than SlurmdTimeout.
-- For non-responding nodes, log them all on a single line with a hostlist
expression rather than one line per node. Frequency of log messages is
dependent upon SlurmctldDebug value from 300 seconds at SlurmctldDebug<=3