Infiniband. Uno standard per l’I/O veloce

I vantaggi di una nuova architettura di input/output definita da un pool di vendor.Pubblicato sul numero 13 maggio 2001

Un’associazione di industrie denominata “Infiniband Trade Association (IBTA)” ha messo mano alla definizione delle specifiche della omonima architettura di input/output, destinata a sostiture il bus PCI nei server di fascia alta.
L’associazione è stata fondata da Compaq, Dell, HP, IBM, Intel, Microsoft e Sun. A queste si sono successivamente aggiunte: 3Com, Agilent, Adaptec, Brocade, Cisco, Fujitsu-Siemens, Hitachi, Lucent, NEC e Nortel Networks.
L’obiettivo è stato quello di sviluppare uno standard aperto per far fronte alle necessità di calcolo emergenti a livello di impresa e fornire una soluzione atta a connettere e condividere dispositivi distribuiti in cluster, in reti storage o in reti IP.

Specifiche strutturate
in quattro livelli

L’architettura Infiniband prevede che dispositivi finali e nodi di rete comunichino mediante lo scambio di pacchetti dati con modalità trasmissive orientate alla connessione.
L’unità base del protocollo di comunicazione è il messaggio, che però può assumere diverse rappresentazioni e significati a seconda del contesto di utilizzo. Il modello architetturale di Infiniband si basa su una strutturazione in 4 livelli riferiti come fisico, data link, rete e trasporto.
Il livello di trasporto ha il compito di garantire la comunicazione tra le applicazioni residenti su sistemi diversi e, in quanto tale, rappresenta un livello end-to-end in modo del tutto simile a quanto specificato nel modello OSI. La sua funzione è quella di suddividere un messaggio in segmenti di dimensioni più piccole che costituiscono il payload di un pacchetto dati del livello di rete. Ogni pacchetto passato dal livello di trasporto a quello di rete, oltre al payload, contiene anche un identificatore unico globale (GUI) del nodo di destinazione del pacchetto stesso. In linea generale ogni pacchetto può contenere sino a un massimo di 4.096 ottetti, ma il numero effettivo può essere variabile e tarato in funzione del dispositivo o della tipologia di rete di trasporto.
Un’applicazione tipica della tecnologia Infiniband è, per esempio, la interconnessione di server a dispositivi di storage remoti o a reti geografiche. Il server contiene al suo interno un adattatore di canale (Host Channel Adapter, HCA), che connette il controller della memoria agli apparati della rete commutata (in pratica gli switch di rete) tramite uno o più canali bidirezionali. Dispositivi finali, come per esempio apparati di storage, si collegano agli switch della rete mediante un’interfaccia riferita come Target Channel Adapter (TCA), più semplice costruttivamente dell’HCA e con le funzioni specifiche del dispositivo e di quanto serve per operare all’interno dell’architettura Infiniband.
La connessione tra HCA e TCA prevede il ricorso a un link seriale bidirezionale ad alta velocità, che contiene dei canali dedicati alla trasmissione e alla ricezione. In caso di necessità, la capacità globale può essere incrementata aumentando il numero di canali utilizzati contemporaneamente per un link. In pratica questo incremento, a livello di architettura, prevede il ricorso a 1, 4 e 12 coppie di link bidirezionali, con metà canali di ogni link utilizzata per la trasmissione e metà canali per la ricezione. Ogni canale unidirezionale ha una larghezza di 1 bit e una velocità teorica di segnalazione pari a 2,5 Gbps. Ne deriva che i 2, 8 e 24 canali (trasmissione più ricezione) dispongono di una banda teorica di 5, 20 e 60 Gbps rispettivamente, capacità che l’associazione si ripromette di espandere con il crescere delle potenzialità delle reti trasmissive di nuova generazione, man mano che ne avverrà il dispiegamento.
Come avviene generalmente in tutte le reti a commutazione, l’architettura permette di ottimizzare l’utilizzo delle risorse trasmissive, permettendo di suddividere ogni link in un insieme di percorsi virtuali utilizzabili contemporaneamente dalle diverse applicazioni, che sono connesse agli stessi nodi di origine e di destinazione di un link.
Per ogni percorso virtuale, all’interno di un link, esiste un meccanismo individuale di controllo del flusso, che permette a una coppia di dispositivi finali di comunicare senza interferire con altri percorsi virtuali relativi ad altri dispositivi. Su ogni link è possibile allocare da un minimo di due a un massimo di 16 percorsi virtuali. Un percorso è comunque riservato per la gestione dei dispositivi, mentre i restanti sono utilizzabili per il trasporto dei pacchetti dati delle applicazioni. La suddivisione in percorsi virtuali permette di ottimizzare l’utilizzo della rete e occupare una banda corrispondente alle effettive esigenze trasmissive dell’applicazione. Per esempio, diventa possibile suddividere un link a 250 Mbyte in percorsi virtuali a 50 Mbyte.
Come appare evidente, Infiniband ha l’obiettivo di espandere il concetto di I/O al di fuori dello stretto ambito di un server e creare le basi per un approccio globale, allargato alla parte di rete locale e geografica e ai sistemi di storage di nuova generazione. Particolarmente innovativo è, poi, quanto correlato alla interazione server-storage, con la possibilità di usare un canale, rete permettendo, con velocità elevate e aggregabili in base alle esigenze trasmissive. Peraltro, la disponibilità di uno standard aperto pone le basi per una certificazione dell’interoperabilità dei dispositivi.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome