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

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

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

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

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

Danny Auble
committed
-- sinfo -R now has the user and timestamp in separate fields from the reason.
-- Much functionality has been added to account_storage/pgsql. The plugin
is still in a very beta state. It is still highly advised to use the
mysql plugin, but if you feel like living on the edge or just really
like postgres over mysql for some reason here you go. (Work done
primarily by Hongjia Cao, NUDT.)
* Changes in SLURM 2.1.6
========================
* Changes in SLURM 2.1.5
========================
-- BLUEGENE - Fixed display of draining nodes for sinfo -R.
-- Fixes to scontrol and sview when setting a job to an impossible start time.
-- Added -h to srun for help.
-- Fix for sacctmgr man page to remove erroneous 'with' statements.
-- Fix for unpacking jobs with accounting statistics, previously it appears
only steps were unpacked correctly, for the most case sacct would only
display this information making this fix a very minor one.
-- Changed scontrol and sview output for jobs with unknown end times from
'NONE' to 'Unknown'.
-- Fixed mysql plugin to reset classification when adding a
previously deleted cluster.
-- Permit a batch script to reset umask and have that propagate to tasks
spawed by subsequent srun. Previously the umask in effect when sbatch was
executed was propagated to tasks spawed by srun.
-- Modify slurm_job_cpus_allocated_on_node_id() and
slurm_job_cpus_allocated_on_node() functions to not write explanation of
failures to stderr. Only return -1 and set errno.
-- Correction in configurator.html script. Prolog and Epilog were reversed.
-- BLUEGENE - Fixed race condition where if a nodecard has an error on an
un-booted block when a job comes to use it before the state checking
thread notices it which could cause the slurmctld to lock up on a
non-dynamic system.
-- In select/cons_res with FastSchedule=0 and Procs=# defined for the node,
but no specific socket/core/thread count configured, avoid fatal error if
the number of cores on a node is less than the number of Procs configured.
-- Added ability for the perlapi to utilize opaque data types returned from
the C api.
-- BLUEGENE - made the perlapi get correct values for cpus per node,
Previously it would give the number of cpus per cnode instead of midplane.
-- BLEUGENE - Fixed issue where if a block being selected for a job to use
and during the process a hardware failure happens, previously the block
would still be allowed to be used which would fail or requeue the job
depending on the configuration.
-- For SPANK job environment, avoid duplicate "SPANK_" prefix for environment
set by sbatch jobs.
-- Make squeue select jobs on hidden partitions when requesting more than one.
-- Avoid automatically cancelling job steps when all of the tasks on some node
have gracefully terminated.
* Changes in SLURM 2.1.4
========================
-- Fix for purge script in accounting to use correct options.
-- If SelectType=select/linear and SelectTypeParameters=CR_Memory fix bug that
would fail to release memory reserved for a job if "scontrol reconfigure"
is executed while the job is in completing state.
-- Fix bug in handling event trigger for job time limit while job is still
in pending state.
-- Fixed display of Ave/MaxCPU in sacct for jobs. Steps were printed
correctly.
-- When node current features differs from slurm.conf, log the node names
using a hostlist expression rather than listing individual node names.
-- Improve ability of srun to abort job step for some task launch failures.
-- Fix mvapich plugin logic to release the created job allocation on
initialization failure (previously the failures would cancel job step,
but retain job allocation).
-- Fix bug in srun for task count so large that it overflows int data type.
-- Fix important bug in select/cons_res handling of ntasks-per-core parameter
that was uncovered by a bug fixed in v2.1.3. Bug produced fatal error for
slurmctld: "cons_res: cpus computation error".
-- Fix bug in select/cons_res handling of partitions configured with
Shared=YES. Prior logic failed to support running multiple jobs per node.
* Changes in SLURM 2.1.3-2
==========================
-- Modified spec file to obsolete pam_slurm when installing
the slurm-pam_slurm rpm.
* Changes in SLURM 2.1.3-1
==========================
-- BLUEGENE - Fix issues on static/overlap systems where if a midplane
was drained you would not be able to create new blocks on it.
-- In sched/wiki2 (for Moab): Add excluded host list to job information
using new keyword "EXCLUDE_HOSTLIST".
-- Correct slurmd reporting of incorrect socket/core/thread counts.
-- For sched/wiki2 (Moab): Do not extend a job's end time for suspend/resume
Loading
Loading full blame...