Italia

Rete e architettura InfiniBand: Panoramica

Aggiornato il 09 Gen 2024 by
148

Con lo sviluppo rapido della potenza di calcolo attuale, la domanda di data center e di calcolo ad alte prestazioni continua a crescere. In questo contesto, l'architettura InfiniBand ha attirato l'attenzione come soluzione di rete ad alte prestazioni. Questo articolo esplora i concetti e le caratteristiche di InfiniBand, esaminando la sua crescita e sviluppo, conseguenze inevitabili nella tendenza attuale della potenza di calcolo. Ci concentreremo sui principali componenti delle reti InfiniBand, confrontandoli con il tradizionale TCP/IP e rivelando i loro vantaggi negli ambienti di calcolo ad alte prestazioni. Attraverso un'analisi dei diversi livelli dell'architettura InfiniBand, inclusi il livello superiore, il livello di trasporto, il livello di rete e il livello fisico, acquisiremo una comprensione completa del suo ruolo nella realizzazione di reti di trasmissione dati efficienti a bassa latenza.

Principi di base dell'architettura InfiniBand

InfiniBand (IB) è un collegamento di comunicazione per il flusso di dati tra processori e dispositivi I/O, con supporto fino a 64.000 dispositivi indirizzabili. L'InfiniBand Architecture (IBA) è la specifica di standard di settore che definisce un framework di switching point-to-point di input/output, comunemente utilizzato per interconnettere server, infrastrutture di comunicazione, dispositivi di archiviazione e sistemi embedded. InfiniBand presenta universalità, bassa latenza, elevata larghezza di banda e bassi costi di gestione, rendendolo una rete di connessione ideale per flussi di dati multipli attraverso una singola connessione (clustering, comunicazione, archiviazione, gestione), con nodi interconnessi che raggiungono migliaia.

Le reti InfiniBand utilizzano una connessione punto-punto in cui ogni nodo comunica direttamente con gli altri nodi tramite canali dedicati, riducendo la congestione di rete e migliorando le prestazioni complessive. Questa architettura supporta la tecnologia di Remote Direct Memory Access (RDMA), consentendo il trasferimento diretto dei dati tra le memorie senza coinvolgere la CPU host, migliorando ulteriormente l'efficienza del trasferimento.

L'unità completa più piccola nell'architettura InfiniBand è una subnet, e più subnet sono collegate da router per formare una vasta rete InfiniBand. Ogni subnet è composta da nodi finali, switch, collegamenti e subnet manager. Le reti InfiniBand trovano applicazioni in scenari come data center, cloud computing, high-performance computing (HPC). Gli obiettivi principali includono la massimizzazione dell'utilizzo della rete, dell'utilizzo della CPU e delle prestazioni dell'applicazione.

Trasferimento dati tramite InfiniBand

Nelle reti tradizionali, il sistema operativo è l'unico proprietario delle risorse di rete condivise, il che significa che le applicazioni non possono accedere direttamente alla rete. Invece, le applicazioni devono fare affidamento sul sistema operativo per trasferire i dati dal buffer virtuale dell'applicazione allo stack e alle linee di rete.

InfiniBand consente alle applicazioni di scambiare dati direttamente sulla rete senza coinvolgere direttamente il sistema operativo. Questo approccio centrato sull'applicazione è una differenza chiave tra le reti InfiniBand e le reti tradizionali ed è esattamente dove risiedono i vantaggi della rete InfiniBand.

Architettura InfiniBand vs TCP/IP

L'architettura InfiniBand è organizzata in cinque livelli, simili al modello tradizionale TCP/IP. Tuttavia, ci sono molte differenze tra di essi.

Nel contesto dello storage distribuito, IB viene spesso utilizzato nella rete front-end di storage in scenari DPC (Distributed Parallel Computing). D'altro canto, TCP/IP è comunemente impiegato nelle reti aziendali.

