Unimore HPC Wiki

LYRALOGIN · Partizioni

Partizioni Slurm del cluster LYRALOGIN

Panoramica

Il cluster LYRALOGIN utilizza Slurm per la gestione e la schedulazione delle risorse di calcolo.

Le risorse sono organizzate in diverse partizioni Slurm, ciascuna associata a specifici nodi, risorse CPU e GPU, QoS e restrizioni di accesso.

Lo stato corrente delle partizioni può essere visualizzato con:

sinfo

Nell'output fornito compaiono le seguenti partizioni:

La partizione contrassegnata con * nell'output di sinfo è la partizione predefinita. Nell'output fornito compare:

long*

Pertanto, secondo lo stato restituito da sinfo, la partizione predefinita attiva è long.

Nota di configurazione: nelle righe PartitionName fornite, sia s3par sia larma riportano Default=YES, mentre sinfo contrassegna con * soltanto long. È quindi opportuno verificare la configurazione effettivamente caricata dal controller con scontrol show partition e confrontarla con il file slurm.conf in uso.


Riepilogo delle partizioni

Partizione Default da sinfo Nodi configurati o osservati MaxTime QoS / AllowQos Account autorizzati Risorse principali
3par No s3node18 INFINITE Non specificato Non specificato CPU
s3par No s3node[02-24],tnode[01-04],farnode1 INFINITE normal, long Non specificato CPU
larma No farnode4 INFINITE larma abg CPU
long Sì node[01-08] INFINITE normal, long Non specificato CPU, nodi ad alta memoria
fluidp_dgx No fpdgx1 INFINITE Non specificato Non specificato 8 GPU NVIDIA A100
gpuh100 No gnode03 INFINITE da sinfo Non specificato Non specificato 8 GPU NVIDIA H100
debug_gpu No gnode03 1-00:00:00 Non specificato Non specificato 8 GPU NVIDIA H100 condivise con gpuh100

Le informazioni di gpuh100, debug_gpu e 3par provengono dall'output di sinfo, poiché nelle righe PartitionName fornite non compare la loro configurazione completa.


Architettura dei nodi

Nodi della famiglia s3node

I nodi s3node02–s3node20 dispongono di:

CPUs=40
Sockets=2
CoresPerSocket=20
RealMemory=385000

I nodi s3node21–s3node24 dispongono di:

CPUs=52
Sockets=2
CoresPerSocket=26
RealMemory=385000

Nodi tnode

I nodi tnode01–tnode03 dispongono di:

CPUs=40
Sockets=2
CoresPerSocket=20
RealMemory=385000

Il nodo tnode04 dispone di:

CPUs=40
Sockets=2
CoresPerSocket=20
RealMemory=335000

Nodi della partizione long

I nodi node01–node07 dispongono di:

CPUs=52
Sockets=2
CoresPerSocket=26
RealMemory=998000

Il nodo node08 dispone di:

CPUs=52
Sockets=2
CoresPerSocket=26
RealMemory=447000

Nodi dedicati

farnode1 e farnode4 dispongono di:

CPUs=40
Sockets=2
CoresPerSocket=20
RealMemory=385000

Nodi GPU

Il nodo fpdgx1 dispone di:

CPUs=128
Sockets=2
CoresPerSocket=64
RealMemory=1940000
Gres=gpu:a100:8

Il nodo gnode03 dispone di:

CPUs=192
Sockets=2
CoresPerSocket=96
RealMemory=1500000
Gres=gpu:h100:8

Informazioni sulle partizioni

3par

Nell'output di sinfo, 3par contiene il nodo:

s3node18

Lo stato osservato è:

down*

Il simbolo * associato allo stato indica che il nodo non risponde al controller o si trova in una condizione che richiede verifica amministrativa. La configurazione completa PartitionName=3par non è presente nei dati forniti.


s3par

s3par è la principale partizione CPU comprendente nodi delle famiglie s3node, tnode e il nodo farnode1.

Nodi

s3node[02-24],tnode[01-04],farnode1

QoS ammesse

AllowQos=normal,long

Le QoS ammesse sono quindi:

Tempo massimo

MaxTime=INFINITE

Stati osservati

Nell'output di sinfo, i nodi di s3par risultano distribuiti tra:

La configurazione fornita riporta:

Default=YES

ma sinfo non mostra s3par*. Fa fede la configurazione effettivamente caricata da Slurm, verificabile con scontrol show partition s3par.


larma

La partizione larma è associata al nodo:

farnode4

Account autorizzato

AllowAccounts=abg

La partizione è quindi riservata all'account Slurm abg.

QoS ammessa

AllowQos=larma

Tempo massimo

MaxTime=INFINITE

Stato osservato

idle

Anche per larma, la configurazione fornita riporta Default=YES, ma sinfo non mostra larma*.


long

long è la partizione predefinita secondo l'output di sinfo:

long*

Nodi

node[01-08]

I nodi node01–node07 dispongono di circa 998000 MB di memoria reale configurata, mentre node08 dispone di 447000 MB.

QoS ammesse

AllowQos=normal,long

Tempo massimo

MaxTime=INFINITE

Stati osservati

Nell'output fornito sono presenti:


