Dear Loris,
Thank you for your reply. I don't believe that there is something wrong
with the job configuration or the node configuration to be honest.
I have just submitted a simple sleep script:
#!/bin/bash
sleep 10
as below:
sbatch --array=1-10 --ntasks-per-node=40 --time=09:00:00 test.sh
and squeue shows:
131799_1 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_2 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_3 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_4 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_5 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_6 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_7 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_8 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_9 cpu test.sh thekla PD N/A 1
cn04 (Priority)
131799_10 cpu test.sh thekla PD N/A 1
cn04 (Priority)
All of the jobs seem to be scheduled on node cn04.
When they start running they run on separate nodes:
131799_1 cpu test.sh thekla R 0:02 1 cn01
131799_2 cpu test.sh thekla R 0:02 1 cn02
131799_3 cpu test.sh thekla R 0:02 1 cn03
131799_4 cpu test.sh thekla R 0:02 1 cn04
Regards,
Thekla
On 7/12/21 5:17 μ.μ., Loris Bennett wrote:
Dear Thekla,
Thekla Loizou <t.loi...@cyi.ac.cy> writes:
Dear Loris,
There is no specific node required for this array. I can verify that from
"scontrol show job 124841" since the requested node list is empty:
ReqNodeList=(null)
Also, all 17 nodes of the cluster are identical so all nodes fulfill the job
requirements, not only node cn06.
By "saving" the other nodes I mean that the scheduler estimates that the array
jobs will start on 2021-12-11T03:58:00. No other jobs are scheduled to run
during that time on the other nodes. So it seems that somehow the scheduler
schedules the array jobs on more than one nodes but this is not showing in the
squeue or scontrol output.
My guess is that there is something wrong with either the job
configuration or the node configuration, if Slurm thinks 9 jobs which
require a whole node can all be started simultaneously on same node.
Cheers,
Loris
Regards,
Thekla
On 7/12/21 12:16 μ.μ., Loris Bennett wrote:
Hi Thekla,
Thekla Loizou <t.loi...@cyi.ac.cy> writes:
Dear all,
I have noticed that SLURM schedules several jobs from a job array on the same
node with the same start time and end time.
Each of these jobs requires the full node. You can see the squeue output below:
JOBID PARTITION ST START_TIME NODES SCHEDNODES
NODELIST(REASON)
124841_1 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_2 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_3 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_4 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_5 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_6 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_7 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_8 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
124841_9 cpu PD 2021-12-11T03:58:00 1
cn06 (Priority)
Is this a bug or am I missing something? Is this because the jobs have the same
JOBID and are still in pending state? I am aware that the jobs will not actually
all run on the same node at the same time and that the scheduler somehow takes
into account that this job array has 9 jobs that will need 9 nodes. I am
creating a timeline with the start time of all jobs and when the job array jobs
will start running no other jobs are set to run on the remaining nodes (so it
"saves" the other nodes for the jobs of the array even if they are all scheduled
to run on the same node based on squeue or scontrol).
In general jobs from an array will be scheduled on whatever nodes
fulfil their requirements. The fact that all the jobs have
cn06
as NODELIST however seems to suggest that you have either specified cn06
as the node the jobs should run on, or cn06 is the only node which
fulfils the job requirements.
I'm not sure what you mean about '"saving" the other nodes'.
Cheers,
Loris