Partizioni Slurm del cluster ARIES
Panoramica
Il cluster ARIES utilizza Slurm per la gestione e la schedulazione delle risorse di calcolo.
Le risorse del cluster sono organizzate in diverse partizioni Slurm, ciascuna caratterizzata da specifici nodi, limiti temporali, priorità, QoS e restrizioni di accesso.
Lo stato corrente delle partizioni può essere visualizzato con:
sinfo
Le partizioni attualmente visibili sono:
debugice4hpculowhighlowuser-debugunsafe_partgrumo_pnrrfaf_pnrrecosister
La partizione contrassegnata con * nell'output di sinfo è la partizione predefinita.
Nella configurazione fornita:
ulow*
indica quindi che ulow è la partizione predefinita.
Riepilogo delle partizioni
| Partizione | Default | Nodi | MaxTime | DefaultTime | QoS / AllowQos |
|---|---|---|---|---|---|
ice4hpc |
No | cnode[01-04],gnode01 |
3-00:00:00 |
04:00:00 |
gpus |
ulow |
Sì | cnode[01-24],fnode[01-08] |
14-00:00:00 |
- | - |
high |
No | cnode[01-24],fnode[01-08] |
1-12:00:00 |
- | high |
low |
No | cnode[01-24],fnode[01-08] |
3-00:00:00 |
- | low, normal, high |
user-debug |
No | cnode[02-24],fnode[01-08] |
00:30:00 |
normal |
|
unsafe_part |
No | cnode[45-48] |
INFINITE |
- | unsafe_qos |
grumo_pnrr |
No | cnode[25-44] |
15-00:00:00 |
- | nolimits |
faf_pnrr |
No | cnode[45-48] |
UNLIMITED |
- | nolimits |
ecosister |
No | fnode[09-12] |
10-00:00:00 |
- | nolimits |
I valori non esplicitamente presenti nella configurazione fornita sono indicati con
-oppure come non specificati.
Informazioni utili
ice4hpc
Limiti
Tempo predefinito:
04:00:00
Tempo massimo:
3-00:00:00
ovvero 3 giorni.
GPU
Questa partizione include gnode01 e utilizza la QoS:
gpus
ulow
ulow è la partizione predefinita di ARIES.
Tempo massimo
14-00:00:00
ovvero 14 giorni.
Accesso
La configurazione contiene:
AllowAccounts=ALL
high
Tempo massimo
1-12:00:00
ovvero 1 giorno e 12 ore.
QoS
Alla partizione è associata:
QOS=high
low
La partizione low utilizza gli stessi gruppi di nodi di high e ulow:
Tempo massimo
3-00:00:00
ovvero 3 giorni.
QoS
La configurazione riporta:
QOS=low
AllowQos=low,normal,high
Le QoS indicate in AllowQos sono quindi:
lownormalhigh
user-debug
La partizione user-debug è configurata con un tempo massimo molto breve:
MaxTime=00:30:00
Tempo massimo
00:30:00
ovvero 30 minuti.
Partizioni dedicate
unsafe_part
La partizione unsafe_part utilizza:
cnode[45-48]
La QoS ammessa è:
unsafe_qos
grumo_pnrr
La partizione grumo_pnrr è riservata agli utenti del gruppo GRUMO, utilizza:
cnode[25-44]
Account autorizzati
lab
grumo_pnrr
QoS
AllowQos=nolimits
Tempo massimo
15-00:00:00
ovvero 15 giorni.
faf_pnrr
La partizione faf_pnrr è riservata agli utenti del gruppo FAF e utilizza:
cnode[45-48]
Account autorizzati
faf_pnrr
QoS
AllowQos=nolimits
Tempo massimo
UNLIMITED
ecosister
La partizione ecosister è riservata al gruppo Ecosister utilizza:
fnode[09-12]
Account autorizzati
lab
ecosister
QoS
AllowQos=nolimits
Tempo massimo
10-00:00:00
ovvero 10 giorni.
Significato dei principali parametri
PartitionName
Nome con cui la partizione viene identificata da Slurm.
Esempio:
PartitionName=high
Default
Indica se la partizione è quella predefinita.
Default=YES
In ARIES la configurazione fornita assegna questo valore a:
ulow
Se un job viene inviato senza specificare una partizione, sinfo identifica ulow con *:
ulow*
Nodes
Definisce i nodi appartenenti alla partizione.
Ad esempio:
Nodes=cnode[01-24],fnode[01-08]
comprende gli intervalli di nodi:
cnode01 ... cnode24
fnode01 ... fnode08
MaxTime
Definisce il tempo massimo configurato per un job nella partizione.
Esempio:
MaxTime=3-0
corrisponde a:
3 giorni
Mentre:
MaxTime=1-12
corrisponde a:
1 giorno e 12 ore
DefaultTime
Definisce il tempo assegnato quando è previsto un valore predefinito dalla configurazione della partizione.
Ad esempio, ice4hpc contiene:
DefaultTime=4:00:00
AllowAccounts
Indica gli account Slurm ammessi dalla configurazione della partizione.
Ad esempio:
AllowAccounts=lab,grumo_pnrr
è presente nella configurazione di grumo_pnrr.
Il valore:
AllowAccounts=ALL
è invece presente nelle partizioni generali come ulow, high, low, user-debug e unsafe_part.
AllowQos
Elenca le QoS ammesse dalla configurazione della partizione.
Ad esempio:
AllowQos=low,normal,high
è configurato per la partizione low.
Le partizioni dedicate grumo_pnrr, faf_pnrr ed ecosister riportano:
AllowQos=nolimits
QOS
Definisce la QoS associata alla partizione nella configurazione fornita.
Ad esempio:
PartitionName=high
QOS=high
e:
PartitionName=low
QOS=low
Per ice4hpc:
QOS=gpus
AllowQos=gpus
PriorityTier
Indica il livello di priorità configurato per la partizione.
Nei dati forniti sono presenti, tra gli altri:
high PriorityTier=2000
user-debug PriorityTier=1000
ice4hpc PriorityTier=100
ulow PriorityTier=20
low PriorityTier=10
PriorityJobFactor
È il valore di PriorityJobFactor configurato per la partizione.
Nei dati forniti:
user-debug = 2000
unsafe_part = 2000
high = 1000
ice4hpc = 800
low = 100
ulow = 0
Stato corrente delle partizioni
Lo stato dei nodi di una partizione può essere controllato tramite:
sinfo
Nell'output fornito compaiono gli stati:
| Stato | Identificatore sinfo |
|---|---|
| Allocato | alloc |
| Parzialmente utilizzato | mix |
| Libero | idle |
Ad esempio, per la partizione predefinita ulow, l'output fornito mostra nodi negli stati:
mix
alloc
mentre per unsafe_part:
idle
Utilizzo di una partizione
La partizione può essere selezionata all'interno di uno script Slurm utilizzando:
#SBATCH --partition=<nome_partizione>
Ad esempio:
#!/bin/bash -l
#SBATCH --job-name=test
#SBATCH --partition=low
#SBATCH --time=01:00:00
./programma
Per utilizzare contemporaneamente una particolare partizione e una QoS:
#SBATCH --partition=low
#SBATCH --qos=normal
La combinazione deve rispettare le impostazioni QOS, AllowQos, AllowAccounts e gli altri limiti configurati per la partizione e per l'associazione Slurm dell'utente.
Comandi utili
Visualizzare le partizioni
sinfo
Visualizzare informazioni più dettagliate
scontrol show partition
Visualizzare una singola partizione
scontrol show partition high
Specificare una partizione in sbatch
sbatch --partition=low job.sh
oppure all'interno dello script:
#SBATCH --partition=low