Architettura del cluster HPC LYRALOGIN
Panoramica
Il cluster HPC LYRALOGIN è un'infrastruttura eterogenea gestita tramite il workload manager Slurm 23.02.3.
Sulla base della configurazione dei nodi fornita, l'infrastruttura di calcolo comprende nodi con differenti generazioni di processori Intel Xeon e AMD EPYC, oltre a due nodi GPU dedicati:
- nodi CPU
s3node,tnodeefarnode, basati principalmente su Intel Xeon Gold 6230/6230R; - nodi CPU
node[01-08], basati su Intel Xeon Gold 5320; - nodo GPU
fpdgx1, basato su AMD EPYC 7702 e dotato di 8 GPU NVIDIA A100 PCIe 40 GB; - nodo GPU
gnode03, basato su AMD EPYC 9654 e dotato di 8 GPU NVIDIA H100 NVL.
Le risorse sono organizzate nelle partizioni Slurm:
3pars3parlarmalongfluidp_dgxgpuh100debug_gpu
L'interconnessione ad alte prestazioni utilizza InfiniBand, con velocità osservate differenti a seconda della famiglia di nodi.
Lo storage condiviso utilizza BeeGFS ed è disponibile attraverso /unimore_home e /scratch.
Sistema operativo
Il sistema operativo rilevato è Rocky Linux 8.4 (Green Obsidian).
NAME="Rocky Linux"
VERSION="8.4 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel fedora"
VERSION_ID="8.4"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.4 (Green Obsidian)"
ROCKY_SUPPORT_PRODUCT="Rocky Linux"
ROCKY_SUPPORT_PRODUCT_VERSION="8"
Gestione delle risorse con Slurm
LYRALOGIN utilizza:
Slurm 23.02.3
Slurm gestisce l'allocazione delle risorse CPU, memoria e GPU attraverso nodi e partizioni con caratteristiche differenti.
Le partizioni osservate sono:
| Partizione | Nodi principali | Risorsa |
|---|---|---|
3par |
s3node18 nell'output fornito |
CPU |
s3par |
s3node[02-24],tnode[01-04],farnode1 |
CPU |
larma |
farnode4 |
CPU |
long |
node[01-08] |
CPU / memoria elevata |
fluidp_dgx |
fpdgx1 |
NVIDIA A100 |
gpuh100 |
gnode03 |
NVIDIA H100 NVL |
debug_gpu |
gnode03 |
NVIDIA H100 NVL |
Nodi di calcolo CPU
LYRALOGIN contiene più generazioni di processori e non presenta quindi una singola architettura CPU uniforme.
s3node02-s3node20
I nodi di questa famiglia sono configurati con 40 CPU per nodo. L'output lscpu fornito per s3node02 mostra 2 Intel Xeon Gold 6230 @ 2.10 GHz.
Caratteristiche principali
- Architettura:
x86_64 - CPU per nodo: 40
- Socket: 2
- Core per socket: 20
- Core complessivi: 40
- Thread per core: 1
- NUMA node: 2
- CPU: Intel Xeon Gold 6230 @ 2.10 GHz
- Vendor: GenuineIntel
- RAM configurata in Slurm:
385000 MB
Architecture: x86_64
CPU(s): 40
Thread(s) per core: 1
Core(s) per socket: 20
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz
Topologia CPU
Nodo s3node (40 core)
|
+-- Socket 0 - Intel Xeon Gold 6230
| +-- 20 core fisici
|
+-- Socket 1 - Intel Xeon Gold 6230
+-- 20 core fisici
Totale: 40 core / 40 CPU logiche
NUMA node: 2
Thread per core: 1
s3node21-s3node24
Questi nodi hanno una configurazione differente, con 52 core per nodo. L'output di s3node21 identifica il processore come Intel Xeon Gold 6230R @ 2.10 GHz.
- CPU per nodo: 52
- Socket: 2
- Core per socket: 26
- Thread per core: 1
- NUMA node: 2
- CPU: Intel Xeon Gold 6230R @ 2.10 GHz
- RAM configurata in Slurm:
385000 MB
Architecture: x86_64
CPU(s): 52
Thread(s) per core: 1
Core(s) per socket: 26
Socket(s): 2
NUMA node(s): 2
Model name: Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz
tnode01-tnode04
L'output fornito per tnode02 mostra la stessa architettura CPU Intel Xeon Gold 6230 osservata sui nodi s3node a 40 core.
- CPU per nodo: 40
- Socket: 2
- Core per socket: 20
- Thread per core: 1
- NUMA node: 2
- CPU osservata su
tnode02: Intel Xeon Gold 6230 @ 2.10 GHz - RAM Slurm
tnode01-tnode03:385000 MB - RAM Slurm
tnode04:335000 MB
farnode1 e farnode4
Entrambi sono configurati in Slurm con:
CPUs=40
Sockets=2
CoresPerSocket=20
RealMemory=385000
L'output lscpu fornito per farnode1 identifica:
Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz
con 40 core, 2 socket, 20 core per socket, 1 thread per core e 2 NUMA node.
Il modello CPU di farnode4 non è stato misurato direttamente nei dati forniti e non viene quindi assunto automaticamente uguale a quello di farnode1.
node01-node08
L'output di riferimento fornito per node03 mostra 2 Intel Xeon Gold 5320 @ 2.20 GHz.
- CPU per nodo: 52
- Socket: 2
- Core per socket: 26
- Thread per core: 1
- NUMA node: 2
- CPU osservata su
node03: Intel Xeon Gold 5320 @ 2.20 GHz - RAM Slurm
node01-node07:998000 MB - RAM Slurm
node08:447000 MB
Architecture: x86_64
CPU(s): 52
Thread(s) per core: 1
Core(s) per socket: 26
Socket(s): 2
NUMA node(s): 2
Model name: Intel(R) Xeon(R) Gold 5320 CPU @ 2.20GHz
Nodi GPU
fpdgx1 - NVIDIA A100
Il nodo fpdgx1 combina processori AMD EPYC con 8 GPU NVIDIA A100-PCIE-40GB.
CPU
- Architettura:
x86_64 - CPU: AMD EPYC 7702 64-Core Processor
- CPU/Core complessivi visibili: 128
- Socket: 2
- Core per socket: 64
- Thread per core: 1
- NUMA node: 2
- RAM configurata in Slurm:
1940000 MB
CPU(s): 128
Thread(s) per core: 1
Core(s) per socket: 64
Socket(s): 2
NUMA node(s): 2
Vendor ID: AuthenticAMD
Model name: AMD EPYC 7702 64-Core Processor
GPU
La configurazione Slurm riporta:
Gres=gpu:a100:8
nvidia-smi -L identifica otto dispositivi:
GPU 0: NVIDIA A100-PCIE-40GB
GPU 1: NVIDIA A100-PCIE-40GB
GPU 2: NVIDIA A100-PCIE-40GB
GPU 3: NVIDIA A100-PCIE-40GB
GPU 4: NVIDIA A100-PCIE-40GB
GPU 5: NVIDIA A100-PCIE-40GB
GPU 6: NVIDIA A100-PCIE-40GB
GPU 7: NVIDIA A100-PCIE-40GB
Sono quindi presenti 8 GPU NVIDIA A100 PCIe da 40 GB, pari a 320 GB nominali di memoria GPU complessivamente installata.
Schema del nodo
fpdgx1
|
+-- Socket 0 - AMD EPYC 7702 - 64 core
+-- Socket 1 - AMD EPYC 7702 - 64 core
|
+-- 128 core CPU totali
|
+-- GPU 0 - NVIDIA A100 PCIe 40 GB
+-- GPU 1 - NVIDIA A100 PCIe 40 GB
+-- GPU 2 - NVIDIA A100 PCIe 40 GB
+-- GPU 3 - NVIDIA A100 PCIe 40 GB
+-- GPU 4 - NVIDIA A100 PCIe 40 GB
+-- GPU 5 - NVIDIA A100 PCIe 40 GB
+-- GPU 6 - NVIDIA A100 PCIe 40 GB
+-- GPU 7 - NVIDIA A100 PCIe 40 GB
|
+-- InfiniBand 40 Gb/s FDR10
gnode03 - NVIDIA H100 NVL
Il nodo gnode03 utilizza 2 AMD EPYC 9654 da 96 core e ospita 8 GPU NVIDIA H100 NVL.
CPU
- Architettura:
x86_64 - CPU: AMD EPYC 9654 96-Core Processor
- CPU/Core complessivi visibili: 192
- Socket: 2
- Core per socket: 96
- Thread per core: 1
- NUMA node: 2
- RAM configurata in Slurm:
1500000 MB
CPU(s): 192
Thread(s) per core: 1
Core(s) per socket: 96
Socket(s): 2
NUMA node(s): 2
Vendor ID: AuthenticAMD
Model name: AMD EPYC 9654 96-Core Processor
GPU
Slurm riporta:
Gres=gpu:h100:8
nvidia-smi -L identifica:
GPU 0: NVIDIA H100 NVL
GPU 1: NVIDIA H100 NVL
GPU 2: NVIDIA H100 NVL
GPU 3: NVIDIA H100 NVL
GPU 4: NVIDIA H100 NVL
GPU 5: NVIDIA H100 NVL
GPU 6: NVIDIA H100 NVL
GPU 7: NVIDIA H100 NVL
Sono quindi presenti 8 GPU NVIDIA H100 NVL.
La quantità di memoria per singola H100, il driver NVIDIA, la versione CUDA riportata da nvidia-smi e l'eventuale configurazione MIG non sono stati forniti e non vengono assunti in questo documento.
Schema del nodo
gnode03
|
+-- Socket 0 - AMD EPYC 9654 - 96 core
+-- Socket 1 - AMD EPYC 9654 - 96 core
|
+-- 192 core CPU totali
|
+-- GPU 0 - NVIDIA H100 NVL
+-- GPU 1 - NVIDIA H100 NVL
+-- GPU 2 - NVIDIA H100 NVL
+-- GPU 3 - NVIDIA H100 NVL
+-- GPU 4 - NVIDIA H100 NVL
+-- GPU 5 - NVIDIA H100 NVL
+-- GPU 6 - NVIDIA H100 NVL
+-- GPU 7 - NVIDIA H100 NVL
|
+-- InfiniBand 40 Gb/s
Rete di interconnessione InfiniBand
LYRALOGIN utilizza una rete InfiniBand, ma la velocità osservata non è uniforme per tutti i nodi campionati.
Nodo CPU s3node02
CA 'mlx5_0'
CA type: MT4115
Number of ports: 1
Firmware version: 12.28.2006
Port 1:
State: Active
Physical state: LinkUp
Rate: 56
SM lid: 4
Link layer: InfiniBand
Caratteristiche:
- Channel Adapter:
mlx5_0 - CA type:
MT4115 - porte: 1
- stato: Active
- stato fisico: LinkUp
- velocità osservata: 56 Gb/s
- link layer: InfiniBand
Nodo GPU fpdgx1
CA 'mlx5_0'
CA type: MT4115
Number of ports: 1
Firmware version: 12.28.2006
Port 1:
State: Active
Physical state: LinkUp
Rate: 40 (FDR10)
SM lid: 4
Link layer: InfiniBand
Caratteristiche:
- CA:
mlx5_0 - CA type:
MT4115 - stato: Active / LinkUp
- velocità osservata: 40 Gb/s FDR10
- link layer: InfiniBand
Nodo GPU gnode03
CA 'mlx5_0'
CA type: MT4123
Number of ports: 1
Firmware version: 20.43.2566
Port 1:
State: Active
Physical state: LinkUp
Rate: 40
SM lid: 4
Link layer: InfiniBand
Caratteristiche:
- CA:
mlx5_0 - CA type:
MT4123 - stato: Active / LinkUp
- velocità osservata: 40 Gb/s
- link layer: InfiniBand
Le velocità indicate sono quelle osservate negli output
ibstatforniti per i nodi campionati e non vengono estese automaticamente a nodi per i quali non è stato fornito un outputibstat.
Storage condiviso BeeGFS
LYRALOGIN utilizza BeeGFS per lo storage condiviso.
Sono stati forniti due filesystem:
| Filesystem | Tipo | Mount point | Capacità | Utilizzato | Disponibile | Utilizzo |
|---|---|---|---|---|---|---|
beegfs_safe |
BeeGFS | /unimore_home |
280 TB | 214 TB | 67 TB | 77% |
beegfs_unsafe |
BeeGFS | /scratch |
70 TB | 58 TB | 13 TB | 83% |
/unimore_home
beegfs_safe beegfs 280T 214T 67T 77% /unimore_home
/scratch
beegfs_unsafe beegfs 70T 58T 13T 83% /scratch
I valori riportati rappresentano lo stato dello storage nell'output fornito.
Schema logico dell'architettura
Utenti
|
v
+------------------+
| LYRALOGIN |
+------------------+
|
v
+------------------+
| Slurm 23.02.3 |
+------------------+
|
+------------------+-------------------+
| | |
v v v
+----------------+ +----------------+ +----------------------+
| Nodi CPU | | Nodi GPU | | Storage BeeGFS |
+----------------+ +----------------+ +----------------------+
| | | | | |
| s3node02-20 | | fpdgx1 | | /unimore_home |
| 40 core | | 128 core AMD | | beegfs_safe |
| Xeon 6230 (*) | | 8 x A100 40GB | | 280 TB |
| | | IB 40 FDR10 | | |
| s3node21-24 | | | | /scratch |
| 52 core | | gnode03 | | beegfs_unsafe |
| Xeon 6230R (*) | | 192 core AMD | | 70 TB |
| | | 8 x H100 NVL | | |
| tnode01-04 | | IB 40 Gb/s | +----------------------+
| 40 core | +----------------+
| Xeon 6230 (*) |
| |
| farnode1/4 |
| 40 core |
| |
| node01-08 |
| 52 core |
| Xeon 5320 (*) |
+----------------+
|
+---------------------+
|
v
+--------------------+
| InfiniBand |
| |
| s3node02: 56 Gb/s |
| fpdgx1: 40 FDR10 |
| gnode03: 40 Gb/s |
+--------------------+
Partizioni Slurm
|
+-- 3par
+-- s3par ----------- s3node / tnode / farnode1
+-- larma ----------- farnode4
+-- long ------------ node01-08
+-- fluidp_dgx ------ fpdgx1 / NVIDIA A100
+-- gpuh100 --------- gnode03 / NVIDIA H100 NVL
+-- debug_gpu ------- gnode03 / NVIDIA H100 NVL
(*) Il modello CPU è quello verificato sugli specifici nodi campionati
indicati nel documento.
Tabella riepilogativa delle risorse
| Famiglia / nodo | Quantità dalla configurazione fornita | CPU | Core/CPU Slurm per nodo | Socket | RAM Slurm per nodo | GPU | InfiniBand osservata |
|---|---|---|---|---|---|---|---|
s3node02-20 |
19 | Intel Xeon Gold 6230 (*) | 40 | 2 | 385000 MB | - | 56 Gb/s su s3node02 |
s3node21-24 |
4 | Intel Xeon Gold 6230R (*) | 52 | 2 | 385000 MB | - | Non misurata nei dati forniti |
tnode01-03 |
3 | Intel Xeon Gold 6230 (*) | 40 | 2 | 385000 MB | - | Non misurata nei dati forniti |
tnode04 |
1 | Famiglia non verificata direttamente | 40 | 2 | 335000 MB | - | Non misurata nei dati forniti |
farnode1 |
1 | Intel Xeon Gold 6230 | 40 | 2 | 385000 MB | - | Non misurata nei dati forniti |
farnode4 |
1 | Non verificata direttamente | 40 | 2 | 385000 MB | - | Non misurata nei dati forniti |
node01-07 |
7 | Intel Xeon Gold 5320 (*) | 52 | 2 | 998000 MB | - | Non misurata nei dati forniti |
node08 |
1 | Famiglia non verificata direttamente | 52 | 2 | 447000 MB | - | Non misurata nei dati forniti |
fpdgx1 |
1 | AMD EPYC 7702 | 128 | 2 | 1940000 MB | 8 x NVIDIA A100 PCIe 40 GB | 40 Gb/s FDR10 |
gnode03 |
1 | AMD EPYC 9654 | 192 | 2 | 1500000 MB | 8 x NVIDIA H100 NVL | 40 Gb/s |
(*) Il modello CPU è stato verificato su un nodo campione della famiglia: s3node02, s3node21, tnode02 e node03 rispettivamente. La configurazione Slurm fornita stabilisce il numero di CPU/socket/core per gli altri nodi dell'intervallo, ma non ne dimostra da sola il modello fisico del processore.
Riepilogo tecnico
| Componente | Configurazione verificata dai dati forniti |
|---|---|
| Sistema operativo | Rocky Linux 8.4 (Green Obsidian) |
| Workload manager | Slurm 23.02.3 |
| Architettura | x86_64 |
| CPU Intel osservate | Xeon Gold 6230, Xeon Gold 6230R, Xeon Gold 5320 |
| CPU AMD osservate | EPYC 7702, EPYC 9654 |
| Hyper-Threading / SMT nei campioni | 1 thread per core |
| NUMA nei campioni | 2 NUMA node |
| Nodo A100 | fpdgx1 |
| GPU A100 | 8 x NVIDIA A100-PCIE-40GB |
| Memoria GPU A100 installata | 320 GB nominali complessivi |
| Nodo H100 | gnode03 |
| GPU H100 | 8 x NVIDIA H100 NVL |
| Interconnessione | InfiniBand |
| IB CPU campionata | 56 Gb/s su s3node02 |
| IB A100 | 40 Gb/s FDR10 su fpdgx1 |
| IB H100 | 40 Gb/s su gnode03 |
| Storage condiviso | BeeGFS |
| Home condivisa | /unimore_home, 280 TB |
| Scratch condiviso | /scratch, 70 TB |
| Partizioni osservate | 3par, s3par, larma, long, fluidp_dgx, gpuh100, debug_gpu |
Comandi utili per verificare l'architettura
Sistema operativo
cat /etc/os-release
Versione Slurm
sinfo --version
CPU e NUMA
lscpu
GPU
nvidia-smi
nvidia-smi -L
InfiniBand
ibstat
Storage condiviso
df -hT
Configurazione dei nodi Slurm
scontrol show nodes
Configurazione delle partizioni Slurm
scontrol show partition