Reti non bloccanti: architettura, esempi e perché sono importanti
Definizione
Una rete non bloccante garantisce che qualsiasi input inattivo possa connettersi a qualsiasi output inattivo senza essere bloccato da connessioni esistenti—anche a pieno carico. Zero contesa interna.
Architetture classiche
| Topologia | Principio | Caso d'uso |
|---|---|---|
| Commutatore Crossbar (Clos) | Matrice N×M; ogni input ha percorso dedicato verso ogni output | Spine data center, interconnessioni GPU (NVLink), centrali telefoniche |
| Fat-Tree / Folded Clos | Multi-stadio con scalabilità della larghezza di banda verso l'alto dell'albero | Cluster HPC, tessuti DC leaf-spine moderni |
| Mesh / Torus | Routinge distribuito; percorsi minimi multipli tra nodi | Supercomputer (Cray, Fujitsu), NoC on-chip |
| Commutazione ottica a circuito | Instradamento per lunghezza d'onda; nessuna contesa elettronica | WAN core, cavi sottomarini, tessuto Google Jupiter |
Bloccante vs non bloccante
- Bloccante (es. bus singolo condiviso, uplink sovraccarico): contesa → code → picchi di latenza, perdita di pacchetti.
- Non bloccante: latenza deterministica, zero head-of-line blocking, throughput scalabile.
Sfumature nel mondo reale
"Strictly non-blocking" (Clos con m ≥ 2n−1 stadi intermedi) è costoso. La maggior parte dei tessuti pratici è statisticamente non bloccante (sovraccaricato 3:1 al leaf, 1.5:1 allo spine) con controllo congestione ECN/PFC—abbastanza buono per obiettivi di latenza al 99,9° percentile.
Perché è importante
- Addestramento AI/ML: i collettivi all-reduce necessitano larghezza di banda prevedibile.
- Storage: NVMe-oF / iSCSI odiano la perdita di pacchetti.
- Trading finanziario: determinismo al microsecondo.