Partitions in Discovery

What are Partitions?

Partitions are work queues that have a set of rules/policies and computational nodes included in it to run the jobs. The available partitions are normal, gpu, interactive, class, backfill, epscor, so on. Run the below command to find the available list of partitions in discovery.

Syntax: sinfo --all

$ sinfo --all

Output:

PARTITION    AVAIL  TIMELIMIT  NODES  STATE NODELIST
normal*         up 7-01:00:00      1   drng discovery-c11
normal*         up 7-01:00:00     21    mix discovery-c[2-10,12-15,26-33]
gpu             up 7-01:00:00      2    mix discovery-g[1,16]
interactive     up 1-01:00:00      4    mix discovery-c[34-35],discovery-g[14-15]
backfill        up 14-02:00:0      3   plnd discovery-c[16,18-19]
backfill        up 14-02:00:0      1  down* discovery-c36
backfill        up 14-02:00:0      1   drng discovery-c11
backfill        up 14-02:00:0     48    mix discovery-c[2-10,12-15,17,20-35,37-38],discovery-g[1-16]
epscor          up 7-01:00:00      6    mix discovery-c[37-38],discovery-g[8-11]
iiplab          up 7-01:00:00      1    mix discovery-g7
cfdlab          up 7-01:00:00      3   plnd discovery-c[16,18-19]
cfdlab          up 7-01:00:00     12    mix discovery-c[17,20-25],discovery-g[2-6]
cfdlab-debug    up    1:00:00      3   plnd discovery-c[16,18-19]
cfdlab-debug    up    1:00:00     12    mix discovery-c[17,20-25],discovery-g[2-6]
class           up 7-01:00:00      2    mix discovery-g[12-13]
cblab           up 7-01:00:00      1  down* discovery-c36
osg             up 1-01:00:00      1    mix discovery-c1
covid19         up 1-01:00:00      1    mix discovery-c1
osgtest         up 1-01:00:00      1    mix discovery-c1

The output shows the list of all the available partitions in discovery as of September 2020. The state alloc denotes that the nodes are allocated for the jobs. The state mix implies that some CPUs in the nodes are allocated while others remain idle.

Some partitions in discovery are condo partitions which are restricted to certain researchers and lab groups.

normal

It’s the default queue. Some important information about the normal partition can be found below.

Parameter values

Maximum Walltime

7–01:00:00 (7 days and 1 hour)

Nodes

discovery-c[1–15, 26-33]

Total Nodes

23

Maximum Jobs(Running)

10

Maximum Submitted Jobs

20

Maximum jobs is the highest number of jobs that can actively run at a time in a partition. Maximum Submitted Jobs is the maximum number of jobs you can submit to a partition. In normal partition, you can submit 20 jobs but only 10 jobs will be actively running and the remaining 10 jobs will be in the queue.

gpu

The jobs scheduled to this queue will be performed on the gpu node. Please check the below table for more details about the gpu node.

Parameter values

Maximum wall-time

7–01:00:00 (7 days and 1 hour)

Nodes

discovery-g1, discovery-g16

Total Nodes

2

Maximum Jobs(Running)

2

Maximum Submitted Jobs

4

interactive

This partition is ideal for running interactive jobs.

To learn more about running interactive jobs, refer to the page Interactive Jobs in Discovery.

Parameter values

Maximum wall-time

1–01:00:00 (1 day and 1 hour)

Nodes

discovery-c[34–35], discovery-g[14–15]

Total Nodes

4

Maximum Jobs(Running)

3

Maximum Submitted Jobs

3

Maximum CPU Per Job

16

Maximum Memory per Job

64G

backfill

This partition scavenges nodes from all partitions to use. It has the lowest priority of all the partitions. The jobs submitted to the backfill partition may be stopped and requeued multiple times depending on the demand of high priority jobs.

To find more information about the backfill and checkpoints, refer to the page → Backfill and Checkpoints in Discovery page.

Parameter values

Maximum wall-time

14–02:00:00 (14 days and 2 hours)

Nodes

discovery-c[1–38], discovery-g[1–16]

Total Nodes

54

Maximum Jobs(Running)

10

Maximum Submitted Jobs

20

HPC team are exploring to get the best out of the backfill queue and your valuable suggestions are always welcome.

Condo Partitions

Some partitions in Discovery are condo partitions and are restricted for certain team/research group. New partitions are getting added and the below table shows the list of the condo partitions.

Partition Owned By

class

NSF CC*2020 grant(class or academic use)

cfdlab

Dr. Gross’s Lab

cblab

Dr. Brungard’s Lab

cfdlab-debug

Dr. Gross’s Lab

epscor

EPSCoR group

iiplab

Dr. Boucheron’s Lab

Details about each condo partition are as follows:

Partition Details

class

Maximum wall-time

7–01:00:00 (7 days and 1 hour)

Nodes

discovery-g[12–13]

Total Nodes

10

Max Jobs(Running)

10

Max Submitted Jobs

10

cfdlab

Maximum wall-time

7–01:00:00 (7 days and 1 hour)

Nodes

discovery-c[16–25], discovery-g[2–6]

Total Nodes

15

Max Jobs(Running)

No Limit

Max Submitted Jobs

No Limit

cblab

Maximum wall-time

7–01:00:00 (7 days and 1 hour)

Nodes

discovery-c36

Total Nodes

1

Max Jobs(Running)

No Limit

Max Submitted Jobs

No Limit

cblab(discovery-c36) won’t be available in the Discovery cluster until May 2022.

cfdlab-debug

Maximum wall-time

0–01:00:00 (1 hour)

Nodes

discovery-c[16–25], discovery-g[2–6]

Total Nodes

15

Max Jobs(Running)

No Limit

Max Submitted Jobs

No Limit

epscor

Maximum wall-time

7–01:00:00 ( 7 days and 1 hour)

Nodes

discovery-g[8–11], discovery-c[37–38]

Total Nodes

6

Max Jobs(Running)

10

Max Submitted Jobs

20

iiplab

Maximum wall-time

7–01:00:00 ( 7 days and 1 hour)

Nodes

discovery-g7

Total Nodes

1

Max Jobs(Running)

No Limit

Max Submitted Jobs

No Limit

Scontrol Show

To find more information about a partition like AllowGroups, AllowAccounts, MaxNodes, QoS, etc, the scontrol show command can be used to view the information.

Syntax : scontrol show partition <partition-name>

scontrol show partiton normal

Output :

PartitionName=normal
   AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL
   AllocNodes=ALL Default=YES QoS=p-normal
   DefaultTime=00:01:00 DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO
   MaxNodes=UNLIMITED MaxTime=7-01:00:00 MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED
   Nodes=discovery-c[1-15]
   PriorityJobFactor=1 PriorityTier=25 RootOnly=NO ReqResv=NO OverSubscribe=FORCE:1
   OverTimeLimit=NONE PreemptMode=SUSPEND
   State=UP TotalCPUs=624 TotalNodes=15 SelectTypeParameters=NONE
   JobDefaults=(null)
   DefMemPerCPU=512 MaxMemPerNode=UNLIMITED

The above output shows detailed information about the normal partition. It also shows QoS information QoS= p-normal which is discussed in detail in the next section.

Partition QoS

For every partition, there is a Quality of Service which has different parameters like MaxJobs, MaxSubmitJobs, etc defined for the partition. This has an effect on the jobs submitted by the user on the partition. The QoS for the normal partition is p-normal which is inferred from the above scontrol show partition normal command output. Run the below command to find more details about the QoS.

Syntax: sacctmgr show qos where name =<qos-name> format=<header1,header2,…​.n>

  sacctmgr show qos where name=p-normal format=name,maxJobs,maxSubmit

Output:

~~~~~~Name MaxJobs MaxSubmit
---------- ------- ---------
p-normal      10        20

The output shows some parameters which are defined for the QoS p-normal for the normal partition. The QoS has defined MaxJobs limit to 10` which means that you can have only 10 jobs in running state in normal partition. The MaxSubmit parameter shows 20 which means that you can submit 20 jobs to the normal partition. However, only 10 will be in the running state and the other 10 will be in the queue.

In similar manner, there is a different QoS defined for every partition in HPC.

Can You Submit Jobs to Condo Partitions ?

You can submit the jobs to the condo partitions only if you belong to the research group that owns the partition and you have the authorization to do so. Hence, you can’t submit the jobs to the condo partitions if you don’t have the permission. The alternative way is to use the backfill partition that has the nodes from all the partitions for the usage.

But remember that whenever you are using backfill partition, it’s always recommended to use appropriate code checkpoints because the jobs submitted to the backfill partitions may be stopped and requeued multiple times. For information about the backfill and code checkpoints, refer to the Backfill and Checkpoints page in discovery.

How to Switch Between Different Partitions for Jobs Submission?

By default, if you don’t specify the partition name in the batch script, the job gets submitted to the normal partition. For more information about switching between the partitions to submit the jobs, refer to the → Introduction to Slurm page in discovery.

References

For more information about partition QoS, refer to the following link https://slurm.schedmd.com/qos.html