RoCE
Jak działa
RoCE hermetyzuje wiadomości warstwy transportowej InfiniBand (Base Transport Header + payload) wewnątrz ramek Ethernet (RoCE v1) lub pakietów UDP/IP (RoCE v2). Karta sieciowa (HCA) realizuje cały stos protokołu sprzętowo: aplikacja inicjuje operację READ/WRITE/SEND, HCA czyta lub zapisuje pamięć zdalną bez kopiowania danych przez kernel ani CPU. Aby uniknąć utraty pakietów (RoCE jest wrażliwy na drop), używa się Priority Flow Control (PFC) i ECN do sygnalizacji przeciążeń (CNP frames w v2).
Rozwiązany problem
Tradycyjne sieci Ethernet z TCP/IP wprowadzają wysokie opóźnienia i obciążenie CPU przy komunikacji między węzłami w klastrach HPC i treningowych AI. RoCE eliminuje to dając RDMA (zero-copy, kernel bypass) bez potrzeby dedykowanej sieci InfiniBand.
Implementacja
Priority Flow Control wymagany dla losslessness może prowadzić do deadlocków pętli kredytowych w dużych topologiach.
RoCE v2 nad UDP nie ma wbudowanej niezawodności; pojedynczy drop powoduje retransmisję typu go-back-N i dramatyczny spadek wydajności (incast collapse).
Konfiguracja Data Center Bridging (PFC, ETS, DCBX) na każdym przełączniku jest znacznie bardziej skomplikowana niż w sieci InfiniBand.
Ewolucja
InfiniBand Trade Association ratyfikuje RoCE v1 jako Annex A16 do specyfikacji IBA 1.2.1.
RoCE v2 dodaje hermetyzację UDP/IP (port 4791), umożliwiając routowanie pakietów RDMA w sieciach IP i kontrolę przeciążeń ECN/CNP.
Mainline kernel zaczyna obsługiwać RoCE v2 (Mellanox OFED 2.3+), co umożliwia szerokie wdrożenia w data center.
Akwizycja czyni z RoCE strategiczny element platformy AI NVIDIA (Spectrum, ConnectX, BlueField).
NVIDIA wprowadza Spectrum-X – platformę Ethernet zoptymalizowaną pod RoCE dla klastrów AI; powstaje Ultra Ethernet Consortium (AMD, Broadcom, Cisco, Meta, Microsoft) dążący do następcy RoCE.
Szczegóły techniczne
Wymagania sprzętowe
RoCE jest standardową siecią scale-out dla klastrów GPU (NVIDIA ConnectX/BlueField, Spectrum-X) używanych do treningu LLM.
RoCE wymaga RDMA-capable NIC (HCA), ale działa z dowolnym CPU/GPU/akceleratorem nad nim.