Italia

Guida a RDMA su converged Ethernet

Aggiornato il 29 Dic 2023 by
4.2k

Nell'era dei dati, i requisiti per una rete più veloce, efficiente e scalabile non sono mai diminuiti. Poiché le tradizionali connessioni Ethernet TCP/IP sono sensibili alla CPU e richiedono un'ulteriore elaborazione e copia dei dati, non sono più in grado di soddisfare le attuali esigenze di rete. In questo contesto, è emerso RDMA over Converged Ethernet (RoCE). Per capire cosa è RoCE, vale la pena di esaminare prima RDMA.

 

RDMA (Remote Direct Memory Access) consente il trasferimento diretto di dati tra dispositivi in rete e RoCE (RDMA over Converged Ethernet) è un'implementazione leader di questa tecnologia. RoCE migliora la trasmissione dei dati con alta velocità e bassa latenza, rendendola ideale per l'elaborazione ad alte prestazioni e gli ambienti cloud. Questo articolo esplora i fondamenti di RDMA e il modo in cui RoCE migliora il trasferimento dei dati sulle reti Ethernet.

Cosa è RDMA?

Remote Direct Memory Access (RDMA) è una tecnologia che consente l'accesso diretto dalla memoria di un host o di un server alla memoria di un altro host o server senza coinvolgere la CPU. In questo modo, le CPU sono libere di svolgere il lavoro per cui sono state concepite, come l'esecuzione di applicazioni e l'elaborazione di enormi quantità di dati. Quindi, le prestazioni della rete e dell'host, con una latenza più bassa, un carico minore per la CPU e una larghezza di banda maggiore, possono essere ottenute in modo economicamente vantaggioso.

La tecnologia RDMA realizza una combinazione perfetta di schede di rete intelligenti e architettura software ottimizzata, fornendo un forte supporto per l'accesso diretto ad alta velocità alla memoria remota. Grazie all'incorporazione del protocollo RDMA nell'hardware (cioè nella scheda di rete) e all'utilizzo di metodi quali la copia zero e il kernel bypass, è possibile ottenere un accesso remoto ai dati ad alte prestazioni. RDMA Technology

Figura 1: Tecnologia RDMA

 

Cosa è RoCE?

In quanto tipo di RDMA, RoCE è un protocollo di rete definito nello standard InfiniBand Trade Association (IBTA), che consente l'RDMA sulla rete Ethernet convergente. In breve, può essere considerato come l'applicazione della tecnologia RDMA nei data center iperconvergenti, nel cloud, nello storage e negli ambienti virtualizzati. Possiede tutti i vantaggi della tecnologia RDMA e la familiarità di Ethernet. Per comprendere le differenze tra RoCE e Infiniband, potete leggere questo articolo RoCE, Infiniband e TCP/IP. L'incapsulamento di IB e RoCE è confrontato come segue:

标签

Figura 2: InfiniBand Vs. RoCEv2

 

Tipi di RoCE

In generale, esistono due versioni di RDMA over Converged Ethernet: RoCE v1 e RoCE v2, a seconda dell'adattatore di rete o scheda utilizzata.

  • RoCE v1: Il protocollo RoCE v1 è un protocollo di livello di collegamento Ethernet che consente a due host nello stesso dominio di trasmissione Ethernet (VLAN) di comunicare. Utilizza l'Ethertype 0x8915, che limita la lunghezza del frame a 1500 byte per un frame Ethernet standard e a 9000 byte per un frame Ethernet jumbo.

  • RoCE v2: Il protocollo RoCE v2 supera la limitazione della versione 1 che era limitata a un singolo dominio di trasmissione (VLAN). Modificando l'incapsulamento dei pacchetti per includere le intestazioni IP e UDP, RoCE v2 può ora essere utilizzato su reti L2 e L3. Ciò consente il routing di Livello 3, che porta RDMA su reti con più sottoreti per una grande scalabilità. Pertanto, RoCE v2 è anche considerato RoCE Rotabile (RRoCE). Con l'arrivo di RoCE v2, è ora possibile anche il multicast IP.

Figura 3: Formato dei pacchetti RoCE v1 e RoCE v2

Vantaggi di RoCE

Poiché RDMA over Converged Ethernet ha accesso diretto ai dati della memoria tramite l'interfaccia di rete anziché attraverso il kernel, può consentire una trasmissione a bassa latenza e ad alte prestazioni.

    • Basso coinvolgimento della CPU: Accesso alla memoria dello switch o del server remoto senza consumare cicli di CPU sul server remoto, consentendo di sfruttare appieno la larghezza di banda disponibile e una maggiore scalabilità.

    • Zero-copy: Inviare e ricevere dati da e verso buffer remoti.

    • Alto livello di produttività: Poiché la latenza e il throughput sono stati migliorati da RoCE, le prestazioni della rete hanno guadagnato molto.

    • Risparmio dei costi: Con RoCE non è necessario acquistare nuove apparecchiature o sostituire l'infrastruttura Ethernet per gestire l'enorme quantità di dati, con un notevole risparmio sulle spese di capitale delle aziende.

