On 2016-02-11 07:36, Rohan Garg wrote:
> 
> Hello,
> 
> I'm trying to set up SLURM-15.08.1 on a single multi-core node to
> manage multi-threaded jobs. The machine has 16 physical cores
> on 2 sockets with HyperThreading enabled. I'm using the EASY
> scheduling algorithm with backfilling. The goal is to fully utilize all
> the available cores at all times.
> 
> Given a list of three jobs with requirements of 8 cores, 2 cores,
> and 4 cores, the expectation is that the jobs should be co-scheduled
> to utilize 14 of the 16 available cores.  However, I can't seem to
> get SLURM to work as expected. SLURM runs the latter two jobs
> together but refuses to schedule the first job until they finish.
> (Is this the expected behavior of the EASY-backfilling algorithm?)
> 
> Here's the list of jobs:
> 
>   $ cat job1.batch
> 
>     #!/bin/bash
>     #SBATCH --sockets-per-node=1
>     #SBATCH --cores-per-socket=8
>     #SBATCH --threads-per-core=1
>     srun /path/to/application1
>   
>   $ cat job2.batch
>   
>     #!/bin/bash
>     #SBATCH --sockets-per-node=1
>     #SBATCH --cores-per-socket=2
>     #SBATCH --threads-per-core=1
>     srun /path/to/application2
>   
>   $ cat job3.batch
>   
>     #!/bin/bash
>     #SBATCH --sockets-per-node=1
>     #SBATCH --cores-per-socket=4
>     #SBATCH --threads-per-core=1
>     srun /path/to/application3

At a quick glance:

In general let the scheduler do the work. Don't micro-manage.
Be aware that your SBATCH setting are constraints -- not hints.

You have 3 jobs that each request 1 socket = 3 socket.
You have 2 phys. sockets.

/Benjamin
-- 
FSU Jena | JULIELab.de/Staff/Benjamin+Redling.html
vox: +49 3641 9 44323 | fax: +49 3641 9 44321

Reply via email to