This file describes changes in recent versions of Slurm. It primarily documents those changes that are of interest to users and administrators. * Changes in Slurm 17.02.0pre4 ============================== -- Add support for per-partitiion OverTimeLimit configuration. -- Add --mem_bind option of "sort" to run zonesort on KNL nodes at step start. -- Add LaunchParameters=mem_sort option to configure running of zonesort by default at step startup. -- Add "FreeSpace" information for each pool to the "scontrol show burstbuffer" output. Required changes to the burst_buffer_info_t data structure. -- Add new node state flag of NODE_STATE_REBOOT for node reboots triggered by "scontrol reboot" commands. Previous logic re-used NODE_STATE_MAINT flag, which could lead to inconsistencies. Add "ASAP" option to "scontrol reboot" command that will drain a node in order to reboot it as soon as possible, then return it to service. -- Allow unit conversion routine to convert 1024M to 1G. -- switch/cray plugin - change legacy spool directory location. -- Add new PriorityFlags option of INCR_ONLY, which prevents a job's priority from being decremented. -- Make it so we don't purge job start messages until after we purge step messages. Hopefully this will reduce the number of messages lost when filling up memory when the database/DBD is down. -- Added SchedulingParameters option of "bf_job_part_count_reserve". Jobs below the specified threshold will not have resources reserved for them. -- If GRES are configured with file IDs, then "scontrol -d show node" will not only identify the count of currently allocated GRES, but their specific index numbers (e.g. "GresUsed=gpu:alpha:2(IDX:0,2),gpu:beta:0(IDX:N/A)"). Ditto for job information with "scontrol -d show job". -- Add new mcs/account plugin. -- Add "GresEnforceBind=Yes" to "scontrol show job" output if so configured. * Changes in Slurm 17.02.0pre3 ============================== -- Add srun host & PID to job step data structures. -- Avoid creating duplicate pending step records for the same srun command. -- Rewrite srun's logic for pending steps for better efficiency (fewer RPCs). -- Added new SchedulerParameters options step_retry_count and step_retry_time to control scheduling behaviour of job steps waiting for resources. -- Optimize resource allocation logic for --spread-job job option. -- Modify cpu_bind and mem_bind map and mask options to accept a repetition count to better support large task count. For example: "mask_mem:0x0f*2,0xf0*2" is equivalent to "mask_mem:0x0f,0x0f,0xf0,0xf0". -- Add support for --mem_bind=prefer option to prefer, but not restrict memory use to the identified NUMA node. -- Add mechanism to constrain kernel memory allocation using cgroups. New cgroup.conf parameters added: ConstrainKmemSpace, MaxKmemPercent, and MinKmemSpace. -- Correct invokation of man2html, which previously could cause FreeBSD builds to hang. -- MYSQL - Unconditionally remove 'ignore' clause from 'alter ignore'. -- Modify service files to not start Slurm daemons until after Munge has been started. NOTE: If you are not using Munge, but are using the "service" scripts to start Slurm daemons, then you will need to remove this check from the etc/slurm*service scripts. -- Do not process SALLOC_HINT, SBATCH_HINT or SLURM_HINT environment variables if any of the following salloc, sbatch or srun command line options are specified: -B, --cpu_bind, --hint, --ntasks-per-core, or --threads-per-core. -- burst_buffer/cray: Accept new jobs on backup slurmctld daemon without access to dw_wlm_cli command. No burst buffer actions will take place. -- Do not include SLURM_JOB_DERIVED_EC, SLURM_JOB_EXIT_CODE, or SLURM_JOB_EXIT_CODE in PrologSlurmctld environment (not available yet). -- Cray - set task plugin to fatal() if task/cgroup is not loaded after task/cray in the TaskPlugin settings. -- Remove separate slurm_blcr package. If Slurm is built with BLCR support, the files will now be part of the main Slurm packages. -- Replace sjstat, seff and sjobexit RPM packages with a single "contribs" package. -- Remove long since defunct slurmdb-direct scripts. -- Add SbcastParameters configuration option to control default file destination directory and compression algorithm. -- Add new SchedulerParameter (max_array_tasks) to limit the maximum number of tasks in a job array independently from the maximum task ID (MaxArraySize). -- Fix issue where number of nodes is not properly allocated when sbatch and salloc are requested with -n tasks < hosts from -w hostlist or from -N. -- Add infrastructure for submitting federated jobs. * Changes in Slurm 17.02.0pre2 ============================== -- Add new RPC (REQUEST_EVENT_LOG) so that slurmd and slurmstepd can log events through the slurmctld daemon. -- Remove sbatch --bb option. That option was never supported. -- Automatically clean up task/cgroup cpuset and devices cgroups after steps are completed. -- Add federation read/write locks. -- Limit job purge run time to 1 second at a time. -- The database index for jobs is now 64 bits. If you happen to be close to 4 billion jobs in your database you will want to update your slurmctld at the same time as your slurmdbd to prevent roll over of this variable as it is 32 bit previous versions of Slurm. -- Optionally lock slurmstepd in memory for performance reasons and to avoid possible SIGBUS if the daemon is paged out at the time of a Slurm upgrade (changing plugins). Controlled via new LaunchParameters options of slurmstepd_memlock and slurmstepd_memlock_all. -- Add event trigger on burst buffer errors (see strigger man page, --burst_buffer option). -- Add job AdminComment field which can only be set by a Slurm administrator. -- Add salloc, sbatch and srun option of --delay-boot=