Tmavé pozadí

RDMA over Converged Ethernet

Oldřich Štefek
Oldřich Štefek 21. 12. 2023
RDMA over Converged Ethernet

Pokud vás zajímá možnost reálného nasazení a využití technologie RDMA over Converged Ethernet (RoCE) s důrazem na významné urychlení přenosových časů a výpočetních prostředků serverů clusteru v době extrémního nárůstu objemu dat, jste na správném místě. V tomto technicky zaměřeném článku se podíváme na možnosti využití technologie RoCE v kombinaci s IBM Storage Scale clusterem.

RDMA over Converged Ethernet (RoCE)

IBM již řadu let nabízí robustní, vysoce škálovatelný paralelní systém souborů pod názvem IBM General Parallel Filesystem (dále jen GPFS), který spadá do rodiny širšího produktového portfolia označovaného jako IBM Storage Scale. IBM Storage Scale je softwarově definované souborové a objektové úložiště, jehož data jsou ukládána do GPFS filesystemu. Dnes bych se rád zaměřil na oblast síťových technologií, které dokážou zásadně urychlit komunikaci v síti, garantovat nízké latence a v neposlední řadě významným způsobem šetřit hardwarové zdroje serverů, na kterých je GPFS filesystem provozován (ať už se jedná o HPC svět – oblast vysoce výkonných clusterů – nebo běžný cluster). Jedná se o specifické využití IBM GPFS v kombinaci s technologií „RDMA over Converged Ethernet“ (dále jen RoCE). 

Technologie „Remote Direct Memory Access“ (dále jen RDMA) se obecně vyznačuje tím, že umožňuje přímý paměťový přístup při komunikaci serverů v rámci stejného paralelního clusteru bez zapojení operačního systému. Technologie umožňuje síťovému adaptéru přenášet data přímo ze síťového adaptéru do paměti aplikace nebo z paměti aplikace přímo na adaptér, a tím se eliminuje nutnost kopírovat data mezi pamětí aplikace a vyrovnávacími paměťmi dat v operačním systému. Při využití správného hardwaru tak lze dosáhnout vysoké propustnosti při komunikaci aplikací v řádech stovek gigabitů za sekundu, velmi nízkých latencí a významné úspory procesorových cyklů a vyrovnávací paměti na úrovni operačního systému nodů clusteru.  

Jednou z možností realizace RDMA komunikace je hardware založený na standardu InfiniBand (switche, adaptéry, kabeláž, drivery). Kromě řady výhod (vysoká propustnost, CPU offloading, nízká latence, QoS atd.) má ale tato technologie i svá úskalí a jedním z nich, alespoň z mého pohledu, je nutnost provozovat dva separátní síťové světy. Kromě prostředí InfiniBand se naprostá většina dnešních datových center neobejde bez protokolu Ethernet. V prostředí HPC světa a velkých výpočetních clusterů není až tak omezující provozovat oba světy paralelně. V menších prostředích může být souběh InfiniBand a Ethernet prostředí provozně nákladný a náročný nejenom z pohledu investičních a provozních nákladů, ale i zajištění a udržení technického know-how. 

Již nějakou dobu je dostupná varianta RDMA, kterou lze provozovat nad Ethernet protokolem bez nutnosti specifického InfiniBand hardwaru. Tato technologie se označuje jako RoCE (RDMA over Converged Ethernet) a nabízí ji například společnost nVidia, která před nějakým časem koupila jednoho z lídrů této oblasti, společnost Mellanox. Nespornou výhodou této varianty RDMA je fakt, že při budování clusteru lze zvolit nebo využít již existující Ethernet hardware. V dnešní době se stala standardem RoCE v2, což je směrovatelný protokol, který lze provozovat nad UDP/IPv4 nebo UDP/IPv6 protokoly v rámci tzv. Ethernet fabric, který se označuje také jako „converged ethernet“. Cílem je zajistit bezeztrátový provoz v rámci Ethernet fabric za pomocí různých mechanismů (ECN marking, CNP frames atd.).  Vždy je nutné ověřit, jestli výše uvedené komponenty technologii RoCE skutečně podporují – včetně ověření verze RoCE.  

Nyní již víme, na jakém obecném principu technologie RoCE funguje, a proto je možné se zaměřit na využití tohoto protokolu ve spojení s IBM GPFS clusterem. Nad možností využití RoCE se musíme zamyslet již v době tvorby architektury budoucího clusteru. Pakliže se pro využití RoCE technologie rozhodneme, je nutné vybrat odpovídající Ethernet přepínače s podporou RoCE v2, které by měly být v topologii – s ohledem na důležitost clusteru – ve vysoké dostupnosti. Důležité je rovněž ověřit kompatibilitu s ostatními Ethernet prvky v rámci datového centra a hardwarem, resp. síťovými adaptéry serverů, pro které plánujeme RoCE využívat, včetně verze a podpory ze strany operačního systému a ovladačů. 

Prvním krokem je konfigurace Ethernet přepínače (v našem případě přepínače nVidia Ethernet s operačním systémem Onyx 3.9). Kromě běžných konfiguračních parametrů dotčených Ethernet rozhraní režimu switchport se nastaví odpovídající VLAN ID portu.  

Konfigurace RoCE na úrovni LAN přepínače je rychlá, plnou podporu RoCE v2 lze zajistit jediným příkazem s následným ověření konfigurace.

RoCE-showRoce.png

Konfigurace pro podporu RoCE na úrovni Storage Scale clusteru lze provést příkazy 'mmchconfig verbsPorts="mlx5_X mlx5_Y',  'mmchconfig verbsRdmaSend=yes' a 'mmchconfig verbsRdma=enable'.

Ověření využití RoCE technologie v komunikaci jednotlivých nodů v clusteru

RoCE-GPFS1.png

IBM Redbooks

Pro zájemce o větší technický detail jsou dostupné další online materiály od společnosti IBM, která je tvůrcem softwaru, např.: 

IBM Spectrum Scale and IBM Elastic Storage System Network Guide

Highly Efficient Data Access with RoCE on IBM Elastic Storage Systems and IBM Spectrum Scale

Společnost DATERA se oblastí paralelního clusteru IBM Storage Scale a souvisejícími síťovými technologiemi zabývá velmi intenzivně. Má za sebou celou řadu pokročilých, úspěšných nasazení, dlouholeté implementační i provozní zkušenosti a odpovídající team specialistů. 

V příštím článku se zaměřím na novější technologii v rámci IBM GPFS clusteru, a to technologii „Multi-Rail over TCP“ (dále jen MROT) v kombinaci s RoCE. Tato technologie dokáže eliminovat některé ne zcela optimální konfigurační požadavky síťových adaptérů na úrovni operačního systému a GPFS clusteru a dokáže navýšit propustnost už tak velmi výkonné RoCE konfigurace.

Oldřich Štefek
Oldřich Štefek 21. 12. 2023