Partizioni GPU

fluidp_dgx

La partizione fluidp_dgx utilizza il nodo:

fpdgx1

Risorse del nodo

CPUs=128
RealMemory=1940000
Gres=gpu:a100:8

Il nodo espone quindi otto GPU A100 tramite il GRES Slurm:

gpu:a100:8

Tempo massimo

MaxTime=INFINITE

Partizione predefinita

Default=NO

Stato osservato

Nell'output di sinfo, il nodo risulta:

down

gpuh100

La partizione gpuh100 utilizza il nodo:

gnode03

Risorse del nodo

CPUs=192
RealMemory=1500000
Gres=gpu:h100:8

Il nodo espone otto GPU H100:

gpu:h100:8

Tempo massimo osservato

INFINITE

Stato osservato

mix

La configurazione completa PartitionName=gpuh100 non è presente nei dati forniti.


debug_gpu

La partizione debug_gpu utilizza anch'essa:

gnode03

È destinata a job GPU di durata limitata.

Tempo massimo

1-00:00:00

ovvero 1 giorno.

Stato osservato

mix

La configurazione completa PartitionName=debug_gpu non è presente nei dati forniti.


Significato dei principali parametri

PartitionName

Nome con cui la partizione viene identificata da Slurm.

PartitionName=s3par

Nodes

Definisce i nodi appartenenti alla partizione.

Nodes=s3node[02-24],tnode[01-04],farnode1

Default

Indica se la partizione è quella utilizzata quando un job viene inviato senza specificare --partition.

Default=YES

La partizione effettivamente predefinita è contrassegnata da * nell'output di sinfo.

MaxTime

Definisce il tempo massimo consentito per un job nella partizione.

MaxTime=INFINITE

indica che la partizione non impone uno specifico limite massimo di tempo a questo livello di configurazione. Restano comunque applicabili eventuali limiti definiti nelle QoS o nelle associazioni Slurm.

Il valore:

1-00:00:00

corrisponde a un giorno.

AllowAccounts

Definisce gli account Slurm autorizzati a utilizzare la partizione.

AllowAccounts=abg

Nella configurazione fornita, questa restrizione è associata a larma.

AllowQos

Elenca le QoS ammesse nella partizione.

AllowQos=normal,long

oppure:

AllowQos=larma

Gres

Descrive le risorse generiche gestite da Slurm, come le GPU.

Gres=gpu:a100:8

indica otto GPU A100, mentre:

Gres=gpu:h100:8

indica otto GPU H100.

State

Indica se la partizione è amministrativamente attiva.

State=UP

Lo stato UP della partizione non implica che tutti i nodi siano disponibili: i singoli nodi possono risultare idle, mix, alloc, down o in altri stati.


Stato corrente delle partizioni

L'output fornito contiene i seguenti stati:

Stato Significato operativo
idle Nodo disponibile e senza job allocati
alloc Nodo interamente allocato
mix Nodo parzialmente allocato
down Nodo non disponibile per l'esecuzione dei job
down* Nodo non disponibile e non rispondente o non registrato correttamente presso il controller

Lo stato corrente può essere verificato con:

sinfo

Per mostrare anche partizione, stato, CPU e memoria dei nodi:

sinfo -N -l

Utilizzo di una partizione

Una partizione può essere selezionata in uno script Slurm con:

#SBATCH --partition=<nome_partizione>

Esempio CPU sulla partizione s3par

#!/bin/bash -l
#SBATCH --job-name=test_cpu
#SBATCH --partition=s3par
#SBATCH --qos=normal
#SBATCH --time=01:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4

./programma

Esempio sulla partizione long

#!/bin/bash -l
#SBATCH --job-name=test_long
#SBATCH --partition=long
#SBATCH --qos=long
#SBATCH --time=2-00:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8

./programma

Esempio GPU A100

#!/bin/bash -l
#SBATCH --job-name=test_a100
#SBATCH --partition=fluidp_dgx
#SBATCH --gres=gpu:a100:1
#SBATCH --time=01:00:00

nvidia-smi
./programma_gpu

Esempio GPU H100

#!/bin/bash -l
#SBATCH --job-name=test_h100
#SBATCH --partition=gpuh100
#SBATCH --gres=gpu:h100:1
#SBATCH --time=01:00:00

nvidia-smi
./programma_gpu

La combinazione di partizione, account, QoS e GRES deve rispettare la configurazione Slurm effettivamente caricata e le associazioni dell'utente.


Comandi utili

Visualizzare le partizioni

sinfo

Visualizzare i nodi

sinfo -N -l

Visualizzare tutte le configurazioni delle partizioni

scontrol show partition

Visualizzare una singola partizione

scontrol show partition s3par

Controllare la partizione predefinita effettiva

scontrol show partition | grep -E 'PartitionName=|Default='

Visualizzare la configurazione di un nodo GPU

scontrol show node fpdgx1
scontrol show node gnode03

Specificare una partizione con sbatch

sbatch --partition=s3par job.sh

Specificare partizione e QoS

sbatch --partition=s3par --qos=normal job.sh

Verificare le GPU configurate

sinfo -o "%P %N %G %t"