Chart Calculations Overview
Understand the underlying charts calculations.
Core Calculations
Underlying calculations for the Cores chart.
- total number of cores allocated to running jobs
- total number of cores allocated to queued jobs
- total number of cores allocated to suspended jobs
- total number of cores allocated to jobs that are on hold
- total number of cores allocated to jobs that are waiting
- total number of available cores
The below calculations are used to determine the values reported by the Cores chart.
Running Cores
For each job that is running (job state = running, exiting), sum (∑) the number of requested cores for each job (Resources_List.ncpus).
Total Running Cores = Resources_List.ncpusJob1 + Resources_List.ncpusJob2 + ....... Resources_List.ncpusJobn
Queued Cores
For each job that is queued (job state= queued), sum (∑) the number of requested cores for each job (Resources_List.ncpus).
Total Queued Cores = Resources_List.ncpusJob1 + Resources_List. ncpusJob2 + ....... Resources_List. ncpusJobn
Suspended Cores
For each job that is suspended (job state= suspended), sum (∑) the number of requested cores for the job (Resources_List.ncpus).
Total Suspended Cores = Resources_List.ncpusJob1 + Resources_List. ncpusJob2 + ....... Resources_List. ncpusJobn
Held Cores
For each job that is held (job state= held), sum (∑) the number of requested cores for the job (Resources_List.ncpus).
Total Held Cores = Resources_List.ncpusJob1 + Resources_List. ncpusJob2 + ....... Resources_List. ncpusJobn
Waiting Cores
For each job that is waiting (job state= waiting), sum (∑) the number of requested cores for the job (Resources_List.ncpus).
Total Waiting Cores = Resources_List.ncpusJob1 + Resources_List. ncpusJob2 + ....... Resources_List. ncpusJobn
Available Cores (Capacity)
Calculate available cores by adding the available NCPUs for each node:
Node1NCPUS + Node2NCPUS + Node3NCPUS +........ + NodenNCPUS
Other Cores
For each job in any other state (job state= transitioning, suspended - workstation busy), sum (∑) the number of requested cores for the job (Resources_List.ncpus).
Total Other Cores = Resources_List.ncpusJob1 + Resources_List. ncpusJob2 + ....... Resources_List. ncpusJobn
Node Calculations
Underlying calculations for the Dashboard Nodes chart.
Chart State | PBS Node State |
---|---|
Busy/Free |
|
Idle/Free |
|
Down |
|
Other |
|
Offline |
|
The below calculations are used to determine the values reported by the Nodes chart.
Down Nodes
Sum (∑) the number of nodes that are in a state = down.
Offline Nodes
Sum (∑) the number of nodes that are in a state = offline or provisioning or wait-provisioning.
Busy/Free Nodes
For nodes that are in any of the following states: busy, job-busy, job-excl-busy, resv-exclusive, job-excl, determine if the node is free or busy:
Free
Node is free when the number of busy CPUs are less than the available number of CPUs.
resources_available.ncpus - resources_assigned. ncpus > 0
Busy
Node is busy when the number of busy CPUS is equal to the number of available CPUs
resources_available.ncpus - resources_assigned.ncpus = 0
Sum (∑) the number of nodes that are in a state = free.
Sum (∑) the number of nodes that are in a state = busy.
Otherwise if a node has multiple states and none of the states is a busy-type, the state of the node is set to the most recent state that was assigned to the node.
Idle/Free Nodes
For nodes that are in an idle or free state, determine if the node is free or idle:
Free
Node is free when there are any busy CPUs.
resources_assigned.ncpus > 0
Idle
Node is idle when the number of busy CPUs is 0.
resources_assigned.ncpus = 0.
Sum (∑) the number of nodes that are in a state = free.
Sum (∑) the number of nodes that are in a state = idle.
Other Nodes
Sum (∑) the number of nodes that are in a state = stale or state-unknown or unresolvable.
Job Count Calculations
Underlying calculations for the Jobs by State chart.
- total number of jobs in a running state
- total number of jobs in a queued state
- total number of jobs in a suspended state
- total number of jobs in a held state
- total number of jobs in a waiting state
- total number of jobs in a finished state
- total number of jobs in a transitioning state
- total number of jobs in a exiting state
- total number of job arrays that have been submitted
- total number of jobs in any other state
The below calculations are used to determine the values reported by the Job Count chart.
Running Jobs
Total number of running jobs = Job1state=R + Job2state=R + ....... Jobnstate=R
Queued Jobs
Total number of running jobs = Job1state=Q + Job2state=Q + ....... Jobnstate=Q
Suspended Jobs
Total number of running jobs = Job1state=S + Job2state=S + ....... Jobnstate=S
Held Jobs
Total number of running jobs = Job1state=H + Job2state=H + ....... Jobnstate=H
Waiting Jobs
Total number of running jobs = Job1state=W + Job2state=W + ....... Jobnstate=W
Finished Jobs
Total number of running jobs = Job1state=F + Job2state=F + ....... Jobnstate=F
Transitioning Jobs
Total number of running jobs = Job1state=T + Job2state=T + ....... Jobnstate=T
Exiting Jobs
Total number of running jobs = Job1state=E + Job2state=E + ....... Jobnstate=E
Job Array Parent Jobs
Total number of job arrays = Job1JobArrayParent + Job2JobArrayParent + ....... JobnJobArrayParent
Other Jobs
Sum (∑) the number of jobs that are in any other state.