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 1.3.0-pre8
=============================
-- Modify how strings are packed in the RPCs, Maximum string size
increased from 64KB (16-bit size field) to 4GB (32-bit size field).
-- Fix bug that prevented time value of "INFINITE" from being processed.
-- Added new srun/sbatch option "--open-mode" to control how output/error
files are opened ("t" for truncate, "a" for append).
-- Added checkpoint/xlch plugin for use with XLCH (Hongjia Cao, NUDT).
-- Added srun option --checkpoint-path for use with XLCH (Hongjia Cao, NUDT).
-- Added new srun/salloc/sbatch option "--acctg-freq" for user control over
accounting data collection polling interval.
-- In sched/wiki2 add support for hostlist expression use in GETNODES command
with HostFormat=2 in the wiki.conf file.
-- Added new scontrol option "setdebug" that can change the slurmctld daemons
debug level at any time (Hongjia Cao, NUDT).
-- Track total total suspend time for jobs and steps for accounting purposes.
-- Add version information to partition state file.
* Changes in SLURM 1.3.0-pre7
=============================
-- Fix a bug in the processing of srun's --exclusive option for a job step.
* Changes in SLURM 1.3.0-pre6
=============================
-- Add support for configurable number of jobs to share resources using the
partition Shared parameter in slurm.conf (e.g. "Shared=FORCE:3" for two
jobs to share the resources). From Chris Holmes, HP.
-- Made salloc use api instead of local code for message handling.
* Changes in SLURM 1.3.0-pre5
=============================
-- Add select_g_reconfigure() function to node changes in slurmctld configuration
that can impact node scheduling.
-- scontrol to set/get partition's MaxTime and job's Timelimit in minutes plus
new formats: min:sec, hr:min:sec, days-hr:min:sec, days-hr, etc.
-- scontrol "notify" command added to send message to stdout of srun for
specified job id.
Moe Jette
committed
-- For BlueGene, make alpha part of node location specification be case insensitive.
-- Report scheduler-plugin specific configuration information with the
"scontrol show configuration" command on the SCHEDULER_CONF line. This
information is not found in the "slurm.conf" file, but a scheduler plugin
specific configuration (e.g. "wiki.conf").
-- sview partition information reported now includes partition priority.
-- Expand job dependency specification to support concurrent execution,
testing of job exit status and multiple job IDs.
* Changes in SLURM 1.3.0-pre4
=============================
-- Job step launch in srun is now done from the slurm api's all further
modifications to job launch should be done there.
-- Add new partition configuration parameter Priority. Add job count to
Shared parameter.
-- Add new configuration parameters DefMemPerTask, MaxMemPerTask, and
SchedulerTimeSlice.
-- In sched/wiki2, return REJMESSAGE with details on why a job was
requeued (e.g. what node failed).
* Changes in SLURM 1.3.0-pre3
=============================
-- Added srun option "--checkpoint=time" for job step to automatically be
checkpointed on a period basis.
-- Change behavior of "scancel -s KILL <jobid>" to send SIGKILL to all job
steps rather than cancelling the job. This now matches the behavior of
all other signals. "scancel <jobid>" still cancels the job and all steps.
-- Add support for new job step options --exclusive and --immediate. Permit
job steps to be queued when resources are not available within an existing
job allocation to dedicate the resources to the job step. Useful for
executing simultaneous job steps. Provides resource management both at
the level of jobs and job steps.
srun --nodes=16 --constraint=graphics*4 ...
Based upon work by Kumar Krishna (HP, India).
-- Add multi-core options to salloc and sbatch commands (sbatch.patch and
cleanup.patch from Chris Holmes, HP).
-- In select/cons_res properly release resources allocated to job being
suspended (rmbreak.patch, from Chris Holmes, HP).
-- Removed database and jobacct plugin replaced with jobacct_storage
and jobacct_gather for easier hooks for further expansion of the
jobacct plugin.
* Changes in SLURM 1.3.0-pre2
=============================
-- Added new srun option --pty to start job with pseudo terminal attached
to task 0 (all other tasks have I/O discarded)
-- Disable user specifying jobid when sched/wiki2 configured (needed for
Moab releases until early 2007).
-- Report command, args and working directory for batch jobs with
"scontrol show job".
* Changes in SLURM 1.3.0-pre1
=============================
Christopher J. Morrone
committed
-- !!! SRUN CHANGES !!!
The srun options -A/--allocate, -b/--batch, and -a/--attach have been
removed! That functionality is now available in the separate commands
salloc, sbatch, and sattach, respectively.
-- Add new node state FAILING plus trigger for when node enters that state.
-- Add new configuration paramter "PrivateData". This can be used to
prevent a user from seeing jobs or job steps belonging to other users.
-- Added configuration parameters for node power save mode: ResumeProgram
ResumeRate, SuspendExcNodes, SuspendExcParts, SuspendProgram and
SuspendRate.
-- Slurmctld maintains the IP address (rather than hostname) for srun
communications. This fixes some possible network routing issues.
-- Added global database plugin. Job accounting and Job completion are the
first to use it. Follow documentation to add more to the plugin.
-- Removed no-longer-needed jobacct/common/common_slurmctld.c since that is
replaced by the database plugin.
-- Added new configuration parameter: CryptoType.
Moved existing digital signature logic into new plugin: crypto/openssl.
Added new support for crypto/munge (available with GPL license).
* Changes in SLURM 1.2.22
=========================
-- In sched/wiki2, add support for MODIFYJOB option "MINSTARTTIME=<time>"
to modify a job's earliest start time.
-- In sbcast, fix bug with large files and causing sbcast to die.
-- In sched/wiki2, add support for COMMENT= option in STARTJOB and CANCELJOB
commands.
* Changes in SLURM 1.2.21
=========================
-- Fixed torque wrappers to look in the correct spot for the perl api
-- Do not treat user resetting his time limit to the current value as
an error.
-- Set correct executable names for Totalview when --multi-prog option
is used and more than one node is allocated to the job step.
-- When a batch job gets requeued, record in accounting logs that
the job was cancelled, the requeued job's submit time will be
set to the time of its requeue so it looks like a different job.
-- Prevent communication problems if the slurmd/slurmstepd have a
different JobAcct plugin configured than slurmctld.
-- Adding Gold plugin for job accounting
-- In sched/wiki2, add support for MODIFYJOB option "JOBNAME=<name>"
to modify a job's name.
-- Add configuration check for sys/syslog.h and include it as needed.
-- Add --propagate option to sbatch for control over limit propagation.
-- Added Gold interface to the jobacct plugin. To configure in the config
file specify...
JobAcctType=jobacct/gold
JobAcctLogFile=CLUSTER_NAME:GOLD_AUTH_KEY_FILE:GOLDD_HOST:GOLDD_PORT7112
-- In slurmctld job record, set begin_time to time when all of a job's
dependencies are met.
* Changes in SLURM 1.2.20
=========================
-- In switch/federation, fix small memory leak effecting slurmd.
-- Add PMI_FANOUT_OFF_HOST environment variable to control how message
forwarding is done for PMI (MPICH2). See "man srun" for details.
-- From sbatch set SLURM_NTASKS_PER_NODE when --ntasks-per-node option is
specified.
-- BLUEGENE: Documented the prefix should always be lower case and the 3
digit suffix should be uppercase if any letters are used as digits.
-- In sched/wiki and sched/wiki2, add support for --cpus-per-task option.
From Miguel Ros, BSC.
-- In sched/wiki2, prevent invalid memory pointer (and likely seg fault)
for job associated with a partition that has since been deleted.
-- In sched/wiki2 plus select/cons_res, prevent invalid memory pointer
(and likely seg fault) when a job is requeued.
-- In sched/wiki, add support for job suspend, resume, and modify.
-- In sched/wiki, add suppport for processor allocation (not just node allocation)
with layout control.
-- Prevent re-sending job termination RPC to a node that has already completed
the job. Only send it to specific nodes which have not reported completion.
-- Support larger environment variables 64K instead of BUFSIZ (8k on some
systems).
-- If a job is being requeued, job step create requests will print a
warning and repeatedly retry rather than aborting.
-- Add optional mode value to srun and sbatch --get-user-env option.
-- Print error message and retry job submit commands when MaxJobCount
is reached. From Don Albert, Bull.
-- Treat invalid begin time specification as a fatal error in sbatch and
srun. From Don Albert, Bull.
-- Validate begin time specification to avoid hours >24, minutes >59, etc.
* Changes in SLURM 1.2.19
=========================
*** NOTE IMPORTANT CHANGE IN RPM BUILD BELOW ****
-- slurm.spec file (used to build RPMs) was updated in order to support Mock, a
chroot build environment. See https://hosted.fedoraproject.org/projects/mock/
for more information. The following RPMs are no longer build by default:
aix-federation, auth_none, authd, bluegene, sgijob, and switch-elan. Change
the RPMs built using the following options in ~/rpmmacros: "%_with_authd 1",
"%_without_munge 1", etc. See the slurm.spec file for more details.
-- Print warning if non-privileged user requests negative "--nice" value on
job submission (srun, salloc, and sbatch commands).
-- In sched/wiki and sched/wiki2, add support for srun's --ntasks-per-node
option.
-- In select/bluegene with Groups defined for Images, fix possible memory
corruption. Other configurations are not affected.
-- BLUEGENE - Fix bug that prevented user specification of linux-image,
mloader-image, and ramdisk-image on job submission.
-- BLUEGENE - filter Groups specified for image not just by submitting
user's current group, but all groups the user has access to.
-- BLUEGENE - Add salloc options to specify images to be loaded (--blrts-image,
--linux-image, --mloader-image, and --ramdisk-image).
-- BLUEGENE - In bluegene.conf, permit Groups to be comma separated in addition
to colon separators previously supported.
-- sbatch will accept batch script containing "#SLURM" options and advise
changed to "#SBATCH".
-- If srun --output or --error specification contains a task number rather
than a file name, send stdout/err from specified task to srun's stdout/err
rather than to a file by the same name as the task's number.
-- For srun --multi-prog option, verify configuration file before attempting
to launch tasks, report clear explanation of any configuration file errors.
-- For sched/wiki2, add optional timeout option to srun's --get-user-env
parameter, change default timeout for "su - <user> env" from 3 to 8 seconds.
On timeout, attempt to load env from file at StateSaveLocation/env_cache/<user>.
The format of this file is the same as output of "env" command. If there
is no env cache file, then abort the request.
-- squeue modified for completing job to remove nodes that have already
completed the job before applying node filter logic.
-- squeue formatted output option added for job comment, "%q" (the obvious
choices for letters are already in use).
-- Added configure option --enable-load-env-no-login for use with Moab. If
set then the user job runs with the environment built without a login
("su <user> env" rather than "su - <user> env").
-- Fix output of "srun -o %C" (allocated CPU count) for running jobs. This was
broken in 1.2.18 for handling requeue of Moab jobs.
-- Added logic to mpiexec wrapper to read in the MPIEXEC_TIMEOUT var
-- Updated qstat wrapper to display information for partitions (-Q) option
-- NOTE: SLURM should now work directly with Globus using the PBS GRAM.
* Changes in SLURM 1.2.18
=========================
-- BLUEGENE - bug fix for smap stating passthroughs are used when they aren't
-- Fixed bug in sview to be able to edit partitions correctly
-- Fixed bug so in slurm.conf files where SlurmdPort isn't defined things
work correctly.
-- In sched/wiki2 and sched/wiki add support for batch job being requeued
in Slurm either when nodes fail or upon request.
-- In sched/wiki2 and sched/wiki with FastSchedule=2 configured and nodes
configured with more CPUs than actually exist, return a value of TASKS
equal to the number of configured CPUs that are allocated to a job rather
than the number of physical CPUs allocated.
-- For sched/wiki2, timeout "srun --get-user-env ..." command after 3 seconds
if unable to perform pseudo-login and get user environment variables.
-- Add contribs/time_login.c program to test how long pseudo-login takes
for specific users or all users. This can identify users for which Moab
job submissions are unable to set the proper environment variables.
-- Fix problem in parallel make of Slurm.
-- Fixed bug in consumable resources when CR_Core_Memory is enabled
-- Add delay in slurmctld for "scontrol shutdown" RPC to get propagated
to slurmd daemons.
* Changes in SLURM 1.2.17
=========================
-- In select/cons_res properly release resources allocated to job being
suspended (rmbreak.patch, from Chris Holmes, HP).
-- Fix AIX linking problem for PMI (mpich2) support.
-- Improve PMI logic for greater scalability (up to 16k tasks run).
-- Add srun support for SLURM_THREADS and PMI_FANOUT environment variables.
-- Fix support in squeue for output format with left justification of
reason (%r) and reason/node_list (%R) output.
-- Automatically requeue a batch job when a node allocated to it fails
or the prolog fails (unless --no-requeue or --no-kill option used).
-- In sched/wiki, enable use of wiki.conf parameter ExcludePartitions to
directly schedule selected partitions without Maui control.
-- In sched/backfill, if a job requires specific nodes, schedule other jobs
ahead of it rather than completely stopping backfill scheduling for that
partition.
-- BLUEGENE - corrected logic making block allocation work in a circular
fashion instead of linear.
* Changes in SLURM 1.2.16
=========================
-- Add --overcommit option to the salloc command.
-- Run task epilog from job's working directory rather than directory
where slurmd daemon started from.
-- Log errors running task prolog or task epilog to srun's output.
-- In sched/wiki2, fix bug processing condensed hostlist expressions.
-- Release contribs/mpich1.slurm.patch without GPL license.
-- Fix bug in mvapich plugin for read/write calls that return EAGAIN.
-- Don't start MVAPICH timeout logic until we know that srun is starting
an MVAPICH program.
-- Fix to srun only allocating number of nodes needed for requested task
count when combining allocation and step creation in srun.
-- Execute task-prolog within proctrack container to insure that all
child processes get terminated.
-- Fixed job accounting to work with sgi_job proctrack plugin.
* Changes in SLURM 1.2.15
=========================
-- In sched/wiki2, fix bug processing hostlist expressions where hosts
lack a numeric suffix.
-- Fix bug in srun. When user did not specify time limit, it defaulted to
INFINITE rather than partition's limit.
-- In select/cons_res with SelectTypeParameters=CR_Socket_Memory, fix bug in
memory allocation tracking, mem.patch from Chris Holmes, HP.
-- Add --overcommit option to the sbatch command.
* Changes in SLURM 1.2.14
=========================
-- Fix a couple of bugs in MPICH/MX support (from Asier Roa, BSC).
-- Fix perl api for AIX
-- Add wiki.conf parameter ExcludePartitions for selected partitions to
be directly schedule by Slurm without Moab control
-- Optimize load leveling for shared nodes (alloc.patch, contributed
by Chris Holmes, HP).
-- Added PMI_TIME environment variable for user to control how PMI
communications are spread out in time. See "man srun" for details.
-- Added PMI timing information to srun debug mode to aid in tuning.
Use "srun -vv ..." to see the information.
-- Added checkpoint/ompi (OpenMPI) plugin (still under development).
-- Fix bug in load leveling logic added to v1.2.13 which can cause an
infinite loop and hang slurmctld when sharing nodes between jobs.
-- Added support for sbatch to read in #PBS options from a script
* Changes in SLURM 1.2.13
=========================
-- Add slurm.conf parameter JobFileAppend.
-- Fix for segv in "scontrol listpids" on nodes not in SLURM config.
-- Add support for SCANCEL_CTLD env var.
-- In mpi/mvapich plugin, add startup timeout logic. Time based upon
SLURM_MVAPICH_TIMEOUT (value in seconds).
-- Fixed pick_step_node logic to only pick the number of nodes requested
from the user when excluding nodes, to avoid an error message.
-- Disable salloc, sbatch and srun -I/--immediate options with
Moab scheduler.
-- Added "contribs" directory with a Perl API and Torque wrappers for Torque
to SLURM migration. This directory should be used to put anything that
is outside of SLURM proper such as a different API. Perl APIs contributed
by Hongjia Cao (NUDT).
-- In sched/wiki2: add support for tasklist with node name expressions
and task counts (e.g. TASKLIST=tux[1-4]*2:tux[12-14]*4").
-- In select/cons_res with sched/wiki2: fix bug in task layout logic.
-- Removed all curses info from the bluegene plugin putting it into smap
where it belongs.
-- Add support for job time limit specification formats: min, min:sec,
hour:min:sec, and days-hour:min:sec (formerly only supported minutes).
Applies to salloc, sbatch, and srun commands.
-- Improve scheduling support for exclusive constraint list, nodes can
now be in more than one constraint specific exclusively for a job
(e.g. "srun -C [rack1|rack2|rack3|rowB] srun")
-- Create separate MPICH/MX plugin (split out from MPICH/GM plugin)
-- Increase default MessageTimeout (in slurm.conf) from 5 to 10 secs.
-- Fix bug in batch job requeue if node zero of allocation fails to respond
to task launch request.
-- Improve load leveling logic to more evenly distribute the workload
(best_load.patch, contributed by Chris Holmes, HP).
* Changes in SLURM 1.2.12
=========================
-- Increase maximum message size from 1MB to 16MB (from Ernest Artiaga, BSC).
-- In PMI_Abort(), log the event and abort the entire job step.
-- Add support for additional PMI functions: PMI_Get_clique_ranks and
PMI_Get_clique_size (from Chuck Clouston, Bull).
-- Report an error when a hostlist comes in appearing to be a box but not
formatted in XYZxXYZ format.
-- Add support for partition configuration "Shared=exclusive". This is
equivalent to "srun --exclusive" when select/cons_res is configured.
-- In sched/wiki2, report the reason for a node being unavailable for the
GETNODES command using the CAT="<reason>" field.
-- In sched/wiki2 with select/linear, duplicate hostnames in HOSTLIST, one
per allocated processor.
-- Fix bug in scancel with specific signal and job lacks active steps.
-- In sched/wiki2, add support for NOTIFYJOB ARG=<jobid> MSG=<message>.
This sends a message to an active srun command.
-- salloc will now set SLURM_NPROCS to improve srun's behavior under salloc.
-- In sched/wiki2 and select/cons_res: insure that Slurm's CPU allocation
is identical to Moab's (from Ernest Artiaga and Asier Roa, BSC).
-- Added "scontrol show slurmd" command to status local slurmd daemon.
-- Set node DOWN if prolog fails on node zero of batch job launch.
-- Properly handle "srun --cpus-per-task" within a job allocation when
SLURM_TASKS_PER_NODE environment varable is not set.
Christopher J. Morrone
committed
-- Fixed return of slurm_send_rc_msg if msg->conn_fd is < 0 set errno ENOTCONN
and return SLURM_ERROR instead of return ENOTCONN
-- Added read before we send anything down a socket to make sure the socket
is still there.
-- Add slurm.conf variables UnkillableStepProgram and UnkillableStepTimeout.
Christopher J. Morrone
committed
-- Enable nice file propagation from sbatch command.
Christopher J. Morrone
committed
* Changes in SLURM 1.2.11
=========================
-- Updated "etc/mpich1.slurm.patch" for direct srun launch of MPICH1_P4
tasks. See the "README" portion of the patch for details.
-- Added new scontrol command "show hostlist <hostnames>" to translate a list
of hostnames into a hostlist expression (e.g. "tux1,tux2" -> "tux[1-2]")
and "show hostnames <list>", returns a list of of nodes (one node per line)
from SLURM hostlist expression or from SLURM_NODELIST environment variable
if no hostlist specified.
Christopher J. Morrone
committed
-- Add the sbatch option "--wrap".
-- Add the sbatch option "--get-user-env".
-- Added support for mpich-mx (use the mpichgm plugin).
Christopher J. Morrone
committed
-- Make job's stdout and stderr file access rights be based upon user's umask
at job submit time.
-- Add support for additional PMI functions: PMI_Parse_option,
PMI_Args_to_keyval, PMI_Free_keyvals and PMI_Get_options (from Puenlap Lee
and Nancy Kritkausky, Bull).
-- Make default value of SchedulerPort (configuration parameter) be 7321.
-- Use SLURM_UMASK environment variable (if set) at job submit time as umask
for spawned job.
-- Correct some format issues in the man pages (from Gennero Oliva, ICAR).
-- Added support for parallel make across an existing SLURM allocation
based upon GNU make-3.81. Patch is in "etc/make.slurm.patch".
-- Added '-b' option to sbatch for easy MOAB trasition to sbatch instead of
srun. Option does nothing in sbatch.
-- Changed wiki2's handling of a node state in Completing to return 'busy'
instead of 'running' which matches slurm version 1.1
Christopher J. Morrone
committed
Christopher J. Morrone
committed
-- Fix race condititon in jobacct/linux with use of proctrack/pgid and a
realloc issue inside proctrack/linux
Christopher J. Morrone
committed
-- Added MPICH1_P4 plugin for direct launch of mpich1/p4 tasks using srun
and a patched version of the mpi library. See "etc/mpich1.slurm.patch".
NOTE: This is still under development and not ready for production use.
-- Add new sinfo field to sort by "%E" sorts by the time associated with a
node's state (from Prashanth Tamraparni, HP).
-- In sched/wiki: fix logic for restarting backup slurmctld.
-- Preload SLURM plugins early in the slurmstepd operation to avoid
multiple dlopens after forking (and to avoid a glibc bug
that leaves dlopen locks in a bad state after a fork).
-- Added MPICH1_P4 patch to launch tasks using srun rather than rsh and
automatically generate mpirun's machinefile based upon the job's
allocation. See "etc/mpich1.slurm.patch".
-- BLUEGENE - fix for overlap mode to mark all other base partitions as used
when creating a new block from the file to insure we only use the base
partitions we are asking for.
-- Fix in proctrack/sgi_job plugin that could cause slurmstepd to seg_fault
preventing timely clean-up of batch jobs in some cases.
* Changes in SLURM 1.2.7
========================
-- BLUEGENE - code to make it so you can make a 36x36x36 system.
Danny Auble
committed
The wiring should be correct for a system with x-dim of 1,2,4,5,8,13
in emulation mode. It will work with any real system no matter the size.
-- Major re-write of jobcomp/script plugin: fix memory leak and
general code clean-up.
-- Add ability to change MaxNodes and ExcNodeList for pending job
using scontrol.
-- Purge zombie processes spawned via event triggers.
-- Add support for power saving mode (experimental code to reduce voltage
and frequency on nodes that stay in the IDLE state, for more information
see http://www.llnl.gov/linux/slurm/power_save.html). None of this
code is enabled by default.
Moe Jette
committed
* Changes in SLURM 1.2.6
========================
-- Fix MPIRUN_PORT env variable in mvapich plugin
-- Disable setting triggers by other than user SlurmUser unless SlurmUser
is root for improved security.
Moe Jette
committed
* Changes in SLURM 1.2.5
========================
-- Fix nodelist truncation in "scontrol show jobs" output
-- In mpi/mpichgm, fix potential problem formatting GMPI_PORT, from
Ernest Artiaga, BSC.
-- In sched/wiki2 - Report job's account, from Ernest Artiaga, BSC.
-- Add sbatch option "--ntasks-per-node".
* Changes in SLURM 1.2.4
========================
-- In select/cons_res - fix for function argument type mis-match in getting
CPU count for a job, from Ernest Artiaga, BSC.
-- In sched/wiki2 - Report job's tasks_per_node requirement.
-- In forward logic fix to check if the forwarding node recieves a connection
but doesn't ever get the message from the sender (network issue or
something) also check to make sure if we get something back we make sure
we account for everything we sent out before we call it good.
-- Another fix to make sure steps with requested nodes have correct cpus
accounted for and a fix to make sure the user can't allocate more
cpus than the have requested.
* Changes in SLURM 1.2.3
========================
-- Cpuset logic added to task/affinity, from Don Albert (Bull) and
Moe Jette (LLNL). The /dev/cpuset file system must be mounted and
set "TaskPluginParam=cpusets" in slurm.conf to enable.
-- In sched/wiki2, fix possible overflow in job's nodelist, from
Ernest Artiaga, BSC.
-- Defer creation of new job steps until a suspended job is resumed.
-- In select/linear - fix for potential stack corruption bug.
* Changes in SLURM 1.2.2
========================
-- Added new command "strigger" for event trigger management, a new
capability. See "man strigger" for details.
-- srun --get-user-env now sends su's stderr to /dev/null
-- Fix in node_scheduling logic with multiple node_sets, from
Ernest Artiaga, BSC.
-- In select/cons_res, fix for function argument type mis-match in getting
CPU count for a job.
-- MPICHGM support bug fixes from Ernest Artiaga, BSC.
-- Support longer hostlist strings, from Ernest Artiaga, BSC.
-- Srun to use env vars for SLURM_PROLOG, SLURM_EPILOG, SLURM_TASK_PROLOG,
and SLURM_TASK_EPILOG. patch.1.2.0-pre11.070201.envproepilog from
Dan Palermo, HP.
-- Documenation update. patch.1.2.0-pre11.070201.mchtml from Dan Palermo, HP.
-- Set SLURM_DIST_CYCLIC = 1 (needed for HP MPI, slurm.hp.env.patch).
* Changes in SLURM 1.2.0-pre15
==============================
-- Fix for another spot where the backup controller calls switch/federation
code before switch/federation is initialized.
* Changes in SLURM 1.2.0-pre14
==============================
-- In sched/wiki2, clear required nodes list when a job is requeued.
Note that the required node list is set to every node used when
a job is started via sched/wiki2.
-- BLUEGENE - Added display of deallocating blocks to smap and other tools.
-- Make slurmctld's working directory be same as SlurmctldLogFile (if any),
otherwise StateSaveDir (which is likely a shared directory, possibly
making core file identification more difficult).
-- Fix bug in switch/federation that results in the backup controller
aborting if it receives an epilog-complete message.
* Changes in SLURM 1.2.0-pre13
==============================
-- Fix for --get-user-env.
* Changes in SLURM 1.2.0-pre12
==============================
Danny Auble
committed
-- BLUEGENE - Added correct node info for sinfo and sview for viewing
allocated nodes in a partition.
-- BLUEGENE - Added state save on slurmctld shutdown of blocks in an error
state on real systems and total block config on emulation systems.
-- Major update to Slurm's PMI internal logic for better scalability.
Communications now supported directly between application tasks via
Slurm's PMI library. Srun sends single message to one task on each node
and that tasks forwards key-pairs to other tasks on that nodes. The old
code sent key-pairs directly to each task.
NOTE: PMI applications must re-link with this new library.
-- For multi-core support: Fix task distribution bug and add automated
tests, patch.1.2.0-pre11.070111.plane from Dan Palermo (HP).
* Changes in SLURM 1.2.0-pre11
==============================
-- Add multi-core options to slurm_step_launch API.
-- Add man pages for slurm_step_launch() and related functions.
Danny Auble
committed
-- Jobacct plugin only looks at the proctrack list instead of the entire
list of processes running on the node. Cutting down a lot of unnecessary
file opens in linux and cutting down the time to query the procs by
more than half.
-- Multi-core bug fix, mask re-use with multiple job steps,
patch.1.2.0-pre10.061214.affinity_stepid from Dan Palermo (HP).
-- Modify jobacct/linux plugin to completely eliminate open /proc files.
-- Added slurm_sched_plugin_reconfig() function to re-read config files.
-- BLUEGENE - --reboot option to srun, salloc, and sbatch actually works.
-- Modified step context and step launch APIs.
* Changes in SLURM 1.2.0-pre10
==============================
-- Fix for sinfo node state counts by state (%A and %F output options).
-- Add ability to change a node's features via "scontrol update". NOTE:
Update slurm.conf also to preserve changes over slurmctld restart or
reconfig.
NOTE: Job and node state information can not be preserved from earlier
versions.
-- Added new slurm.conf parameter TaskPluginParam.
-- Fix for job requeue and credential revoke logic from Hongjia Cao (NUDT).
-- Fix for incorrectly generated masks for task/affinity plugin,
patch.1.2.0-pre9.061207.bitfmthex from Dan Palermo (HP).
-- Make mask_cpu options of srun and slaunch commands not requeue prefix
of "0x". patch.1.2.0-pre9.061208.srun_maskparse from Dan Palermo (HP).
-- Add -c support to the -B automatic mask generation for multi-core
support, patch.1.2.0-pre9.061208.mcore_cpuspertask from Dan Palermo (HP).
-- Fix bug in MASK_CPU calculation,
patch.1.2.0-pre9.061211.avail_cpuspertask from Dan Palermo (HP).
-- BLUEGENE - Added --reboot option to srun, salloc, and sbatch commands.
-- Add "scontrol listpids [JOBID[.STEPID]]" support.
-- Multi-core support patches, fixed SEGV and clean up output for large
task counts, patch.1.2.0-pre9.061212.cpubind_verbose from Dan Palermo (HP).
-- Make sure jobacct plugin files are closed before exec of user tasks to
prevent problems with job checkpoint/restart (based on work by
Hongjia Cao, NUDT).
* Changes in SLURM 1.2.0-pre9
=============================
-- Fix for select/cons_res state preservation over slurmctld restart,
patch.1.2.0-pre7.061130.cr_state from Dan Palermo.
-- Validate product of socket*core*thread count on node registration rather
than individual values. Correct values will need to be specified in slurm.conf
with FastSchedule=1 for correct multi-core scheduling behavior.
* Changes in SLURM 1.2.0-pre8
=============================
-- Modity job state "reason" field to report why a job failed (previously
previously reported only reason waiting to run). Requires cold-start of
slurmctld (-c option).
-- For sched/wiki2 job state request, return REJMESSAGE= with reason for
a job's failure.
-- New FastSchedule configuration parameter option "2" means to base
scheduling decisions upon the node's configuration as specified in
slurm.conf and ignore the node's actual hardware configuration. This
can be useful for testing.
-- Add sinfo output format option "%C" for CPUs (active/idle/other/total).
Based upon work by Anne-Marie Wunderlin (BULL).
-- Assorted multi-core bug fixes (patch1.2.0-pre7.061128.mcorefixes).
-- Report SelectTypeParameters from "scontrol show config".
-- Build sched/wiki plugin for Maui Scheduler (based upon new sched/wiki2
code for Moab Scheduler).
Danny Auble
committed
-- BLUEGENE - changed way of keeping track of smaller partitions using
ionode range instead of quarter nodecard notation.
(i.e. bgl000[0-3] instead of bgl000.0.0)
-- Patch from Hongjia Cao (EINPROGRESS error message change)
-- Fix for correct requid for jobacct plugin
-- Added subsec timing display for sacct
* Changes in SLURM 1.2.0-pre7
=============================
-- BLUEGENE - added configurable images for bluegene block creation.
-- Support processors, core, and physical IDs that are not in numeric
order (in slurmd to gathering node state information, based on patch
by Don Albert, Bull).
-- Fixed bug with aix not looking in the correct dir for the proctrack
include files
-- Removed global_srun.* from common merged it into srun proper
-- Added bluegene section to troubleshooting guide (web page).
-- NOTE: Requires cold-start when moving from 1.2.0-pre6, save state
info for jobs changed.
-- BLUEGENE - Changed logic for wiring bgl blocks to be more maintainable.
(Haven't tested on large system yet, works on 2 base partition system)
-- Do not read the select/cons_res state save file if slurmctld is
cold-started (with the "-c" option).
* Changes in SLURM 1.2.0-pre6
=============================
-- Maintain actually job step run time with suspend/resume use.
-- Allow slurm.conf options to appear multiple times. SLURM will use the
last instance of any particular option.
-- Add version number to node state save file. Will not recover node
state information on restart from older version.
-- Add logic to save/restore multi-core state information.
-- Updated multi-core logic to use types uint16_t and uint32_t instead
of just type int.
-- Race condition for forwarding logic fix from Hongjia Cao
-- Add support for Portable Linux Processor Affinity (PLPA, see
http://www.open-mpi.org/software/plpa).
-- When a job epilog completes on all non-DOWN nodes, immediately purge
it's job steps that lack switch windows. Needed for LSF operation.
Based upon slurm.hp.node_fail.patch.
-- Modify srun to ignore entries on --nodelist for job step creation
if their count exceeds the task count. Based on slurm.hp.srun.patch.
* Changes in SLURM 1.2.0-pre5
=============================
-- Patch from HP patch.1.2.0.pre4.061017.crcore_hints, supports cores as
consumable resource.
-- Added node_inx to job_step_info_t to get the node indecies for mapping out
Danny Auble
committed
steps in a job by nodes.
-- sview grid added
-- BLUEGENE node_inx added to blocks for reference.
-- Automatic CPU_MASK generation for task launch, new srun option -B.
-- Automatic logical to physical processor identification and mapping.
-- Added new srun options to --cpu_bind: sockets, cores, and threads
-- Updated select/cons_res to operate as socket granularity.
-- New srun task distribution options to -m: plane
-- Multi-core support in sinfo, squeue, and scontrol.
-- Memory can be treated as a consumable resource.
-- New srun options --ntasks-per-[node|socket|core].
* Changes in SLURM 1.2.0-pre3
=============================
-- Remove configuration parameter ShedulerAuth (defunct).
-- Add NextJobId to "scontrol show config" output.
-- Add new slurm.conf parameter MailProg.
-- New forwarding logic. New recieve_msg functions depending on what you
are expecting to get back. No srun_node_id anymore passed around in
a slurm_msg_t
-- Remove sched/wiki plugin (use sched/wiki2 for now)
-- Disable pthread_create() for PMI_send when TotalView is running for
better performance.
-- Fixed certain tests in test suite to not run with bluegene or front-end
Danny Auble
committed
systems
-- Removed addresses from slurm_step_layout_t
-- Added new job field, "comment". Set by srun, salloc and sbatch. See
with "scontrol show job". Used in sched/wiki2.
-- Report a job's exit status in "scontrol show job".
-- In sched/wiki2: add support for JOBREQUEUE command.
* Changes in SLURM 1.2.0-pre2
=============================
-- Added function slurm_init_slurm_msg to be used to init any slurm_msg_t
you no longer need do any other type of initialization to the type.
* Changes in SLURM 1.2.0-pre2
=============================
-- Fixed task dist to work with hostfile and warn about asking for more tasks
than you have nodes for in arbitray mode.
-- Added "account" field to job and step accounting information and sacct output.
Danny Auble
committed
-- Moved task layout to slurmctld instead of srun. Job step create returns
step_layout structure with hostnames and addresses that corrisponds
to those nodes.
-- Changed api slurm_lookup_allocation params,
resource_allocation_response_msg_t changed to job_alloc_info_response_msg_t
this structure is being renamed so contents are the same.
-- alter resource_allocation_response_msg_t see slurm.h.in
-- remove old_job_alloc_msg_t and function slurm_confirm_alloc
-- Slurm configuration files now support an "Include" directive to
include other files inline.
Danny Auble
committed
-- BLUEGENE New --enable-bluegene-emulation configure parameter to allow
running system in bluegene emulation mode. Only
really useful for developers.
-- New added new tool sview GUI for displaying slurm info.
-- fixed bug in step layout to lay out tasks correctly
* Changes in SLURM 1.2.0-pre1
=============================
-- Fix bug that could run a job's prolog more than once
-- Permit batch jobs to be requeued, scontrol requeue <jobid>
-- Send overcommit flag from srun in RPCs and have slurmd set SLURM_OVERCOMMIT
flag at batch job launch time.
-- Added new configuration parameter MessageTimeout (replaces #define in
the code)
* Changes in SLURM 1.1.37
=========================
- In sched/wiki2: Add NAME to job record.
- Changed -w (--nodelist) option to only read in number of nodes specified
by -N option unless nprocs was set and in Arbitrary layout mode.
- Added some loops around pthread creates incase they fail and also fixed an
issue in srun to fail job has failed instead of waiting around for threads
that will never end.
- Added fork handlers in the slurmstepd
- In sched/wiki2: fix logic for restarting backup slurmctld.
- In sched/wiki2: if job has no time limit specified, return the partition's
time limit (which is the default for the job) rather than 365 days.
* Changes in SLURM 1.1.36
=========================
- Permit node state specification of DRAIN in slurm.conf.
- In jobcomp/script - fix bug that prevented UID and JOBID environment
variables from being set.
* Changes in SLURM 1.1.35
=========================
- In sched/wiki2: Add support for CMD=SIGNALJOB to accept option
of VALUE=SIGXXX in addition to VALUE=# and VALUE=XXX options.
- In sched/wiki2: Add support for CMD=MODIFYJOB to accept option of
DEPEND=afterany:<jobid>, specify jobid=0 to clear.
- Correct logic for job allocation with task count (srun -n ...) AND
FastSchedule=0 AND low CPUs count in Slurm's node configuration.
- Add new and undocumented scancel option, --ctld, to route signal
requests through slurmctld rather than directly to slurmd daemons.
Useful for testing purposes.
- Fixed issue with hostfile support not working in a job step.
- Set supplemental groups for SlurmUser in slurmctld daemon, from
Anne Marie Wunderlin, Bull.
- In jobcomp/script: Add ACCOUNT and PROCS (count) to environment
variables set. Fix bug that prevented UID and JOBID from being
overwritten.
* Changes in SLURM 1.1.34
=========================
- Insure that slurm_signal_job_step() is defined in srun for mvapich
and mpichgm error conditions.
- Modify /etc/init.d/slurm restart command to wait for daemon to terminate
before starting a new one
- Permit job steps to be started on draining nodes that have already
been allocated to that job.
- Prevent backup slurmctld from purging pending batch job scripts when a
SIGHUP is received.
- BLUEGENE - check to make sure set_block_user works when the block
is in a ready state.
- Fix to slurmstepd to not use local variables in a pthread create.
- In sched/wiki2 - add wiki.conf paramter HostFormat specifying
format of hostlists exchanged between Slurm and Moab (experimental).
- mpi/mvapich: Support Adam Moody's fast MPI initialization protocol
(MVAPICH protocol version 8).
* Changes in SLURM 1.1.33
=========================
- sched/wiki2 - Do not wait for job completion before permitting
additional jobs to be scheduled.
- Add srun SLURM_EXCLUSIVE environment variable support, from
Gilles Civario (Bull).
- sched/wiki2 - Report job's node sharing options.
- sched/wiki2 - If SchedulerPort is in use, retry opening it indefinitely.
- sched/wiki2 - Add support for changing the size of a pending job.
- BLUEGENE - Fix to correctly look at downed/drained nodes with picking
a block to run a job and not confuse it with another running job.
* Changes in SLURM 1.1.32
=========================
- If a job's stdout/err file names are unusable (bad path), use the
default names.
- sched/wiki2 - Fix logic to be compatible with select/cons_res plugin
for allocating individual processors within nodes.
- Fix job end time calculation when changed from an initial value of
INFINITE.
Christopher J. Morrone
committed
* Changes in SLURM 1.1.31
=========================
- Correctly identify a user's login shell when running "srun -b --uid"
as root. Use the --uid field for the /etc/passwd lookup instead of
getuid().
* Changes in SLURM 1.1.30
=========================
Christopher J. Morrone
committed
- Fix to make sure users don't include and exclude the same node in
their srun line.
- mpi/mvapich: Forcibly terminate job 60s after first MPI_Abort()
to avoid waiting indefinitely for hung processes.
- proctrack/sgi_job: Fix segv when destroying an active job container
with processes still running.
- Abort a job's stdout/err to srun if not processed within 5 minutes
(prevents node hanging in completing state if the srun is stopped).
* Changes in SLURM 1.1.29
=========================
- Fix bug which could leave orphan process put into background from
batch script.
* Changes in SLURM 1.1.28
=========================
- BLUEGENE - Fixed issue with nodes that return to service outside of an
admin state is now updated in the bluegene plugin.
- Fix for --get-user-env parsing of non-printing characters in users' logins.
- Restore "squeue -n localhost" support.
- Report lack of PATH env var as verbose message, not error in srun.
* Changes in SLURM 1.1.27
=========================
- Fix possible race condition for two simultaneous "scontrol show config"
calls resulting in slurm_xfree() Error: from read_config.c:642
- BLUEGENE - Put back logic to make a block fail a boot 3 times before
cancelling a users job.
- Fix problem using srun --exclude option for a job step.
- Fix problem generating slurmd error "Unrecognized request: 0" with
some compilers.
* Changes in SLURM 1.1.26
=========================
- In sched/wiki2, fixes for support of job features.
- In sched/wiki2, add "FLAGS=INTERACTIVE;" to GETJOBS response for
non-batch (not srun --batch) jobs.
* Changes in SLURM 1.1.25
=========================
- switch/elan: Fix for "Failed to initialise stats structure" from
libelan when ELAN_STATKEY > MAX_INT.
- Tune PMI support logic for better scalability and performance.
- Fix for running a task on each node of an allocation if not specified.
- In sched/wiki2, set TASKLIST for running jobs.
- In sched/wiki2, set STARTDATE for pending jobs with deferred start.
- Added srun --get-user-env option (for Moab scheduler).
* Changes in SLURM 1.1.24
=========================
- In sched/wiki2, add support for direct "srun --dependency=" use.
- mpi/mvapich: Add support for MVAPICH protocol version 6.
- In sched/wiki2, change "JOBMODIFY" command to "MODIFYJOB".
- In sched/wiki2, change "JOBREQUEUE" command to "REQUEUEJOB".
- For sched/wiki2, permit normal user to specify arbitrary job id.
- In sched/wiki2, set buffer pointer to NULL after free() to avoid
possible memory corruption.
- In sched/wiki2, report a job's exit code on completion.
- For AIX, fix mail for job event notification.
- Add documentation for propagation options in man srun and slurm.conf.
* Changes in SLURM 1.1.23
=========================
- Fix bug in non-blocking connect() code affecting AIX.
Christopher J. Morrone
committed
* Changes in SLURM 1.1.22
=========================
- Add squeue option to print a job step's task count (-o %A).
- Initialize forward_struct to avoid trying to free a bad pointer,
patch from Anton Blanchard (SAMBA).
- In sched/wiki2, fix fatal race condition on slurmctld startup.
- Fix for displaying launching verbose messages for each node under the
tree instead of just the head one.
- Fix job suspend bug, job accounting plugin would SEGV when given a
bad job ID.
* Changes in SLURM 1.1.21
=========================
- BLUEGENE - Wait on a fini to make sure all threads are finished before
cleaning up.
- BLUEGENE - replacements to not destroy lists but just empty it to avoid
losing the pointer to the list in the block allocator.
- BLUEGENE - added --enable-bluegene-emulation configure option to 1.1
- In sched/wiki2, enclose a job's COMMENT value in double quotes.
- In sched/wiki2, support newly defined SIGNALJOB command.
- In sched/wiki2, maintain open event socket, don't open and close
for each event.
- In sched/wiki2, fix for scalability problem starting large jobs.
- Fix logic to execute a batch job step (under an existing resource
allocation) as needed by LSF.
- Patches from Hongjia Cao (pmi finialize issues and type declaration)
- Delete pending job if it's associated partition is deleted.
- fix for handling batch steps completing correctly and setting the
return code.
- Altered ncurses check to make sure programs can link before saying we
have a working curses lib and header.
- Fixed an init issue with forward_struct_init not being set correctly in
a few locations in the slurmd.
- Fix for user to use the NodeHostname (when specified in the slurm.conf file)
to start jobs on.
Christopher J. Morrone
committed
* Changes in SLURM 1.1.20
=========================
- Added new SPANK plugin hook slurm_spank_local_user_init() called
from srun after node allocation.
- Fixed bug with hostfile support not working on a direct srun
* Changes in SLURM 1.1.19
=========================
- BLUEGENE - make sure the order of blocks read in from the bluegene.conf
are created in that order (static mode).
- Fix logic in connect(), slurmctld fail-over was broken in v1.1.18.
- Fix logic to calculate the correct timeout for fan out.
* Changes in SLURM 1.1.18
=========================
- In sched/wiki2, add support for EHost and EHostBackup configuration
parameters in wiki.conf file
- In sched/wiki2, fix memory management bug for JOBWILLRUN command.
- In sched/wiki2, consider job Busy while in Completing state for
KillWait+10 seconds (used to be 30 seconds).
- BLUEGENE - Fixes to allow full block creation on the system and not to add
passthrough nodes to the allocation when creating a block.
- BLUEGENE - Fix deadlock issue with starting and failing jobs at the same
time
- Make connect() non-blocking and poll() with timeout to avoid huge
waits under some conditions.
- Set "ENVIRONMENT=BATCH" environment variable for "srun --batch" jobs only.
- Add logic to save/restore select/cons_res state information.
Christopher J. Morrone
committed
- BLUEGENE - make all sprintf's into snprintf's
Christopher J. Morrone
committed
- Fix for "srun -A" segfault on a node failure.
* Changes in SLURM 1.1.17
=========================
- BLUEGENE - fix to make dynamic partitioning not go create block where
there are nodes that are down or draining.
- Fix srun's default node count with an existing allocation when neither
SLURM_NNODES nor -N are set.
- Stop srun from setting SLURM_DISTRIBUTION under job steps when a
specific was not explicitly requested by the user.
* Changes in SLURM 1.1.16
=========================
- BLUEGENE - fix to make prolog run 5 minutes longer to make sure we have
enough time to free the overlapping blocks when starting a new job on a
block.
- BLUEGENE - edit to the libsched_if.so to read env and look at
MPIRUN_PARTITION to see if we are in slurm or running mpirun natively.
- Plugins are now dlopened RTLD_LAZY instead of RTLD_NOW.
* Changes in SLURM 1.1.15
=========================
- BLUEGENE - fix to be able to create static partitions
- Fixed fanout timeout logic.
- Fix for slurmctld timeout on outgoing message (Hongjia Cao, NUDT.edu.cn).
* Changes in SLURM 1.1.14
=========================
- In sched/wiki2: report job/node id and state only if no changes since
time specified in request.
- In sched/wiki2: include a job's exit code in job state information.
- In sched/wiki2: add event notification logic on job submit and completion.
- In sched/wiki2: add support for JOBWILLRUN command type.
- In sched/wiki2: for job info, include required HOSTLIST if applicable.
- In sched/wiki2: for job info, replace PARTITIONMASK with RCLASS (report
partition name associated with a job, but no task count)
- In sched/wiki2: for job and node info, report all data if TS==0,
volitile data if TS<=update_time, state only if TS>update_time
- In sched/wiki2: add support for CMD=JOBSIGNAL ARG=jobid SIGNAL=name or #
- In sched/wiki2: add support for CMD=JOBMODIFY ARG=jobid [BANK=name]
[TIMELIMIT=minutes] [PARTITION=name]
- In sched/wiki2: add support for CMD=INITIALIZE ARG=[USEHOSTEXP=T|F]
[EPORT=#]; RESPONSE=EPORT=# USEHOSTEXP=T
- In sched/wiki2: fix memory leak.
- Fix sinfo node state filtering when asking for idle nodes that are also
draining.
- Add Fortran extension to slurm_get_rem_time() API.
- Fix bug when changing the time limit of a running job that has previously
been suspended (formerly failed to account for suspend time in setting
termination time).
- fix for step allocation to be able to specify only a few nodes in a
step and ask for more that specified.
- patch from Hongjia Cao for forwarding logic
- BLUEGENE - able to allocate specific nodes without locking up.
- BLUEGENE - better tracking of blocks that are created dynamically,
less hitting the db2.