Switchless topologier: Mesh, Ring og Direct-Connect til små AI-klynger

En 32-ports 400 GbE-switch med optikken, breakouts og softwarerettighederne til rent faktisk at bruge den lander et sted mellem €40 og €80 i midten af ​​2026, og en 64-ports NDR InfiniBand-switch er værre. For en kunde, der bygger en træningsplatform med to til fire noder, kan switchen koste mere end GPU'erne i en af ​​noderne. Den tilføjer også en hop af latenstid, et single point of failure, en separat firmware-livscyklus og et lille projekts PFC/ECN-tuning, hvis du kører RoCE.

Det faktum, som næsten ingen taler om, er, at under cirka otte noder behøver du slet ikke en switchDu kan kable netværkskortene direkte til hinanden, springe skiftet helt over og ende med noget enklere, billigere og lidt hurtigere. Det faktum, som næsten ingen indrømmer, er, at over cirka otte noder falder switchless ned fra en klippe, og kabling, portantal og driftshistorie er ikke længere forsvarlig. Denne artikel kortlægger dette spænd ærligt.

Det er ledsageren til N04 (switched topologier). Læs N06 For latensmatematikken er den kontaktløse gevinst bygget på, og K07 for hvordan en enkelt basisknude ser ud – byggestenen, som denne artikel forbinder.

Argumentet for kontaktløs

Fire ting du får gratis ved at fjerne kontakten:

  1. Nul switch latency. En moderne cut-through Ethernet AI-switch bruger 400-600 ns pr. hop. En NDR InfiniBand-switch er under 100 ns. Et direkte NIC-til-NIC-kabel tilføjer ledningsforsinkelse (~5 ns/m på kobber, det samme på fiber) og intet andet. På en to-node ping-pong reducerer dette envejslatensen fra ~2 µs til ~1.2-1.5 µs.
  2. Nul omkostning ved omskiftning. En direkte forbindelse med to noder er to NIC'er og én DAC. En trenodetriangel er tre NIC'er og tre DAC'er. Besparelsen på anlægsinvesteringer sammenlignet med selv en lille 100 GbE-switch med QSFP28-optik er rigtig meget for en lille bygning – 10-30 euro, der går tilbage til GPU'er.
  3. Ingen PFC/ECN-hovedpine. Et direkte NIC-til-NIC-link er punkt-til-punkt – flowkontrol er en samtale mellem to parter, hvor PFC degenererer til at "fortælle peeren, at han skal stoppe". Der er ingen patologi for pauseudbredelse på tværs af hele fabric-systemet, fordi der ikke er nogen fabric.
  4. Én enhedsklasse at fejlsøge. Når noget går i stykker på en switchless fabric, er den mistænkte liste to netkort, et kabel og kernedriverne i begge ender. Det er et lille, begrænset søgeområde.

To-node-tilfældet: bare sæt dem sammen

Dette er den reneste mulige AI-klyngeopsætning, og den hvor switchless er utvetydigt korrekt.

Knudepunkt A — K-AI 256
  • 8× RTX 5090
  • ConnectX-7 OSFP (400 Gb/s)
400G DAC (passiv, ≤3 m)
Knudepunkt B — K-AI 256
  • 8× RTX 5090
  • ConnectX-7 OSFP (400 Gb/s)

Direkte forbindelse med to noder: én passiv OSFP DAC, ingen switch, ~0.8-1.2 µs RDMA-latens, ~50 GB/s brugbar gennemløb pr. retning.

En enkelt OSFP DAC mellem to ConnectX-7 NIC'er ved 400 Gb/s. Det er hele internnode-strukturen. De samme NIC'er, der ville være vendt mod en switch i en større build, vender i stedet mod hinanden. RDMA-verber fungerer, NCCL registrerer det automatisk, og GPUDirect RDMA kører uændret.

Hvad du får: ~50 GB/s pr. brugbar retning, rå RDMA-latens på under et mikrosekund (ib_send_lat lander omkring 0.8-1.2 µs), ét kabel. Intet aggregeringsproblem, fordi der ikke er noget at aggregere. Ingen overabonnement, fordi der ikke er noget fan-out-punkt.

For et træningspar med to noder – den mest almindelige "jeg er vokset fra én boks"-build i vores kundebase – er dette det rigtige svar. Spring skiftet over. Sæt dem sammen. Brug de sparede penge på et større NVMe-lag eller en anden NIC-port for redundans.