Limitazioni di RoCE

A causa dei colli di bottiglia delle prestazioni delle reti Ethernet tradizionali, le applicazioni RoCE in generale soffrono ancora di perdite di prestazioni come congestione, perdita di pacchetti e jitter di latenza nelle aziende ad alte prestazioni.

      • Congestione: In scenari multi-cast, le code possono diventare congestionate, con una latenza di coda che non può essere ignorata.

      • Perdita di pacchetti: Rispetto a FC, l'Ethernet tradizionale è soggetta a congestione e perdita di pacchetti, e il reinvio dei pacchetti persi porta facilmente a un disturbo dei dati.

      • Jitter di latenza: La rete Ethernet è soggetta a grandi quantità di jitter e la sua modalità store-and-forward comporta processi di ricerca complessi e un'elevata latenza di inoltro.

Figura 4: Prima e dopo RoCE

 

Come realizzare RoCE?

In generale, per realizzare RDMA su Ethernet convergente per un data center, è possibile installare i driver delle schede o degli adattatori di rete che supportano RoCE. Tutte le NIC Ethernet richiedono schede di rete RoCE. I driver RoCE sono disponibili in Red Hat, Linux, Microsoft Windows e altri sistemi operativi comuni. RDMA su Ethernet convergente è disponibile in due modi. Per lo switch di rete, è possibile scegliere di utilizzare lo switch con un sistema operativo che supporta il PFC (priority flow control). Per quanto riguarda i server rack o gli host, è necessario utilizzare una scheda di rete, come ConnectX-3 pro e ConnectX-4 e oltre.

''Si veda anche- Server di rete e Switch di rete

FAQ su RoCE

Di seguito elenchiamo alcune domande frequenti su RDMA su Ethernet convergente, in modo da averne una migliore comprensione.

1. Quali switch o schede/adattatori di rete FS supportano RoCE?

Fino ad ora, eccezion fatta per gli switch serie S5860 e S5850-24S2Q, S5850-24S2Q-DC, gli switch della serie FS N e della serie S58/80 possono tutti supportare RoCE v1 e v2. I clienti devono abilitare la funzione PFC dopo aver acquistato uno switch RDMA. Inoltre, FS può anche fornire adattatori Ethernet NVIDIA che supportano RoCE.

2. Gli adattatori RoCE possono comunicare con altri tipi di adattatore, come iWARP?

Gli adattatori RoCE possono comunicare solo con altri adattatori RDMA over converged Ethernet. Tutte le configurazioni che tentano di mescolare i tipi di adattatore, ad esempio gli adattatori RoCE combinati con adattatori iWARP, probabilmente torneranno alle tradizionali connessioni TCP/IP.

3. Qual è la differenza tra RoCE e iWARP?

Come il protocollo di rete RoCE, anche iWARP (Internet wide area RDMA protocol) supporta la funzione RDMA con una latenza inferiore, ma presenta alcune differenze.

Da un lato, RoCE è l'unica soluzione RDMA basata su Ethernet standard del settore, con un ecosistema multivenditore che fornisce adattatori di rete e opera su switch Ethernet standard di livello 2 e 3. Dall'altro, iWARP ha ricevuto solo un supporto minimo. E iWARP ha ricevuto solo un supporto minimo.

Dall'altro lato, iWARP utilizza un complesso mix di livelli, tra cui DDP (Direct Data Placement), una modifica nota come MPA (Marker PDU Aligned framing) e un protocollo RDMA separato (RDMAP) per fornire servizi RDMA su TCP/IP. Con un'architettura così complessa, sarà difficile per il protocollo iWARP applicare RDMA ai framework di trasporto software esistenti. Dopo questo compromesso, il throughput, la latenza e l'utilizzo della CPU di iWARP saranno ridotti.

Figura 5: Livelli di rete complessi di iWARP vs. modello più semplice di RoCE

 

Conclusioni

Eseguendo RDMA nei data center, è possibile ottenere l'offloading del movimento dei dati e una maggiore disponibilità di risorse CPU per l'applicazione. Chi adotta RoCE può beneficiare delle funzionalità di RDMA senza modificare la propria infrastruttura di rete. Riducendo la latenza della rete Ethernet e scaricando l'overhead della CPU, RoCE aumenta le prestazioni delle applicazioni di ricerca, archiviazione, database, finanziarie e ad alto tasso di transazioni. Aumentando l'efficienza della CPU e migliorando le prestazioni delle applicazioni, RoCE può ridurre il numero di server necessari, producendo così un risparmio energetico e riducendo l'ingombro dei data center basati su Ethernet.

Potresti essere interessato a

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