Questo perché l'attuale architettura software e hardware TCP/IP fatica a soddisfare le esigenze delle applicazioni ad alta concorrenza e bassa latenza. La comunicazione di rete tradizionale TCP/IP coinvolge la trasmissione di messaggi attraverso il kernel, comportando elevati costi di movimento e replica dei dati. Mentre la tecnologia RDMA, inclusa RoCE e InfiniBand, risolve il ritardo nell'elaborazione dei dati lato server durante la trasmissione di rete. Consente l'accesso diretto ai dati di memoria tramite l'interfaccia di rete senza l'intervento del kernel, facilitando una comunicazione di rete ad alta throughput e bassa latenza. Questo rende RDMA particolarmente adatto per cluster di computer paralleli su larga scala.

Livelli dell'architettura InfiniBand

L'architettura InfiniBand è composta dai seguenti livelli:

Livello superiore: Il livello superiore include protocolli e servizi come SCSI (Interfaccia di sistema per computer), IPoIB (IP su InfiniBand), ecc., supportando diverse applicazioni e servizi.

Livello di trasporto: Il livello di trasporto fornisce servizi di comunicazione end-to-end, tra cui la trasmissione affidabile dei dati, il controllo del flusso e la gestione degli errori. Gestisce la sequenza, l'integrità e l'affidabilità della trasmissione dei dati.

Livello di rete: Il livello di rete gestisce la comunicazione end-to-end e il routing, garantendo la corretta trasmissione dei pacchetti di dati dai nodi di origine ai nodi di destinazione. Definisce gli indirizzi e le regole di routing per i nodi nella subnet InfiniBand.

Livello fisico: Il livello fisico definisce le specifiche hardware delle connessioni InfiniBand, compresi cavi, fibre ottiche, connettori e interfacce.

Livello superiore

Alcuni dei protocolli supportati al livello superiore sono:

Protocollo SCSI (Interfaccia di sistema per computer): Un protocollo di interfaccia standard per il trasferimento di dati tra computer e dispositivi esterni, supportando dispositivi come unità disco, stampanti e altri periferiche.

Protocollo IPoIB (IP su InfiniBand): Un protocollo che consente il trasferimento di dati IP sulla rete InfiniBand, permettendo a InfiniBand di supportare lo stack di protocolli TCP/IP.

Protocollo SDP (Sockets Direct Protocol): Un protocollo utilizzato per la comunicazione socket sulla rete InfiniBand, fornendo un trasferimento dati ad alte prestazioni e a bassa latenza.

MPI (Message Passing Interface): Un protocollo standard per la comunicazione tra processi in calcolo parallelo, comunemente utilizzato in applicazioni di calcolo ad alte prestazioni (HPC).

Livello di trasporto

Il servizio di trasporto di InfiniBand è diverso da TCP/IP al livello di trasporto.

InfiniBand utilizza la tecnologia Remote Direct Memory Access (RDMA), consentendo il trasferimento diretto di dati tra gli adattatori di rete senza passare per la memoria dell'host. Questo approccio garantisce una bassa latenza e un'elevata larghezza di banda.

TCP/IP utilizza un meccanismo di trasporto end-to-end, stabilendo connessioni tra host mittenti e destinatari per la trasmissione dei dati. Questo meccanismo può introdurre ulteriori latenze di trasmissione e overhead di sistema.

Connessioni al livello di trasporto in hardware

Nel livello di trasporto, viene stabilito un 'canale virtuale' per connettere due applicazioni, consentendo loro di comunicare in spazi di indirizzi completamente separati. Durante la trasmissione del messaggio, questo design sfrutta il trasferimento diretto di dati attraverso l'hardware, contribuendo a migliorare l'efficienza e le prestazioni della comunicazione.

Il messaggio viene trasferito direttamente tramite l'hardware senza la necessità di intervento da parte del processore principale. Di conseguenza, al raggiungimento della destinazione, il messaggio viene consegnato direttamente al buffer dell'applicazione ricevente senza richiedere ulteriori passaggi di elaborazione.

Livello di rete

La rete InfiniBand è divisa in diverse subnet, ognuna tipicamente collegata da uno o più switch InfiniBand. Una subnet è un dominio di comunicazione indipendente con la propria topologia e configurazione. Router e switch sono impiegati per instradare e commutare pacchetti tra subnet diverse. I router sono responsabili di collegare subnet distinte, mentre gli switch gestiscono la commutazione dei pacchetti all'interno della stessa subnet.

