forked from chaos/slurm
-
Notifications
You must be signed in to change notification settings - Fork 1
/
NEWS
1973 lines (1918 loc) · 112 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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.3.0
========================
-- BLUEGENE - make sure we only set the jobinfo_select start_loc on a job
when we are on a small block, not a regular one.
-- BGQ - fix issue where not copying the correct amount of memory.
-- BLUEGENE - fix clean start if jobs were running when the slurmctld was
shutdown and then the system size changed. This would probably only happen
if you were emulating a system.
-- Fix sview for calling a cray system from a non-cray system to get the
correct geometry of the system.
-- BLUEGENE - fix to correctly import pervious version of block state file.
-- BLUEGENE - handle loading better when doing a clean start with static
blocks.
-- Add sinfo format and sort option "%n" for NodeHostName and "%o" for
NodeAddr.
-- If a job is deferred due to partition limits, then re-test those limits
after a partition is modified. Patch from Don Lipari.
-- Fix bug which would crash slurmcld if job's owner (not root) tries to clear
a job's licenses by setting value to "".
* Changes in SLURM 2.3.0.rc2
============================
-- With sched/wiki or sched/wiki2 (Maui or Moab scheduler), insure that a
requeued job's priority is reset to zero.
-- BLUEGENE - fix to run steps correctly in a BGL/P emulated system.
-- Fixed issue where if there was a network issue between the slurmctld and
the DBD where both remained up but were disconnected the slurmctld would
get registered again with the DBD.
-- Fixed issue where if the DBD connection from the ctld goes away because of
a POLLERR the dbd_fail callback is called.
-- BLUEGENE - Fix to smap command-line mode display.
-- Change in GRES behavior for job steps: A job step's default generic
resource allocation will be set to that of the job. If a job step's --gres
value is set to "none" then none of the generic resources which have been
allocated to the job will be allocated to the job step.
-- Add srun environment value of SLURM_STEP_GRES to set default --gres value
for a job step.
-- Require SchedulerTimeSlice configuration parameter to be at least 5 seconds
to avoid thrashing slurmd daemon.
-- Cray - Fix to make nodes state in accounting consistent with state set by
ALPS.
-- Cray - A node DOWN to ALPS will be marked DOWN to SLURM only after reaching
SlurmdTimeout. In the interim, the node state will be NO_RESPOND. This
change makes behavior makes SLURM handling of the node DOWN state more
consistent with ALPS. This change effects only Cray systems.
-- Cray - Fix to work with 4.0.* instead of just 4.0.0
-- Cray - Modify srun/aprun wrapper to map --exclusive to -F exclusive and
--share to -F share. Note this does not consider the partition's Shared
configuration, so it is an imperfect mapping of options.
-- BLUEGENE - Added notice in the print config to tell if you are emulated
or not.
-- BLUEGENE - Fix job step scalability issue with large task count.
-- BGQ - Improved c-node selection when asked for a sub-block job that
cannot fit into the available shape.
-- BLUEGENE - Modify "scontrol show step" to show I/O nodes (BGL and BGP) or
c-nodes (BGQ) allocated to each step. Change field name from "Nodes=" to
"BP_List=".
-- Code cleanup on step request to get the correct select_jobinfo.
-- Memory leak fixed for rolling up accounting with down clusters.
-- BGQ - fix issue where if first job step is the entire block and then the
next parallel step is ran on a sub block, SLURM won't over subscribe cnodes.
-- Treat duplicate switch name in topology.conf as fatal error. Patch from Rod
Schultz, Bull
-- Minor update to documentation describing the AllowGroups option for a
partition in the slurm.conf.
-- Fix problem with _job_create() when not using qos's. It makes
_job_create() consistent with similar logic in select_nodes().
-- GrpCPURunMins in a QOS flushed out.
-- Fix for squeue -t "CONFIGURING" to actually work.
-- CRAY - Add cray.conf parameter of SyncTimeout, maximum time to defer job
scheduling if SLURM node or job state are out of synchronization with ALPS.
-- If salloc was run as interactive, with job control, reset the foreground
process group of the terminal to the process group of the parent pid before
exiting. Patch from Don Albert, Bull.
-- BGQ - set up the corner of a sub block correctly based on a relative
position in the block instead of absolute.
-- BGQ - make sure the recently added select_jobinfo of a step launch request
isn't sent to the slurmd where environment variables would be overwritten
incorrectly.
* Changes in SLURM 2.3.0.rc1
============================
-- NOTE THERE HAVE BEEN NEW FIELDS ADDED TO THE JOB AND PARTITION STATE SAVE
FILES AND RPCS. PENDING AND RUNNING JOBS WILL BE LOST WHEN UPGRADING FROM
EARLIER VERSION 2.3 PRE-RELEASES AND RPCS WILL NOT WORK WITH EARLIER
VERSIONS.
-- select/cray: Add support for Accelerator information including model and
memory options.
-- Cray systems: Add support to suspend/resume salloc command to insure that
aprun does not get initiated when the job is suspended. Processes suspended
and resumed are determined by using process group ID and parent process ID,
so some processes may be missed. Since salloc runs as a normal user, it's
ability to identify processes associated with a job is limited.
-- Cray systems: Modify smap and sview to display all nodes even if multiple
nodes exist at each coordinate.
-- Improve efficiency of select/linear plugin with topology/tree plugin
configured, Patch by Andriy Grytsenko (Massive Solutions Limited).
-- For front-end architectures on which job steps are run (emulated Cray and
BlueGene systems only), fix bug that would free memory still in use.
-- Add squeue support to display a job's license information. Patch by Andy
Roosen (University of Deleware).
-- Add flag to the select APIs for job suspend/resume indicating if the action
is for gang scheduling or an explicit job suspend/resume by the user. Only
an explicit job suspend/resume will reset the job's priority and make
resources exclusively held by the job available to other jobs.
-- Fix possible invalid memory reference in sched/backfill. Patch by Andriy
Grytsenko (Massive Solutions Limited).
-- Add select_jobinfo to the task launch RPC. Based upon patch by Andriy
Grytsenko (Massive Solutions Limited).
-- Add DefMemPerCPU/Node and MaxMemPerCPU/Node to partition configuration.
This improves flexibility when gang scheduling only specific partitions.
-- Added new enums to print out when a job is held by a QOS instead of an
association limit.
-- Enhancements to sched/backfill performance with select/cons_res plugin.
Patch from Bjørn-Helge Mevik, University of Oslo.
-- Correct job run time reported by smap for suspended jobs.
-- Improve job preemption logic to avoid preempting more jobs than needed.
-- Add contribs/arrayrun tool providing support for job arrays. Contributed by
Bjørn-Helge Mevik, University of Oslo. NOTE: Not currently packaged as RPM
and manual file editing is required.
-- When suspending a job, wait 2 seconds instead of 1 second between sending
SIGTSTP and SIGSTOP. Some MPI implementation were not stopping within the
1 second delay.
-- Add support for managing devices based upon Linux cgroup container. Based
upon patch by Yiannis Georgiou, Bull.
-- Fix memory buffering bug if a AllowGroups parameter of a partition has 100
or more users. Patch by Andriy Grytsenko (Massive Solutions Limited).
-- Fix bug in generic resource tracking of gres associated with specific CPUs.
Resources were being over-allocated.
-- On systems with front-end nodes (IBM BlueGene and Cray) limit batch jobs to
only one CPU of these shared resources.
-- Set SLURM_MEM_PER_CPU or SLURM_MEM_PER_NODE environment variables for both
interactive (salloc) and batch jobs if the job has a memory limit. For Cray
systems also set CRAY_AUTO_APRUN_OPTIONS environment variable with the
memory limit.
-- Fix bug in select/cons_res task distribution logic when tasks-per-node=0.
Patch from Rod Schultz, Bull.
-- Restore node configuration information (CPUs, memory, etc.) for powered
down when slurmctld daemon restarts rather than waiting for the node to be
restored to service and getting the information from the node (NOTE: Only
relevent if FastSchedule=0).
-- For Cray systems with the srun2aprun wrapper, rebuild the srun man page
identifying the srun optioins which are valid on that system.
-- BlueGene: Permit users to specify a separate connection type for each
dimension (e.g. "--conn-type=torus,mesh,torus").
-- Add the ability for a user to limit the number of leaf switches in a job's
allocation using the --switch option of salloc, sbatch and srun. There is
also a new SchedulerParameters value of max_switch_wait, which a SLURM
administrator can used to set a maximum job delay and prevent a user job
from blocking lower priority jobs for too long. Based on work by Rod
Schultz, Bull.
* Changes in SLURM 2.3.0.pre6
=============================
-- NOTE: THERE HAS BEEN A NEW FIELD ADDED TO THE CONFIGURATION RESPONSE RPC
AS SHOWN BY "SCONTROL SHOW CONFIG". THIS FUNCTION WILL ONLY WORK WHEN THE
SERVER AND CLIENT ARE BOTH RUNNING SLURM VERSION 2.3.0.pre6
-- Modify job expansion logic to support licenses, generic resources, and
currently running job steps.
-- Added an rpath if using the --with-munge option of configure.
-- Add support for multiple sets of DEFAULT node, partition, and frontend
specifications in slurm.conf so that default values can be changed mulitple
times as the configuration file is read.
-- BLUEGENE - Improved logic to place small blocks in free space before freeing
larger blocks.
-- Add optional argument to srun's --kill-on-bad-exit so that user can set
its value to zero and override a SLURM configuration parameter of
KillOnBadExit.
-- Fix bug in GraceTime support for preempted jobs that prevented proper
operation when more than one job was being preempted. Based on patch from
Bill Brophy, Bull.
-- Fix for running sview from a non-bluegene cluster to a bluegene cluster.
Regression from pre5.
-- If job's TMPDIR environment is not set or is not usable, reset to "/tmp".
Patch from Andriy Grytsenko (Massive Solutions Limited).
-- Remove logic for defunct RPC: DBD_GET_JOBS.
-- Propagate DebugFlag changes by scontrol to the plugins.
-- Improve accuracy of REQUEST_JOB_WILL_RUN start time with respect to higher
priority pending jobs.
-- Add -R/--reservation option to squeue command as a job filter.
-- Add scancel support for --clusters option.
-- Note that scontrol and sprio can only support a single cluster at one time.
-- Add support to salloc for a new environment variable SALLOC_KILL_CMD.
-- Add scontrol ability to increment or decrement a job or step time limit.
-- Add support for SLURM_TIME_FORMAT environment variable to control time
stamp output format. Work by Gerrit Renker, CSCS.
-- Fix error handling in mvapich plugin that could cause srun to enter an
infinite loop under rare circumstances.
-- Add support for multiple task plugins. Patch from Andriy Grytsenko (Massive
Solutions Limited).
-- Addition of per-user node/cpu limits for QOS's. Patch from Aaron Knister,
UMBC.
-- Fix logic for multiple job resize operations.
-- BLUEGENE - many fixes to make things work correctly on a L/P system.
-- Fix bug in layout of job step with --nodelist option plus node count. Old
code could allocate too few nodes.
* Changes in SLURM 2.3.0.pre5
=============================
-- NOTE: THERE HAS BEEN A NEW FIELD ADDED TO THE JOB STATE FILE. UPGRADES FROM
VERSION 2.3.0-PRE4 WILL RESULT IN LOST JOBS UNLESS THE "orig_dependency"
FIELD IS REMOVED FROM JOB STATE SAVE/RESTORE LOGIC. ON CRAY SYSTEMS A NEW
"confirm_cookie" FIELD WAS ADDED AND HAS THE SAME EFFECT OF DISABLING JOB
STATE RESTORE.
-- BLUEGENE - Improve speed of start up when removing blocks at the beginning.
-- Correct init.d/slurm status to have non-zero exit code if ANY Slurm
damon that should be running on the node is not running. Patch from Rod
Schulz, Bull.
-- Improve accuracy of response to "srun --test-only jobid=#".
-- Fix bug in front-end configurations which reports job_cnt_comp underflow
errors after slurmctld restarts.
-- Eliminate "error from _trigger_slurmctld_event in backup.c" due to lack of
event triggers.
-- Fix logic in BackupController to properly recover front-end node state and
avoid purging active jobs.
-- Added man pages to html pages and the new cpu_management.html page.
Submitted by Martin Perry / Rod Schultz, Bull.
-- Job dependency information will only show the currently active dependencies
rather than the original dependencies. From Dan Rusak, Bull.
-- Add RPCs to get the SPANK environment variables from the slurmctld daemon.
Patch from Andrej N. Gritsenko.
-- Updated plugins/task/cgroup/task_cgroup_cpuset.c to support newer
HWLOC_API_VERSION.
-- Do not build select/bluegene plugin if C++ compiler is not installed.
-- Add new configure option --with-srun2aprun to build an srun command
which is a wrapper over Cray's aprun command and supports many srun
options. Without this option, the srun command will advise the user
to use the aprun command.
-- Change container ID supported by proctrack plugin from 32-bit to 64-bit.
-- Added contribs/cray/libalps_test_programs.tar.gz with tools to validate
SLURM's logic used to support Cray systems.
-- Create RPM for srun command that is a wrapper for the Cray/ALPS aprun
command. Dependent upon .rpmmacros parameter of "%_with_srun2aprun".
-- Add configuration parameter MaxStepCount to limit effect of bad batch
scripts.
-- Moving to github
-- Fix for handling a 2.3 system talking to a 2.2 slurmctld.
-- Add contribs/lua/job_submit.license.lua script. Update job_submit and Lua
related documentation.
-- Test if _make_batch_script() is called with a NULL script.
-- Increase hostlist support from 24k to 64k nodes.
-- Renamed the Accounting Storage database's "DerivedExitString" job field to
"Comment". Provided backward compatible support for "DerivedExitString" in
the sacctmgr tool.
-- Added the ability to save the job's comment field to the Accounting
Storage db (to the formerly named, "DerivedExitString" job field). This
behavior is enabled by a new slurm.conf parameter:
AccountingStoreJobComment.
-- Test if _make_batch_script() is called with a NULL script.
-- Increase hostlist support from 24k to 64k nodes.
-- Fix srun to handle signals correctly when waiting for a step creation.
-- Preserve the last job ID across slurmctld daemon restarts even if the job
state file can not be fully recovered.
-- Made the hostlist functions be able to arbitrarily handle any size
dimension no matter what the size of the cluster is in dimensions.
* Changes in SLURM 2.3.0.pre4
=============================
-- Add GraceTime to Partition and QOS data structures. Preempted jobs will be
given this time interval before termination. Work by Bill Brophy, Bull.
-- Add the ability for scontrol and sview to modify slurmctld DebugFlags
values.
-- Various Cray-specific patches:
- Fix a bug in distinguishing XT from XE.
- Avoids problems with empty nodenames on Cray.
- Check whether ALPS is hanging on to nodes, which happens if ALPS has not
yet cleaned up the node partition.
- Stops select/cray from clobbering node_ptr->reason.
- Perform 'safe' release of ALPS reservations using inventory and apkill.
- Compile-time sanity check for the apbasil and apkill files.
- Changes error handling in do_basil_release() (called by
select_g_job_fini()).
- Warn that salloc --no-shell option is not supported on Cray systems.
-- Add a reservation flag of "License_Only". If set, then jobs using the
reservation may use the licenses associated with it plus any compute nodes.
Otherwise the job is limited to the compute nodes associated with the
reservation.
-- Change slurm.conf node configuration parameter from "Procs" to "CPUs".
Both parameters will be supported for now.
-- BLUEGENE - fix for when user requests only midplane names with no count at
job submission time to process the node count correctly.
-- Fix job step resource allocation problem when both node and tasks counts
are specified. New logic selects nodes with larger CPU counts as needed.
-- BGQ - make it so srun wraps runjob (still under construction, but works
for most cases)
-- Permit a job's QOS and Comment field to both change in a single RPC. This
was previously disabled since Moab stored the QOS within the Comment field.
-- Add support for jobs to expand in size. Submit additional batch job with
the option "--dependency=expand:<jobid>". See web page "faq.html#job_size"
for details. Restrictions to be removed in the future.
-- Added --with-alps-emulation to configure, and also an optional cray.conf
to setup alps location and database information.
-- Modify PMI data types from 16-bits to 32-bits in order to support MPICH2
jobs with more than 65,536 tasks. Patch from Hongjia Cao, NUDT.
-- Set slurmd's soft process CPU limit equal to it's hard limit and notify the
user if the limit is not infinite.
-- Added proctrack/cgroup and task/cgroup plugins from Matthieu Hautreux, CEA.
-- Fix slurmctld restart logic that could leave nodes in UNKNOWN state for a
longer time than necessary after restart.
* Changes in SLURM 2.3.0.pre3
=============================
-- BGQ - Appears to work correctly in emulation mode, no sub blocks just yet.
-- Minor typos fixed
-- Various bug fixes for Cray systems.
-- Fix bug that when setting a compute node to idle state, it was failing to
set the systems up_node_bitmap.
-- BLUEGENE - code reorder
-- BLUEGENE - Now only one select plugin for all Bluegene systems.
-- Modify srun to set the SLURM_JOB_NAME environment variable when srun is
used to create a new job allocation. Not set when srun is used to create a
job step within an existing job allocation.
-- Modify init.d/slurm script to start multiple slurmd daemons per compute
node if so configured. Patch from Matthieu Hautreux, CEA.
-- Change license data structure counters from uint16_t to uint32_t to support
larger license counts.
* Changes in SLURM 2.3.0.pre2
=============================
-- Log a job's requeue or cancellation due to preemption to that job's stderr:
"*** JOB 65547 CANCELLED AT 2011-01-21T12:59:33 DUE TO PREEMPTION ***".
-- Added new job termination state of JOB_PREEMPTED, "PR" or "PREEMPTED" to
indicate job termination was due to preemption.
-- Optimize advanced reservations resource selection for computer topology.
The logic has been added to select/linear and select/cons_res, but will
not be enabled until the other select plugins are modified.
-- Remove checkpoint/xlch plugin.
-- Disable deletion of partitions that have unfinished jobs (pending,
running or suspended states). Patch from Martin Perry, BULL.
-- In sview, disable the sorting of node records by name at startup for
clusters over 1000 nodes. Users can enable this by selecting the "Name"
tab. This change dramatically improves scalability of sview.
-- Report error when trying to change a node's state from scontrol for Cray
systems.
-- Do not attempt to read the batch script for non-batch jobs. This patch
eliminates some inappropriate error messages.
-- Preserve NodeHostName when reordering nodes due to system topology.
-- On Cray/ALPS systems do node inventory before scheduling jobs.
-- Disable some salloc options on Cray systems.
-- Disable scontrol's wait_job command on Cray systems.
-- Disable srun command on native Cray/ALPS systems.
-- Updated configure option "--enable-cray-emulation" (still under
development) to emulate a cray XT/XE system, and auto-detect a real
Cray XT/XE systems (removed no longer needed --enable-cray configure
option). Building on native Cray systems requires the
cray-MySQL-devel-enterprise rpm and expat XML parser library/headers.
* Changes in SLURM 2.3.0.pre1
=============================
-- Added that when a slurmctld closes the connection to the database it's
registered host and port are removed.
-- Added flag to slurmdbd.conf TrackSlurmctldDown where if set will mark idle
resources as down on a cluster when a slurmctld disconnects or is no
longer reachable.
-- Added support for more than one front-end node to run slurmd on
architectures where the slurmd does not execute on the compute nodes
(e.g. BlueGene). New configuration parameters FrontendNode and FrontendAddr
added. See "man slurm.conf" for more information.
-- With the scontrol show job command when using the --details option, show
a batch job's script.
-- Add ability to create reservations or partitions and submit batch jobs
using sview. Also add the ability to delete reservations and partitions.
-- Added new configuration parameter MaxJobId. Once reached, restart job ID
values at FirstJobId.
-- When restarting slurmctld with priority/basic, increment all job priorities
so the highest job priority becomes TOP_PRIORITY.
* Changes in SLURM 2.2.8
========================
-- Prevent background salloc disconnecting terminal at termination. Patch by
Don Albert, Bull.
-- Fixed issue where preempt mode is skipped when creating a QOS. Patch by
Bill Brophy, Bull.
-- Fixed documention (html) for PriorityUsageResetPeriod to match that in the
man pages. Patch by Nancy Kritkausky, Bull.
* Changes in SLURM 2.2.7
========================
-- Eliminate zombie process created if salloc exits with stopped child
process. Patch from Gerrit Renker, CSCS.
-- With default configuration on non-Cray systems, enable salloc to be
spawned as a background process. Based upon work by Don Albert (Bull) and
Gerrit Renker (CSCS).
-- Fixed Regression from 2.2.4 in accounting where an inherited limit
would not be set correctly in the added child association.
-- Fixed issue with accounting when asking for jobs with a hostlist.
-- Avoid clearing a node's Arch, OS, BootTime and SlurmdStartTime when
"scontrol reconfig" is run. Patch from Martin Perry, Bull.
* Changes in SLURM 2.2.6
========================
-- Fix displaying of account coordinators with sacctmgr. Possiblity to show
deleted accounts. Only a cosmetic issue, since the accounts are already
deleted, and have no associations.
-- Prevent opaque ncurses WINDOW struct on OS X 10.6.
-- Fix issue with accounting when using PrivateData=jobs... users would not be
able to view there own jobs unless they were admin or coordinators which is
obviously wrong.
-- Fix bug in node stat if slurmctld is restarted while nodes are in the
process of being powered up. Patch from Andriy Grytsenko.
-- Change maximum batch script size from 128k to 4M.
-- Get slurmd -f option working. Patch from Andriy Grytsenko.
-- Fix for linking problem on OSX. Patches from Jon Bringhurst (LANL) and
Tyler Strickland.
-- Reset a job's priority to zero (suspended) when Moab requeues the job.
Patch from Par Andersson, NSC.
-- When enforcing accounting, fix polling for unknown uids for users after
the slurmctld started. Previously one would have to issue a reconfigure
to the slurmctld to have it look for new uids.
-- BLUEGENE - if a block goes into an error state. Fix issue where accounting
wasn't updated correctly when the block was resumed.
-- Synchronize power-save module better with scheduler. Patch from
Andriy Grytsenko (Massive Solutions Limited).
-- Avoid SEGV in association logic with user=NULL. Patch from
Andriy Grytsenko (Massive Solutions Limited).
-- Fixed issue in accounting where it was possible for a new
association/wckey to be set incorrectly as a default the new object
was added after an original default object already existed. Before
the slurmctld would need to be restarted to fix the issue.
-- Updated the Normalized Usage section in priority_multifactor.shtml.
-- Disable use of SQUEUE_FORMAT env var if squeue -l, -o, or -s option is
used. Patch from Aaron Knister (UMBC).
* Changes in SLURM 2.2.5
========================
-- Correct init.d/slurm status to have non-zero exit code if ANY Slurm
damon that should be running on the node is not running. Patch from Rod
Schulz, Bull.
-- Improve accuracy of response to "srun --test-only jobid=#".
-- Correct logic to properly support --ntasks-per-node option in the
select/cons_res plugin. Patch from Rod Schulz, Bull.
-- Fix bug in select/cons_res with respect to generic resource (gres)
scheduling which prevented some jobs from starting as soon as possible.
-- Fix memory leak in select/cons_res when backfill scheduling generic
resources (gres).
-- Fix for when configuring a node with more resources than in real life
and using task/affinity.
-- Fix so slurmctld will pack correctly 2.1 step information. (Only needed if
a 2.1 client is talking to a 2.2 slurmctld.)
-- Set powered down node's state to IDLE+POWER after slurmctld restart instead
of leaving in UNKNOWN+POWER. Patch from Andrej Gritsenko.
-- Fix bug where is srun's executable is not on it's current search path, but
can be found in the user's default search path. Modify slurmstepd to find
the executable. Patch from Andrej Gritsenko.
-- Make sview display correct cpu count for steps.
-- BLUEGENE - when running in overlap mode make sure to check the connection
type so you can create overlapping blocks on the exact same nodes with
different connection types (i.e. one torus, one mesh).
-- Fix memory leak if MPI ports are reserved (for OpenMPI) and srun's
--resv-ports option is used.
-- Fix some anomalies in select/cons_res task layout when using the
--cpus-per-task option. Patch from Martin Perry, Bull.
-- Improve backfill scheduling logic when job specifies --ntasks-per-node and
--mem-per-cpu options on a heterogeneous cluster. Patch from Bjorn-Helge
Mevik, University of Oslo.
-- Print warning message if srun specifies --cpus-per-task larger than used
to create job allocation.
-- Fix issue when changing a users name in accounting, if using wckeys would
execute correctly, but bad memcopy would core the DBD. No information
would be lost or corrupted, but you would need to restart the DBD.
* Changes in SLURM 2.2.4
========================
-- For batch jobs for which the Prolog fails, substitute the job ID for any
"%j" in the job's output or error file specification.
-- Add licenses field to the sview reservation information.
-- BLUEGENE - Fix for handling extremely overloaded system on Dynamic system
dealing with starting jobs on overlapping blocks. Previous fallout
was job would be requeued. (happens very rarely)
-- In accounting_storage/filetxt plugin, substitute spaces within job names,
step names, and account names with an underscore to insure proper parsing.
-- When building contribs/perlapi ignore both INSTALL_BASE and PERL_MM_OPT.
Use PREFIX instead to avoid build errors from multiple installation
specifications.
-- Add job_submit/cnode plugin to support resource reservations of less than
a full midplane on BlueGene computers. Treat cnodes as liceses which can
be reserved and are consumed by jobs. This reservation mechanism for less
than an entire midplane is still under development.
-- Clear a job's "reason" field when a held job is released.
-- When releasing a held job, calculate a new priority for it rather than
just setting the priority to 1.
-- Fix for sview started on a non-bluegene system to pick colors correctly
when talking to a real bluegene system.
-- Improve sched/backfill's expected start time calculation.
-- Prevent abort of sacctmgr for dump command with invalid (or no) filename.
-- Improve handling of job updates when using limits in accounting, and
updating jobs as a non-admin user.
-- Fix for "squeue --states=all" option. Bug would show no jobs.
-- Schedule jobs with reservations before those without reservations.
-- Fix squeue/scancel to query correctly against accounts of different case.
-- Abort an srun command when it's associated job gets aborted due to a
dependency that can not be satisfied.
-- In jobcomp plugins, report start time of zeroif pending job is cancelled.
Previously may report expected start time.
-- Fixed sacctmgr man to state correct variables.
-- Select nodes based upon their Weight when job allocation requests include
a constraint field with a count (e.g. "srun --constraint=gpu*2 -N4 a.out").
-- Add support for user names that are entirely numeric and do not treat them
as UID values. Patch from Dennis Leepow.
-- Patch to un/pack double values properly if negative value. Patch from
Dennis Leepow
-- Do not reset a job's priority when requeued or suspended.
-- Fix problemm that could let new jobs start on a node in DRAINED state.
-- Fix cosmetic sacctmgr issue where if the user you are trying to add
doesn't exist in the /etc/passwd file and the account you are trying
to add them to doesn't exist it would print (null) instead of the bad
account name.
-- Fix associations/qos for when adding back a previously deleted object
the object will be cleared of all old limits.
-- BLUEGENE - Added back a lock when creating dynamic blocks to be more thread
safe on larger systems with heavy load.
* Changes in SLURM 2.2.3
========================
-- Update srun, salloc, and sbatch man page description of --distribution
option. Patches from Rod Schulz, Bull.
-- Applied patch from Martin Perry to fix "Incorrect results for task/affinity
block second distribution and cpus-per-task > 1" bug.
-- Avoid setting a job's eligible time while held (priority == 0).
-- Substantial performance improvement to backfill scheduling. Patch from
Bjorn-Helge Mevik, University of Oslo.
-- Make timeout for communications to the slurmctld be based upon the
MessageTimeout configuration parameter rather than always 3 seconds.
Patch from Matthieu Hautreux, CEA.
-- Add new scontrol option of "show aliases" to report every NodeName that is
associated with a given NodeHostName when running multiple slurmd daemons
per compute node (typically used for testing purposes). Patch from
Matthieu Hautreux, CEA.
-- Fix for handling job names with a "'" in the name within MySQL accounting.
Patch from Gerrit Renker, CSCS.
-- Modify condition under which salloc execution delayed until moved to the
foreground. Patch from Gerrit Renker, CSCS.
Job control for interactive salloc sessions: only if ...
a) input is from a terminal (stdin has valid termios attributes),
b) controlling terminal exists (non-negative tpgid),
c) salloc is not run in allocation-only (--no-shell) mode,
d) salloc runs in its own process group (true in interactive
shells that support job control),
e) salloc has been configured at compile-time to support background
execution and is not currently in the background process group.
-- Abort salloc if no controlling terminal and --no-shell option is not used
("setsid salloc ..." is disabled). Patch from Gerrit Renker, CSCS.
-- Fix to gang scheduling logic which could cause jobs to not be suspended
or resumed when appropriate.
-- Applied patch from Martin Perry to fix "Slurmd abort when using task
affinity with plane distribution" bug.
-- Applied patch from Yiannis Georgiou to fix "Problem with cpu binding to
sockets option" behaviour. This change causes "--cpu_bind=sockets" to bind
tasks only to the CPUs on each socket allocated to the job rather than all
CPUs on each socket.
-- Advance daily or weekly reservations immediately after termination to avoid
having a job start that runs into the reservation when later advanced.
-- Fix for enabling users to change there own default account, wckey, or QOS.
-- BLUEGENE - If using OVERLAP mode fixed issue with multiple overlapping
blocks in error mode.
-- Fix for sacctmgr to display correctly default accounts.
-- scancel -s SIGKILL will always sent the RPC to the slurmctld rather than
the slurmd daemon(s). This insures that tasks in the process of getting
spawned are killed.
-- BLUEGENE - If using OVERLAP mode fixed issue with jobs getting denied
at submit if the only option for their job was overlapping a block in
error state.
* Changes in SLURM 2.2.2
========================
-- Correct logic to set correct job hold state (admin or user) when setting
the job's priority using scontrol's "update jobid=..." rather than its
"hold" or "holdu" commands.
-- Modify squeue to report unset --mincores, --minthreads or --extra-node-info
values as "*" rather than 65534. Patch from Rod Schulz, BULL.
-- Report the StartTime of a job as "Unknown" rather than the year 2106 if its
expected start time was too far in the future for the backfill scheduler
to compute.
-- Prevent a pending job reason field from inappropriately being set to
"Priority".
-- In sched/backfill with jobs having QOS_FLAG_NO_RESERVE set, then don't
consider the job's time limit when attempting to backfill schedule. The job
will just be preempted as needed at any time.
-- Eliminated a bug in sbatch when no valid target clusters are specified.
-- When explicitly sending a signal to a job with the scancel command and that
job is in a pending state, then send the request directly to the slurmctld
daemon and do not attempt to send the request to slurmd daemons, which are
not running the job anyway.
-- In slurmctld, properly set the up_node_bitmap when setting it's state to
IDLE (in case the previous node state was DOWN).
-- Fix smap to process block midplane names correctly when on a bluegene
system.
-- Fix smap to once again print out the Letter 'ID' for each line of a block/
partition view.
-- Corrected the NOTES section of the scancel man page
-- Fix for accounting_storage/mysql plugin to correctly query cluster based
transactions.
-- Fix issue when updating database for clusters that were previously deleted
before upgrade to 2.2 database.
-- BLUEGENE - Handle mesh torus check better in dynamic mode.
-- BLUEGENE - Fixed race condition when freeing block, most likely only would
happen in emulation.
-- Fix for calculating used QOS limits correctly on a slurmctld reconfig.
-- BLUEGENE - Fix for bad conn-type set when running small blocks in HTC mode.
-- If salloc's --no-shell option is used, then do not attempt to preserve the
terminal's state.
-- Add new SLURM configure time parameter of --disable-salloc-background. If
set, then salloc can only execute in the foreground. If started in the
background, then a message will be printed and the job allocation halted
until brought into the foreground.
NOTE: THIS IS A CHANGE IN DEFAULT SALLOC BEHAVIOR FROM V2.2.1, BUT IS
CONSISTENT WITH V2.1 AND EARLIER.
-- Added the Multi-Cluster Operation web page.
-- Removed remnant code for enforcing max sockets/cores/threads in the
cons_res plugin (see last item in 2.1.0-pre5). This was responsible
for a bug reported by Rod Schultz.
-- BLUEGENE - Set correct env vars for HTC mode on a P system to get correct
block.
-- Correct RunTime reported by "scontrol show job" for pending jobs.
* Changes in SLURM 2.2.1
========================
-- Fix setting derived exit code correctly for jobs that happen to have the
same jobid.
-- Better checking for time overflow when rolling up in accounting.
-- Add scancel --reservation option to cancel all jobs associated with a
specific reservation.
-- Treat reservation with no nodes like one that starts later (let jobs of any
size get queued and do not block any pending jobs).
-- Fix bug in gang scheduling logic that would temporarily resume to many jobs
after a job completed.
-- Change srun message about job step being deferred due to SlurmctldProlog
running to be more clear and only print when --verbose option is used.
-- Made it so you could remove the hold on jobs with sview by setting the
priority to infinite.
-- BLUEGENE - better checking small blocks in dynamic mode whether a full
midplane job could run or not.
-- Decrease the maximum sleep time between srun job step creation retry
attempts from 60 seconds to 29 seconds. This should eliminate a possible
synchronization problem with gang scheduling that could result in job
step creation requests only occuring when a job is suspended.
-- Fix to prevent changing a held job's state from HELD to DEPENDENCY
until the job is released. Patch from Rod Schultz, Bull.
-- Fixed sprio -M to reflect PriorityWeight values from remote cluster.
-- Fix bug in sview when trying to update arbitrary field on more than one
job. Formerly would display information about one job, but update next
selected job.
-- Made it so QOS with UsageFactor set to 0 would make it so jobs running
under that QOS wouldn't add time to fairshare or association/qos
limits.
-- Fixed issue where QOS priority wasn't re-normalized until a slurmctld
restart when a QOS priority was changed.
-- Fix sprio to use calculated numbers from slurmctld instead of
calulating it own numbers.
-- BLUEGENE - fixed race condition with preemption where if the wind blows the
right way the slurmctld could lock up when preempting jobs to run others.
-- BLUEGENE - fixed epilog to wait until MMCS job is totally complete before
finishing.
-- BLUEGENE - more robust checking for states when freeing blocks.
-- Added correct files to the slurm.spec file for correct perl api rpm
creation.
-- Added flag "NoReserve" to a QOS to make it so all jobs are created equal
within a QOS. So if larger, higher priority jobs are unable to run they
don't prevent smaller jobs from running even if running the smaller
jobs delay the start of the larger, higher priority jobs.
-- BLUEGENE - Check preemptees one by one to preempt lower priority jobs first
instead of first fit.
-- In select/cons_res, correct handling of the option
SelectTypeParameters=CR_ONE_TASK_PER_CORE.
-- Fix for checking QOS to override partition limits, previously if not using
QOS some limits would be overlooked.
-- Fix bug which would terminate a job step if any of the nodes allocated to
it were removed from the job's allocation. Now only the tasks on those
nodes are terminated.
-- Fixed issue when using a storage_accounting plugin directly without the
slurmDBD updates weren't always sent correctly to the slurmctld, appears to
OS dependent, reported by Fredrik Tegenfeldt.
* Changes in SLURM 2.2.0
========================
-- Change format of Duration field in "scontrol show reservation" output from
an integer number of minutes to "[days-]hours:minutes:seconds".
-- Add support for changing the reservation of pending or running jobs.
-- On Cray systems only, salloc sends SIGKILL to spawned process group when
job allocation is revoked. Patch from Gerrit Renker, CSCS.
-- Fix for sacctmgr to work correctly when modifying user associations where
all the associations contain a partition.
-- Minor mods to salloc signal handling logic: forwards more signals and
releases allocation on real-time signals. Patch from Gerrit Renker, CSCS.
-- Add salloc logic to preserve tty attributes after abnormal exit. Patch
from Mark Grondona, LLNL.
-- BLUEGENE - Fix for issue in dynamic mode when trying to create a block
overlapping a block with no job running on it but in configuring state.
-- BLUEGENE - Speedup by skipping blocks that are deallocating for other jobs
when starting overlapping jobs in dynamic mode.
-- Fix for sacct --state to work correctly when not specifying a start time.
-- Fix upgrade process in accounting from 2.1 for clusters named "cluster".
-- Export more jobacct_common symbols needed for the slurm api on some systems.
* Changes in SLURM 2.2.0.rc4
============================
-- Correction in logic to spread out over time highly parallel messages to
minimize lost messages. Effects slurmd epilog complete messages and PMI
key-pair transmissions. Patch from Gerrit Renker, CSCS.
-- Fixed issue where if a system has unset messages to the dbd in 2.1 and
upgrades to 2.2. Messages are now processed correctly now.
-- Fixed issue where assoc_mgr cache wasn't always loaded correctly if the
slurmdbd wasn't running when the slurmctld was started.
-- Make sure on a pthread create in step launch that the error code is looked
at. Improves fault-tolerance of slurmd.
-- Fix setting up default acct/wckey when upgrading from 2.1 to 2.2.
-- Fix issue with associations attached to a specific partition with no other
association, and requesting a different partition.
-- Added perlapi to the slurmdb to the slurm.spec.
-- In sched/backfill, correct handling of CompleteWait parameter to avoid
backfill scheduling while a job is completing. Patch from Gerrit Renker,
CSCS.
-- Send message back to user when trying to launch job on computing lacking
that user ID. Patch from Hongjia Cao, NUDT.
-- BLUEGENE - Fix it so 1 midplane clusters will run small block jobs.
-- Add Command and WorkDir to the output of "scontrol show job" for job
allocations created using srun (not just sbatch).
-- Fixed sacctmgr to not add blank defaultqos' when doing a cluster dump.
-- Correct processing of memory and disk space specifications in the salloc,
sbatch, and srun commands to work properly with a suffix of "MB", "GB",
etc. and not only with a single letter (e.g. "M", "G", etc.).
-- Prevent nodes with suspended jobs from being powered down by SLURM.
-- Normalized the way pidfile are created by the slurm daemons.
-- Fixed modifying the root association to no read in it's last value
when clearing a limit being set.
-- Revert some resent signal handling logic from salloc so that SIGHUP sent
after the job allocation will properly release the allocation and cause
salloc to exit.
-- BLUEGENE - Fix for recreating a block in a ready state.
-- Fix debug flags for incorrect logic when dealing with DEBUG_FLAG_WIKI.
-- Report reservation's Nodes as a hostlist expression of all nodes rather
than using "ALL".
-- Fix reporting of nodes in BlueGene reservation (was reporting CPU count
rather than cnode count in scontrol output for NodeCnt field).
* Changes in SLURM 2.2.0.rc3
============================
-- Modify sacctmgr command to accept plural versions of options (e.g. "Users"
in addition to "User"). Patch from Don Albert, BULL.
-- BLUEGENE - make it so reset of boot counter happens only on state change
and not when a new job comes along.
-- Modify srun and salloc signal handling so they can be interrupted while
waiting for an allocation. This was broken in version 2.2.0.rc2.
-- Fix NULL pointer reference in sview. Patch from Gerrit Renker, CSCS.
-- Fix file descriptor leak in slurmstepd on spank_task_post_fork() failure.
Patch from Gerrit Renker, CSCS.
-- Fix bug in preserving job state information when upgrading from SLURM
version 2.1. Bug introduced in version 2.2.0-pre10. Patch from Par
Andersson, NSC.
-- Fix bug where if using the slurmdbd if a job wasn't able to start right
away some accounting information may be lost.
-- BLUEGENE - when a prolog failure happens the offending block is put in
an error state.
-- Changed the last column heading of the sshare output from "FS Usage" to
"FairShare" and added more detail to the sshare man page.
-- Fix bug in enforcement of reservation by account name. Used wrong index
into an array. Patch from Gerrit Renker, CSCS.
-- Modify job_submit/lua plugin to treat any non-zero return code from the
job_submit and job_modify functions as an error and the user request should
be aborted.
-- Fix bug which would permit pending job to be started on completing node
when job preemption is configured.
* Changes in SLURM 2.2.0.rc2
============================
-- Fix memory leak in job step allocation logic. Patch from Hongjia Cao, NUDT.
-- If a preempted job was submitted with the --no-requeue option then cancel
rather than requeue it.
-- Fix for problems when adding a user for the first time to a new cluster
with a 2.1 sacctmgr without specifying a default account.
-- Resend TERMINATE_JOB message only to nodes that the job still has not
terminated on. Patch from Hongjia Cao, NUDT.
-- Treat time limit specification of "0:300" as a request for 300 seconds
(5 minutes) instead of one minute.
-- Modify sched/backfill plugin logic to continue working its way down the
queue of jobs rather than restarting at the top if there are no changes in
job, node, or partition state between runs. Patch from Hongjia Cao, NUDT.
-- Improve scalability of select/cons_res logic. Patch from Matthieu Hautreux,
CEA.
-- Fix for possible deadlock in the slurmstepd when cancelling a job that is
also writing a large amount of data to stderr.
-- Fix in select/cons_res to eliminate "mem underflow" error when the
slurmctld is reconfigured while a job is in completing state.
-- Send a message to the a user's job when it's real or virual memory limit
is exceeded. :
-- Apply rlimits right before execing the users task so to lower the risk of
the task exiting because the slurmstepd ran over a limit (log file size,
etc.)
-- Add scontrol command of "uhold <job_id>" so that an administrator can hold
a job and let the job's owner release it. The scontrol command of
"hold <job_id>" when executed by a SLURM administrator can only be released
by a SLURM administrator and not the job owner.
-- Change atoi to slurm_atoul in mysql plugin, needed for running on 32-bit
systems in some cases.
-- If a batch job is found to be missing from a node, make its termination
state be NODE_FAIL rather than CANCELLED.
-- Fatal error put back if running a bluegene or cray plugin from a controller
not of that type.
-- Make sure jobacct_gather plugin is not shutdown before messing with the
proccess list.
-- Modify signal handling in srun and salloc commands to avoid deadlock if the
malloc function is interupted and called again. The malloc function is
thread safe, but not reentrant, which is a problem when signal handling if
the malloc function itself has a lock. Problem fixed by moving signal
handling in those commands to a new pthread.
-- In srun set job abort flag on completion to handle the case when a user
cancels a job while the node is not responding but slurmctld has not yet
the node down. Patch from Hongjia Cao, NUDT.
-- Streamline the PMI logic if no duplicate keys are included in the key-pairs
managed. Substantially improves performance for large numbers of tasks.
Adds support for SLURM_PMI_KVS_NO_DUP_KEYS environment variable. Patch
from Hongjia Cao, NUDT.
-- Fix issues with sview dealing with older versions of sview and saving
defaults.
-- Remove references to --mincores, --minsockets, and --minthreads from the
salloc, sbatch and srun man pages. These options are defunct, Patch from
Rod Schultz, Bull.
-- Made openssl not be required to build RPMs, it is not required anymore
since munge is the default crypto plugin.
-- sacctmgr now has smarts to figure out if a qos is a default qos when
modifing a user/acct or removing a qos.
-- For reservations on BlueGene systems, set and report c-node counts rather
than midplane counts.
* Changes in SLURM 2.2.0.rc1
============================
-- Add show_flags parameter to the slurm_load_block_info() function.
-- perlapi has been brought up to speed courtesy of Hongjia Coa. (make sure to
run 'make clean' if building in a different dir than source)
-- Fixed regression in pre12 in crypto/munge when running with
--enable-multiple-slurmd which would cause the slurmd's to core.
-- Fixed regression where cpu count wasn't figured out correctly for steps.
-- Fixed issue when using old mysql that can't handle a '.' in the table
name.
-- Mysql plugin works correctly without the SlurmDBD
-- Added ability to query batch step with sstat. Currently no accounting data
is stored for the batch step, but the internals are inplace if we decide to
do that in the future.
-- Fixed some backwards compatibility issues with 2.2 talking to 2.1.
-- Fixed regression where modifying associations didn't get sent to the
slurmctld.
-- Made sshare sort things the same way saccmgr list assoc does
(alphabetically)
-- Fixed issue with default accounts being set up correctly.
-- Changed sortting in the slurmctld so sshare output is similar to that of
sacctmgr list assoc.
-- Modify reservation logic so that daily and weekly reservations maintain
the same time when daylight savings time starts or ends in the interim.
-- Edit to make reservations handle updates to associations.
-- Added the derived exit code to the slurmctld job record and the derived
exit code and string to the job record in the SLURM db.
-- Added slurm-sjobexit RPM for SLURM job exit code management tools.
-- Added ability to use sstat/sacct against the batch step.
-- Added OnlyDefaults option to sacctmgr list associations.
-- Modified the fairshare priority formula to F = 2**(-Ue/S)
-- Modify the PMI functions key-pair exchange function to support a 32-bit
counter for larger job sizes. Patch from Hongjia Cao, NUDT.
-- In sched/builtin - Make the estimated job start time logic faster (borrowed
new logic from sched/backfill and added pthread) and more accurate.
-- In select/cons_res fix bug that could result in a job being allocated zero
CPUs on some nodes. Patch from Hongjia Cao, NUDT.
-- Fix bug in sched/backfill that could set expected start time of a job too
far in the future.
-- Added ability to enforce new limits given to associations/qos on
pending jobs.
-- Increase max message size for the slurmdbd from 1000000 to 16*1024*1024
-- Increase number of active threads in the slurmdbd from 50 to 100
-- Fixed small bug in src/common/slurmdb_defs.c reported by Bjorn-Helge Mevik
-- Fixed sacctmgr's ability to query associations against qos again.
-- Fixed sview show config on non-bluegene systems.
-- Fixed bug in selecting jobs based on sacct -N option
-- Fix bug that prevented job Epilog from running more than once on a node if
a job was requeued and started no job steps.
-- Fixed issue where node index wasn't stored correcting when using DBD.
-- Enable srun's use of the --nodes option with --exclusive (previously the
--nodes option was ignored).
-- Added UsageThreshold and Flags to the QOS object.
-- Patch to improve threadsafeness in the mysql plugins.
-- Add support for fair-share scheduling to be based upon resource use at
the level of bank accounts and ignore use of individual users. Patch by
Par Andersson, National Supercomputer Centre, Sweden.
* Changes in SLURM 2.2.0.pre12
==============================
-- Log if Prolog or Epilog run for longer than MessageTimeout / 2.
-- Log the RPC number associated with messages from slurmctld that timeout.
-- Fix bug in select/cons_res logic when job allocation includes --overcommit
and --ntasks-per-node options and the node has fewer CPUs than the count
specified by --ntasks-per-node.
-- Fix bug in gang scheduling and job preemption logic so that preempted jobs
get resumed properly after a slurmctld hot-start.
-- Fix bug in select/linear handling of gang scheduled jobs that could result
in run_job_cnt underflow error message.
-- Fix bug in gang scheduling logic to properly support partitions added
using the scontrol command.
-- Fix a segmentation fault in sview where the 'excluded_partitions' field
was set to NULL, caused by the absence of ~/.slurm/sviewrc.
-- Rewrote some calls to is_user_any_coord() in src/plugins/accounting_storage
modules to make use of is_user_any_coord()'s return value.
-- Add configure option of --with=dimensions=#.
-- Modify srun ping logic so that srun would only be considered not responsive
if three ping messages were not responded to. Patch from Hongjia Cao (NUDT).
-- Preserve a node's ReasonTime field after scontrol reconfig command. Patch
from Hongjia Cao (NUDT).
-- Added the authority for users with AdminLevel's defined in the SLURM db
(Operators and Admins) and account coordinators to invoke commands that
affect jobs, reservations, nodes, etc.
-- Fix for slurmd restart on completing node with no tasks to get the correct
state, completing. Patch from Hongjia Cao (NUDT).
-- Prevent scontrol setting a node's Reason="". Patch from Hongjia Cao (NUDT).
-- Add new functions hostlist_ranged_string_malloc,
hostlist_ranged_string_xmalloc, hostlist_deranged_string_malloc, and
hostlist_deranged_string_xmalloc which will allocate memory as needed.
-- Make the slurm commands support both the --cluster and --clusters option.
Previously, some commands support one of those options, but not the other.
-- Fix bug when resizing a job that has steps running on some of those nodes.
Avoid killing the job step on remaining nodes. Patch from Rod Schultz
(BULL). Also fix bug related to tracking the CPUs allocated to job steps
on each node after releasing some nodes from the job's allocation.
-- Applied patch from Rod Schultz / Matthieu Hautreux to keep the Node-to-Host
cache from becoming corrupted when a hostname cannot be resolved.
-- Export more symbols in libslurm for job and node state information
translation (numbers to strings). Patch from Hongia Cao, NUDT.
-- Add logic to retry sending RESPONSE_LAUNCH_TASKS messages from slurmd to
srun. Patch from Hongia Cao, NUDT.
-- Modify bit_unfmt_hexmask() and bit_unfmt_binmask() functions to clear the
bitmap input before setting the bits indicated in the input string.
-- Add SchedulerParameters option of bf_window to control how far into the
future that the backfill scheduler will look when considering jobs to start.
The default value is one day. See "man slurm.conf" for details.
-- Fix bug that can result in duplicate job termination records in accounting
for job termination when slurmctld restarts or reconfigures.
-- Modify plugin and library logic as needed to support use of the function
slurm_job_step_stat() from user commands.
-- Fix race condition in which PrologSlurmctld failure could cause slurmctld
to abort.
-- Fix bug preventing users in secondary user groups from being granted access
to partitions configured with AllowGroups.
-- Added support for a default account and wckey per cluster within accounting.
-- Modified select/cons_res plugin so that if MaxMemPerCPU is configured and a
job specifies it's memory requirement, then more CPUs than requested will
automatically be allocated to a job to honor the MaxMemPerCPU parameter.
-- Added the derived_ec (exit_code) member to job_info_t. exit_code captures
the exit code of the job script (or salloc) while derived_ec contains the
highest exit code of all the job steps.
-- Added SLURM_JOB_EXIT_CODE and SLURM_JOB_DERIVED_EC variables to the
EpilogSlurmctld environment
-- More work done on the accounting_storage/pgsql plugin, still beta.
Patch from Hongjia Cao (NUDT).
-- Major updates to sview from Dan Rusak (Bull), including:
- Persistent option selections for each tab page
- Clean up topology in grids
- Leverage AllowGroups and Hidden options
- Cascade full-info popups for ease of selection
-- Add locks around the MySQL calls for proper operation if the non-thread
safe version of the MySQL library is used.
-- Remove libslurm.a, libpmi.a and libslurmdb.a from SLURM RPM. These static
libraries are not generally usable.
-- Fixed bug in sacctmgr when zeroing raw usage reported by Gerrit Renker.
* Changes in SLURM 2.2.0.pre11
==============================
-- Permit a regular user to change the partition of a pending job.
-- Major re-write of the job_submit/lua plugin to pass pointers to available
partitions and use lua metatables to reference the job and partition fields.
-- Add support for serveral new trigger types: SlurmDBD failure/restart,
Database failure/restart, Slurmctld failure/restart.
-- Add support for SLURM_CLUSTERS environment variable in the sbatch, sinfo,
squeue commands.
-- Modify the sinfo and squeue commands to report state of multiple clusters
if the --clusters option is used.
-- Added printf __attribute__ qualifiers to info, debug, ... to help prevent
bad/incorrect parameters being sent to them. Original patch from
Eygene Ryabinkin (Russian Research Centre).
-- Fix bug in slurmctld job completion logic when nodes allocated to a
completing job are re-booted. Patch from Hongjia Cao (NUDT).
-- In slurmctld's node record data structure, rename "hilbert_integer" to
"node_rank".
-- Add topology/node_rank plugin to sort nodes based upon rank loaded from
BASIL on Cray computers.
-- Fix memory leak in the auth/munge and crypto/munge plugins in the case of
some failure modes.
* Changes in SLURM 2.2.0.pre10
==============================
-- Fix issue when EnforcePartLimits=yes in slurm.conf all jobs where no nodecnt
was specified the job would be seen to have maxnodes=0 which would not
allow jobs to run.
-- Fix issue where if not suspending a job the gang scheduler does the correct
kill procedure.
-- Fixed some issues when dealing with jobs from a 2.1 system so they live
after an upgrade.
-- In srun, log if --cpu_bind options are specified, but not supported by the
current system configuration.
-- Various Patchs from Hongjia Cao dealing with bugs found in sacctmgr and
the slurmdbd.
-- Fix bug in changing the nodes allocated to a running job and some node