Hello, On a number of occasions we've had a task come up which was quickly solved by dumping a list of commands or filenames or whatever into a text file, then submitting an array job which pulls out a single line based on it's task id and processes whatever is in that line. Submitting with % and using a limit on running tasks makes this pretty easy to throttle something that might have otherwise overwhelmed a fileserver or net connection. However, using that % locks us into that limit for the life of the job. If there is a lull in usage of the limited resource by other jobs, it'd be nice to be able to increase/decrease the % value to manage the number of running jobs to maximize the use of said resource. My requested enhancement then is that ArrayTaskID be split into ArrayTaskID and ArrayTaskThrottle with ArrayTaskThrottle being update-able dynamically with scontrol update. Thanks, jbh
That should be simple to do, but its too late to get into version 15.08, at least the initial release.
As expected, this was very simple to fix. Code/document update here: https://github.com/SchedMD/slurm/commit/56b0ff1c5a85b78530ec8bd5172fb851ef2ca1aa Test added here: https://github.com/SchedMD/slurm/commit/84f8662f7d2a7ea7fd08f6d5f1d08b38251ff84e Here's how it works: Set/change limit: scontrol update jobid=1933 arraytaskthrottle=1 Clear limit: scontrol update jobid=1933 arraytaskthrottle=0
Moe, This works brilliantly, thanks for putting it in there. jbh