Livello di collegamento

Identificatore locale (LID)

Tutti i dispositivi in una subnet hanno un identificatore locale (Local Identifier, LID), un indirizzo a 16 bit assegnato dal subnet manager. Tutti i pacchetti inviati all'interno di una subnet utilizzano il LID come indirizzo di destinazione per l'inoltro e la commutazione dei pacchetti a livello di collegamento.

In una rete InfiniBand, ogni switch mantiene una tabella di inoltro che registra la mappatura tra le sue porte connesse e il LID di destinazione associato. Tali tabelle di inoltro vengono dinamicamente calcolate e configurate dal subnet manager.

Il subnet manager è responsabile di monitorare le modifiche nella topologia di rete, generando le appropriate tabelle di inoltro per ogni switch e garantendo che i pacchetti di dati possano essere trasmessi correttamente e rapidamente ai loro nodi di destinazione.

Commutazione dei pacchetti infiniBand

In una rete InfiniBand, i pacchetti di dati vengono trasmessi e instradati attraverso gli switch di rete. L'uso degli switch per la commutazione dei pacchetti consente la costruzione di topologie di rete flessibili e ad alte prestazioni, garantendo che i dati possano essere trasmessi rapidamente ed efficientemente dai nodi di origine ai nodi di destinazione.

Controllo del flusso

Il livello di collegamento di InfiniBand incorpora un protocollo di controllo del flusso, che viene utilizzato per regolare la velocità di trasmissione tra il mittente e il ricevente, evitando che un mittente veloce sovraccarichi la capacità di elaborazione di un ricevente più lento.

Livello fisico

Il livello fisico definisce le caratteristiche elettriche e meccaniche, inclusi cavi e connettori sia per supporti in fibra ottica che in rame, connettori per backplane, funzionalità di hot-swapping, ecc., garantendo l'interoperabilità tra dispositivi e produttori diversi. Questa standardizzazione contribuisce alla costruzione di reti di calcolo ad alte prestazioni e data center, offrendo una trasmissione dati affidabile e ad alta larghezza di banda. L'immagine seguente mostra esempi di cavi NVIDIA InfiniBand DAC e cavi NVIDIA InfiniBand AOC.

Conclusioni

In sintesi, l'architettura InfiniBand sta diventando una scelta preferita per calcolo ad alte prestazioni e reti di data center grazie alle sue eccezionali prestazioni e caratteristiche a bassa latenza. Il suo design unico la posiziona come una soluzione ideale per gestire trasferimenti di dati su larga scala e compiti computazionali complessi. Con la crescente domanda di potenza di calcolo e l'espansione della scala dei data center, InfiniBand, come tecnologia di interconnessione ad alte prestazioni, continuerà a svolgere un ruolo cruciale nei settori scientifico, ingegneristico e aziendale.

Potresti essere interessato a

Conoscenza
See profile for Sheldon.
Sheldon
Cosa è la porta SFP di uno switch Gigabit?
22 Mag 2023
85.2k
Conoscenza
Conoscenza
See profile for Migelle.
Migelle
Switch PoE, PoE+ e PoE++: Come scegliere?
16 Mar 2023
37.1k
Conoscenza
See profile for Sheldon.
Sheldon
LACP e PAGP: Qual è la differenza?
08 Mar 2023
25.3k
Conoscenza
Conoscenza
See profile for Moris.
Moris
DHCP o IP Statico: Qual è il migliore?
08 Mag 2023
56.8k
Conoscenza
See profile for Migelle.
Migelle
Switch Attivo vs Passivo: Quale Scegliere?
07 Dic 2020
20.6k
Conoscenza
See profile for Sheldon.
Sheldon
RIP vs OSPF: Qual è la differenza?
15 Nov 2022
29.0k
Conoscenza
See profile for Vincent.
Vincent
Capire il moduli BiDi
08 Mar 2021
20.0k
Conoscenza
See profile for Vincent.
Vincent
XFP vs SFP+: Quali sono le differenze?
10 Gen 2023
15.0k
Conoscenza