0
votes

I am using slurm job scheduler. HPC consists of two groups of nodes: ddcd[00-31] and ddcb[00-31] two groups have different H/W spec. (40 cores and 16 cores) but are in a same partion.

I would like to make slurm allocate job in one of the node groups instead of mixing or spreading the job among two groups.

for instance, a job of 160 cores should be allocated in 10 nodes of ddcb or 4 nodes of ddcd.

I have set node weight on each node groups but it looks not working. some mixed allocation was observed. Any help would be appreciated.

my slurm.conf is as follows:

SlurmctldHost=mynode
MpiDefault=none
ProctrackType=proctrack/pgid
ReturnToService=1
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmdPidFile=/var/run/slurmd.pid
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=slurm
StateSaveLocation=/var/spool/slurmctld
SwitchType=switch/none
TaskPlugin=task/none
JobRequeue=0
# JOB PRIORITY
#PriorityType=priority/multifactor
PriorityDecayHalfLife=14-0
PriorityCalcPeriod=5
PriorityFavorSmall=NO
PriorityMaxAge=14-0
PriorityUsageResetPeriod=NONE
PriorityWeightAge=10000
PriorityWeightFairshare=0
PriorityWeightJobSize=100000
PriorityWeightPartition=0
PriorityWeightQOS=1000000
#
AuthType=auth/munge
CryptoType=crypto/munge
#
PrologFlags=Alloc
#PrologFlags=x11

# SCHEDULING
FastSchedule=1
SchedulerType=sched/backfill
SchedulerParameters=enable_user_top
SelectType=select/linear
#
PropagateResourceLimitsExcept=MEMLOCK
#
# LOGGING AND ACCOUNTING
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageEnforce=qos,limits,
ClusterName=ssmbhpc
JobAcctGatherType=jobacct_gather/none
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdLogFile=/var/log/slurmd.log
#
#
# COMPUTE NODES
NodeName=ddcd[00-31] Sockets=2 CoresPerSocket=20 ThreadsPercore=1 Weight=10 State=UNKNOWN
NodeName=ddcb[00-31] Sockets=2 CoresPerSocket=8 ThreadsPercore=1 Weight=200 State=UNKNOWN
#
# Partition
PartitionName=debug Nodes=ddcd[00-31] Default=YES MaxTime=INFINITE State=UP
PartitionName=strp Nodes=ddcd[00-31],ddcb[00-31] Default=No MaxTime=INFINITE State=UP QOS=normal
1

1 Answers

0
votes

I found that it is achievable with node feature and sbatch --constraint