En praktisk forbedring: brug en dobbeltport ConnectX-7 og kør to parallelle 200 Gb/s DAC'er mellem boksene, med NCCL konfigureret til at bruge begge HCA'er (NCCL_IB_HCA=mlx5_0,mlx5_1Du mister en lille smule per-flow peak, men du får stiredundans og en anelse bedre adfærd ved små beskeder fra parallelle køpar. Vi bruger dette som standard på builds med to noder.

Tre og fire knuder: trekant og K₄

Tre noder er det mindste tilfælde, hvor topologien begynder at have betydning. Mulighederne er:

  • Lineær kæde (ABC). To kabler. Diameter 2. Knudepunkt B er et hotspot — al A-til-C-trafik krydser det. Undgå det.
  • Trekant (fuldmasket). Tre kabler. Diameter 1. Hver node har to porte. Hvert flow er ét hop. Dette er det rigtige svar.
Trekant (3 knuder, K₃) A B C 3 led · 2 porte/knude · diameter 1 K₄ fuldt mesh (4 noder) A B D C 6 led · 3 porte/knude · diameter 1

Venstre: trekant (K₃) — 3 noder, 3 kabler, diameter 1. Højre: K₄ fuld mesh — 4 noder, 6 kabler, diameter 1. Hvert par er direkte forbundet.

Det er med fire noder, det bliver interessant. Det fulde mesh – den komplette graf K₄ – har i alt seks links, tre porte pr. node og en diameter på 1. Hver node når hinanden i præcis ét hop. Kabelmatematikken:

nodes Full-mesh-links Porte pr. node Diameter
2 1 1 1
3 3 2 1
4 6 3 1
5 10 4 1
6 15 5 1
7 21 6 1
8 28 7 1

Fuld mesh-porte pr. node er N-1, hvilket er grunden til, at denne tilgang imploderer hurtigt. Ved otte noder har du brug for syv porte pr. boks, hvilket er slutningen på den praktiske vej på et enkelt PCIe Gen5 x16-slot.

Hvornår slår fire-noders full mesh en lille switch? Specifikt når du har 4× K-AI 128 noder til inferens og ønsker dem tæt koblet, du kører RoCE og ikke ønsker PFC på tværs af en switch, og de marginale €15-€25 for en 100 GbE switch med optik er meningsfuld i budgettet.

Hvornår vinder en lille switch selv ved fire noder? Når du måske tilføjer en femte node næste kvartal. Tilføjelse af én node til et K₄-mesh kræver omkabling af alle eksisterende noder for at tilføje de nye porte. En switch har ekstra porte; du skal bare tilslutte den.

8-node-tilfældet: hyperkube, med en asterisk

3-kuben (Q₃) — en hyperkube med dimension 3 — er lærebogens switchless layout til otte noder. Hver node sidder i et hjørne af en kub; hver kant af kuben er et direkte link. Tre porte pr. node, tolv links i alt, diameter 3.

000 001 010 011 100 101 110 111 3-kube Q₃: 8 noder · 12 led · 3 porte/node · diameter 3 Gråkodeetiketter — hver kant adskiller sig med præcis én bit
Ejendom Værdi
nodes 8
Links 12
Porte pr. node 3
Diameter 3
Bisektion båndbredde 4 til venstre

Den ærlige holdning: dette er sjældent i produktion. Det virker, diameter-3 i værste fald er acceptabelt for de fleste kollektiver, men kabeldiagrammet er virkelig forvirrende for alle, der ikke har bygget det. Fejlfinding kræver forståelse af Gray-code-mærkningen, og en lille 16-ports 200 GbE-switch er nu i samme prisklasse som de ekstra NIC-porte og kabler. Hypercuben med 8 noder er mere interessant som et undervisningseksempel end som noget, vi leverer. Ved otte noder er vores standardanbefaling en switch.

Ringen: dum, simpel og overraskende relevant

Glem alt om at minimere diameteren. Ringen forbinder kun hver node med dens to naboer: ABCD-...-A. To porte pr. node uanset klyngestørrelse. N forbindelser i alt. Diameter N/2.

A B C D H G F E 8-node ring: 8 links · 2 porte/node · diameter 4 · NCCL ring - allreduce kortlægger direkte

Det lyder forfærdeligt – diameter 4 på 8 noder, diameter 16 på 32 noder. Hvorfor er det ikke altid forkert?

Fordi NCCL's ring allreducerer kort præcist til en fysisk ringAlgoritmen sender hvert datastykke én gang rundt i ringen pr. fase; hvis den fysiske topologi allerede er en ring, kører algoritmen med linjehastigheden for et enkelt link uden spildt båndbredde. NCCL's standard for mellemstore til store beskeder er ring, ikke træ, fordi ring opnår den optimale båndbreddegrænse: 2(N-1)/N × link bandwidth for allreduce. Diameteren af ​​den fysiske topologi spiller ingen rolle ved store meddelelsesstørrelser — det, der betyder noget, er, at hvert link bruges parallelt, og det gør ringen perfekt.

Det pragmatiske sted, hvor en fysisk ring er det rigtige svar uden kontakter, er 4-8 node træningsrigge, hvor hver node allerede har præcis to RDMA-porteFangsten: ringen har ingen redundans i stierne. Et defekt kabel deler klyngen i to dele.

Når kontaktløshed slår en lille kontakt, i antal

Topologi nodes Links Porte/node Diameter Bisektion (links)
Direkte forbindelse 2 1 1 1 1
Trekant (K₃) 3 3 2 1 2
K₄ fuldmaske 4 6 3 1 4
4-node ring 4 4 2 2 2
8-node ring 8 8 2 4 2
8-node Q₃-terning 8 12 3 3 4
16-node Q₄ 16 32 4 4 8
8-node stjerne (skiftet) 8 8 1 2 afhænger af kontakten

Omtrentlig prissammenligning for en 8-node fabric build, medio 2026 (EUR ekskl. moms):

Tilgang Nødvendige netværkskort Kabler Kontakt Samlet bånd
8-node, single-switch 200 GbE-stjerne 8× enkeltport 200 GbE 8× DAC ~18–28 euro 25–35 euro
8-node ring, kontaktløs 8× dobbeltport 200 GbE 8× DAC ingen 15–22 euro
8-node Q₃-kube, kontaktløs 8× tri-port ækvivalent 12× DAC ingen 18–26 euro
4-node K₄-mesh, kontaktløs 4× tri-port ækvivalent 6× DAC ingen 9–13 euro
4-noders, lille 100 GbE-switch 4× enkeltport 100 GbE 4× DAC ~8–12 euro 11–16 euro
2-node direkte 2× enkeltport 400 GbE 1× DAC ingen 3–5 euro

Den del af switchen, hvor den betaler sig selv, er omkring 6-8 noder, afhængigt af båndbreddeniveau og om du har til hensigt at vokse.

Uplink: den del folk glemmer

En switchless data fabric er internt selvstændig. Den er ikke i sig selv forbundet til noget. Klyngen har stadig brug for et uplink til datasæt- og modelhentninger fra virksomhedens lager, SSH fra udvikler-arbejdsstationer, telemetri til Prometheus/Grafana, IPMI/BMC-administration og containerregistertrafik.

Mønster A — hver node har et separat administrations-NIC. Hver node har én lille 25 GbE (eller endda 10 GbE) port til en billig administrationsswitch, helt uafhængig af RDMA-strukturen. Dette er næsten altid det rigtige svar. RDMA-strukturen er et sterilt, tabsfrit, afstemt miljø; administrationsplanet er et normalt Ethernet-netværk med normal trafik. Bland dem, og administrationstrafikken forstyrrer jeres kollektiver.

Mønster B — dedikeret uplink-node. En node i klyngen har en ekstra port, der forbinder sig ud. Andre noder når omverdenen ved at route gennem denne node. Fungerer til stramme budgetter og små laboratorieopsætninger, men uplink-noden bliver en flaskehals for datasætlæsninger og et enkelt fejlpunkt for administrationsadgang.

Den hårde væg ved ~16 knuder

Switchless dør over 16 noder af tre uafhængige årsager, hvoraf en hvilken som helst er tilstrækkelig:

  1. Portantal pr. node. Fuld mesh ønsker N-1 porte pr. node. Hypercube ønsker log₂(N)Selv logskaleringen betyder, at 16 noder har brug for 4 porte pr. node, hvilket er på grænsen af ​​den praktiske NIC-tæthed på et enkelt PCIe Gen5 x16-slot. 32 noder har brug for 5 porte pr. node - flere slots, flere NUMA-placeringer at administrere.
  2. Kabelkombinatorik. En K₄ full mesh med 16 noder har 120 kabler. En Q₄ hyperkube med 16 noder har 32. Uanset hvad, er mærkning, dokumentation og fysisk adgang til hvert kabel vigtig. Det tager timer at finde ét forkert tilsluttet kabel i en hyperkube med 32 kabler.
  3. Operationel historie. Udskiftning af et defekt NIC i en switchless fabric kræver identifikation af de N-1 (eller log N) kabler, der har forbundet det, og omdirigering af hvert enkelt til en specifik port på udskiftningen. MTTR-forskellen versus switched er reel.

Den ærlige opsummering: switchless er det rigtige valg 2 til 4 dedikerede noder, forsvarlig for 5 til 8 noder med en klar forpligtelse til "vi vil ikke vokse", og en fejltagelse for 9 eller flere noderKøb en switch når du er 9+.

To betonbygninger værd at beskrive

2× K-AI 256 Turin Dual, direkte forbundet, 400G. To 8-GPU EPYC Turin-noder (5090 eller RTX Pro 6000 Blackwell), hver med en single-port ConnectX-7 400 GbE / NDR, en 3 m passiv OSFP DAC imellem dem. Samlede hardwareomkostninger mellem noder: ~€4k. NCCL allreduce busbw på store meddelelser: ~45 GB/s. Velegnet til tovejs tensor-parallel inferens af en 405B tæt model (opdelte lag på tværs af de to bokse) eller finjustering af en 70B, der ikke helt passer på én boks. Vi har sendt varianter af denne build flere gange. Den er kedelig, den virker, den koster en størrelsesorden mindre end den tilsvarende switch-attached opsætning.

4× K-AI 128 i K₄ fuldmaske, 100 g. Fire EPYC-noder med én sokkel og 4× RTX Pro 6000 Blackwell hver. Hver node har et tri-port-ækvivalent NIC-layout (en dual-port plus en single-port eller en quad-port med én ubrugt port), 100 GbE DAC-struktur. Seks kabler i alt. Bisektionsbåndbredde 400 Gb/s. Bruges til tensor-parallel inferens af en 70B-klasse model med 4-vejs opdeling og fuld aktivering, der passerer mellem hvert par. Eliminerer switchen som et enkelt fejlpunkt for inferenstjenesten, og kundens budget gik til GPU'er i stedet for at skifte udstyr. Afvejning: låst ved fire noder; vækst kræver omarkitektur.

Når kontaktløshed vinder

  • 2 noder — altid kontaktløs. Intet reelt argument for et skifte.
  • 3 noder — en trekant uden kontakter. Tre kabler, hver node ét hop væk. Trivielt.
  • 4 noder — K₄ uden kontakt, hvis du ikke vil vokse, ellers en lille kontakt. Begge er forsvarlige; vækstantagelsen er den afgørende faktor.
  • 5 til 8 noder — normalt omskiftet. Ring er plausibelt til arbejde med begrænset båndbredde, hypercube til de virkelig engagerede. Begge dele er sværere at forsvare end blot at købe en 16-ports switch.
  • 9 eller flere noder — omskiftet. Altid. At skifte uden kontakt efter dette punkt er en fejl forklædt som en besparelse.

Hvis du skalerer en lille AI-klynge, og switch-linjeposten forårsager problemer i styklisten:

  1. Tæl de noder, du rent faktisk har brug for. Ikke "i de næste fem år." I år og næste år. Hvis det ærlige svar er 2-4, er den sporløse vej reel og værd at sætte pris på.
  2. Kortlæg NIC-layoutet. ConnectX-7 dual-port 200 Gb/s QSFP112 er den mest almindelige direkte forbindelsesdel i vores 2026-builds. Quad-port SFP56 er muligheden for højere nodeantal ved lavere hastighed pr. port.
  3. Beslut dig for vækstposition. Hvis der er nogen reel chance for at komme forbi 8 noder, så køb bare den lille switch nu. Det er virkelig smertefuldt at omkable et mesh senere.
  4. Planlæg styringsplanet separat. Switchless data fabric, switched management plane på billig 10 GbE. Lad være med at pakke dem sammen på ét sæt kabler.
  5. Kør nccl-tests på den som-byggede topologi, før de erklærede sejr. NCCL_DEBUG=INFO Outputtet fortæller dig, hvilke fysiske links NCCL rent faktisk bruger; krydstjek med diagrammet.
  6. Dokumentér kablerne. Fotografier, portmærker, et diagram på én side i racket. Første gang et netværkskort fejler klokken 02:00, vil du være glad.

Opfølgende artikler at læse: N04 for det skiftede alternativ, N06 for latenstidsdissektionen, der retfærdiggør den kontaktløse sejr, N02 for InfiniBand vs RoCE-opkaldet, der påvirker hvilke NIC'er du køber, og K07 for den basisknude, som alt dette forbinder.


Dette er en del af Kentino Wiki, en referenceserie om AI-beregning, robotteknologi og de systemer, der forbinder dem. Kommentarer og rettelser er velkomne på info@kentino.com.