Topologie bez switche: mesh, ring a direct-connect pro malé AI clustery

32portový 400GbE switch včetně optiky, breakout kabeláže a softwarových licencí, které jej vůbec zprovozní, vyjde v polovině roku 2026 na €40k až €80k — a 64portový NDR InfiniBand switch je ještě horší. Pro zákazníka, který staví trénovací rig o dvou až čtyřech uzlech, může switch stát víc než GPU v jednom z nich. Navíc přidává jeden hop latence, jediný bod selhání, samostatný životní cyklus firmwaru a — pokud jedete RoCE — ladění PFC/ECN na celý menší projekt.

Málokdo nahlas řekne, že zhruba do osmi uzlů žádný switch nepotřebujete. Síťové karty můžete propojit přímo mezi sebou, switch úplně vynechat a výsledek bude jednodušší, lacinější a o kousek rychlejší. A málokdo přizná, že nad zhruba osmi uzly řešení bez switche padá ze skály — kabeláž, počet portů i provozní režie přestanou být obhajitelné. Tento článek poctivě mapuje, kde ta hranice leží.

Naváže na článek N04 (topologie se switchem). Přečtěte si N06 kvůli výpočtu latence, na němž je celá výhoda bezswitchového řešení postavená, a K07 kvůli tomu, jak vypadá jeden základní uzel — stavební kámen, který tu propojujeme.

Proč jet bez switche

Odstraněním switche získáte čtyři věci zadarmo:

  1. Nulová latence switche. Moderní cut-through ethernetový AI switch spolkne 400–600 ns na hop. NDR InfiniBand switch zůstane pod 100 ns. Přímý kabel mezi dvěma NIC přidá jen zpoždění vedení (~5 ns/m na mědi, na optice stejně) a nic dalšího. Při ping-pongu mezi dvěma uzly to srazí jednosměrnou latenci z ~2 µs na ~1.2–1.5 µs.
  2. Nulová cena switche. Dvouuzlové přímé propojení jsou dvě síťové karty a jeden DAC. Trojúhelník ze tří uzlů jsou tři karty a tři DACy. úspora na investici oproti i malému 100GbE switchi s optikou QSFP28 jsou u menší sestavy reálné peníze — €10k–€30k, které se vrátí do GPU.
  3. Žádné trable s PFC/ECN. Přímé spojení NIC–NIC je point-to-point — řízení toku je rozhovor dvou stran a PFC degraduje na prosté „řekni protistraně, ať přestane“. Žádná patologie šíření pauz napříč fabricem neexistuje, protože žádný fabric není.
  4. Jediná třída zařízení k ladění. Když se na bezswitchovém propojení něco rozbije, seznam podezřelých jsou dvě síťové karty, jeden kabel a jáderné ovladače na obou stranách. To je malý a konečný prostor k prohledání.

Dva uzly: prostě je propojte

Je to nejčistší možné zapojení AI clusteru a jediný případ, kde je řešení bez switche jednoznačně správné.

Uzel A — Kentino AI 256
  • 8× RTX 5090
  • ConnectX-7 OSFP (400 Gb/s)
⇄ 400G DAC (pasivní, ≤3 m)
Uzel B — Kentino AI 256
  • 8× RTX 5090
  • ConnectX-7 OSFP (400 Gb/s)

Přímé propojení dvou uzlů: jeden pasivní OSFP DAC, žádný switch, RDMA latence ~0.8–1.2 µs, využitelná propustnost ~50 GB/s v každém směru.

Jediný OSFP DAC mezi dvěma kartami ConnectX-7 při 400 Gb/s. To je celá propojovací síť mezi uzly. Tytéž karty, které by ve větší sestavě hleděly na switch, hledí místo toho na sebe navzájem. RDMA verbs fungují, NCCL si spojení najde automaticky a GPUDirect RDMA běží beze změny.

Co dostanete: využitelných ~50 GB/s v každém směru, surovou RDMA latenci pod mikrosekundu (ib_send_lat vychází kolem 0.8–1.2 µs) a jeden kabel. Žádný problém s agregací, protože není co agregovat. Žádný oversubscription, protože není žádný bod větvení.

Pro trénovací dvojici uzlů — nejčastější sestavu typu „jedna skříň už mi nestačí“ mezi našimi zákazníky — je to správná odpověď. Switch vynechte. Propojte je přímo. Ušetřené peníze dějte do větší NVMe vrstvy nebo do druhého portu síťové karty kvůli redundanci.

Praktické vylepšení: použijte dvouportovou kartu ConnectX-7 a veďte mezi skříněmi dva paralelní DACy po 200 Gb/s, přičemž NCCL nastavíte na oba HCA (NCCL_IB_HCA=mlx5_0,mlx5_1). Přijdete o kousek špičkového výkonu na jeden tok, ale získáte redundanci cesty a o něco lepší chování u malých zpráv díky paralelním queue pairs. U dvouuzlových sestav to děláme standardně.

Tři a čtyři uzly: trojúhelník a K₄

Tři uzly jsou nejmenší případ, kdy začíná na topologii záležet. Možnosti jsou:

  • Lineární řetěz (A-B-C). Dva kabely. Průměr 2. Uzel B je úzké hrdlo — prochází jím veškerý provoz z A do C. Vyhněte se mu.
  • Trojúhelník (plná mřížka). Tři kabely. Průměr 1. Každý uzel má dva porty. Každý tok je na jeden hop. Tohle je správná odpověď.
Trojúhelník (3 uzly, K₃) A B C 3 spoje · 2 porty/uzel · průměr 1 Plná mřížka K₄ (4 uzly) A B D C 6 spojů · 3 porty/uzel · průměr 1

Vlevo: trojúhelník (K₃) — 3 uzly, 3 kabely, průměr 1. Vpravo: plná mřížka K₄ — 4 uzly, 6 kabelů, průměr 1. Každá dvojice je propojena přímo.

U čtyř uzlů to začíná být zajímavé. Plná mřížka — úplný graf K₄ — má celkem šest spojů, tři porty na uzel a průměr 1. Každý uzel dosáhne na každý jiný přesně jedním hopem. Matematika kabeláže:

Uzly Spoje plné mřížky Portů na uzel Průměr
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

Počet portů na uzel u plné mřížky je N-1, a proto se tenhle přístup rychle hroutí. Při osmi uzlech potřebujete sedm portů na skříň, což je na jednom slotu PCIe Gen5 x16 konec praktické cesty.

Kdy plná mřížka čtyř uzlů porazí malý switch? Konkrétně když máte 4× uzel Kentino AI 128 pro inferenci a chcete je těsně svázat, jedete RoCE a nechcete PFC přes switch a když €15k–€25k navíc za 100GbE switch s optikou v rozpočtu citelně chybí.

Kdy vyhraje malý switch i při čtyřech uzlech? Když je šance, že příští kvartál přibude pátý uzel. Přidání jednoho uzlu do mřížky K₄ znamená překabelovat všechny stávající uzly a přidat jim porty. Switch má volné porty — prostě zapojíte.

Případ 8 uzlů: hyperkrychle, s hvězdičkou

3-krychle (Q₃) — hyperkrychle dimenze 3 — je učebnicové bezswitchové uspořádání pro osm uzlů. Každý uzel sedí v jednom rohu krychle, každá hrana je přímý spoj. Tři porty na uzel, celkem dvanáct spojů, průměr 3.

000 001 010 011 100 101 110 111 3-krychle Q₃: 8 uzlů · 12 spojů · 3 porty/uzel · průměr 3 Popisky v Grayově kódu — každá hrana se liší přesně v jednom bitu
Vlastnost Hodnota
Uzly 8
Spoje 12
Portů na uzel 3
Průměr 3
Bisekční propustnost 4 spoje

Upřímně: v produkci je to vzácnost. Funguje to, nejhorší případ s průměrem 3 je pro většinu kolektivních operací přijatelný, ale schéma kabeláže je pro každého, kdo ho nestavěl, upřímně matoucí, řešení problémů vyžaduje pochopit značení v Grayově kódu a malý 16portový 200GbE switch už je ve stejné cenové hladině jako ty porty a kabely navíc. Hyperkrychle o 8 uzlech je zajímavější jako učební příklad než jako něco, co dodáváme. Při osmi uzlech doporučujeme ve výchozím stavu switch.

Kruh: hloupý, jednoduchý a překvapivě užitečný

Zapomeňte na minimalizaci průměru. Kruh spojuje každý uzel jen s jeho dvěma sousedy: A-B-C-D-...-A. Dva porty na uzel bez ohledu na velikost clusteru. Celkem N spojů. Průměr N/2.

A B C D H G F E → → → ← ← ← Kruh o 8 uzlech: 8 spojů · 2 porty/uzel · průměr 4 · NCCL ring-allreduce se mapuje přímo

Zní to hrozně — průměr 4 při 8 uzlech, průměr 16 při 32 uzlech. Proč to tedy není vždycky špatně?

Protože ring allreduce v NCCL se na fyzický kruh mapuje přesně. Algoritmus pošle každý blok dat jednou dokola za každou fázi; pokud už fyzická topologie kruhem je, běží algoritmus na plné rychlosti jednoho spoje a žádná propustnost se nepromrhá. Výchozí volbou NCCL pro střední a velké zprávy je kruh, nikoli strom, protože kruh dosahuje optimální hranice propustnosti: 2(N-1)/N × link bandwidth pro allreduce. Průměr fyzické topologie u velkých zpráv nehraje roli — rozhoduje, že se všechny spoje využívají paralelně, a to kruh zvládá dokonale.

Pragmaticky je fyzický kruh správnou bezswitchovou odpovědí u trénovacích rigů o 4–8 uzlech, kde každý uzel už má přesně dva RDMA porty. Háček: kruh nemá redundanci cest. Jeden vadný kabel rozdělí cluster na dvě části.

Kdy bezswitchové řešení porazí malý switch — v číslech

Topologie Uzly Spoje Porty/uzel Průměr Bisekce (spoje)
Přímé propojení 2 1 1 1 1
Trojúhelník (K₃) 3 3 2 1 2
Plná mřížka K₄ 4 6 3 1 4
Kruh o 4 uzlech 4 4 2 2 2
Kruh o 8 uzlech 8 8 2 4 2
Krychle Q₃ o 8 uzlech 8 12 3 3 4
Q₄ o 16 uzlech 16 32 4 4 8
Hvězda o 8 uzlech (se switchem) 8 8 1 2 závisí na switchi

Orientační cenové srovnání propojení pro 8 uzlů, polovina roku 2026 (EUR bez DPH):

Řešení Potřebné síťové karty Kabely Switch Celkové pásmo
8 uzlů, hvězda 200 GbE s jedním switchem 8× jednoportová 200 GbE 8× DAC ~€18–28k €25–35k
Kruh o 8 uzlech, bez switche 8× dvouportová 200 GbE 8× DAC žádný €15–22k
Krychle Q₃ o 8 uzlech, bez switche 8× ekvivalent tří portů 12× DAC žádný €18–26k
Mřížka K₄ o 4 uzlech, bez switche 4× ekvivalent tří portů 6× DAC žádný €9–13k
4 uzly, malý 100 GbE switch 4× jednoportová 100 GbE 4× DAC ~€8–12k €11–16k
2 uzly, přímé propojení 2× jednoportová 400 GbE 1× DAC žádný €3–5k

Zlom, kdy se switch začne vyplácet, leží kolem 6–8 uzlů — podle rychlostní třídy a podle toho, zda plánujete růst.

Uplink: část, na kterou se zapomíná

Bezswitchová datová síť je uvnitř soběstačná. Sama o sobě ale není připojená nikam. Cluster pořád potřebuje uplink pro stažení datasetů a modelů z firemního úložiště, SSH z vývojářských workstationů, telemetrii do Prometheu/Grafany, správu přes IPMI/BMC a provoz k registru kontejnerů.

Varianta A — každý uzel má samostatnou správní síťovou kartu. Každý uzel má jeden malý port 25 GbE (nebo i 10 GbE) do levného správního switche, zcela nezávisle na RDMA síti. Tohle je skoro vždycky správná odpověď. RDMA síť je sterilní, bezztrátové a vyladěné prostředí; správní rovina je bežná ethernetová síť s bežným provozem. Smíchejte je a správní provoz vám rozhodí kolektivní operace.

Varianta B — vyhrazený uplinkový uzel. Jeden uzel v clusteru má port navíc, který vede ven. Ostatní uzly se dostanou do světa směrováním přes něj. Funguje to při napínavém rozpočtu a v malých laboratořích, ale uplinkový uzel se stává úzkým hrdlem při čtení datasetů a jediným bodem selhání pro správcovský přístup.

Tvrdá zeď u ~16 uzlů

Bezswitchové řešení nad 16 uzlů umírá ze tří nezávislých důvodů — a stačí kterýkoli z nich:

  1. Počet portů na uzel. Plná mřížka chce N-1 portů na uzel. Hyperkrychle chce log₂(N). I logaritmické škálování znamená, že 16 uzlů potřebuje 4 porty na uzel, což je na hranici praktické hustoty síťových karet na jednom slotu PCIe Gen5 x16. 32 uzlů potřebuje 5 portů na uzel — víc slotů a víc NUMA umístění ke správě.
  2. Kombinatorika kabeláže. Plná mřížka K₄ o 16 uzlech má 120 kabelů. Hyperkrychle Q₄ o 16 uzlech jich má 32. Tak jako tak záleží na popiscích, dokumentaci a fyzickém přístupu ke každému kabelu. Jeden špatně zapojený kabel v 32kabelové hyperkrychli budete hledat hodiny.
  3. Provozní režie. Výměna vadné síťové karty v bezswitchové síti znamená identifikovat všech N-1 (nebo log N) kabelů, které do ní vedly, a každý přepojit na konkrétní port náhrady. Rozdíl v MTTR oproti řešení se switchem je reálný.

Poctivé shrnutí: bez switche je správné řešení pro 2 až 4 vyhrazené uzly, obhajitelné pro 5 až 8 uzlů s jasným závazkem „nebudeme růst“ a chyba pro 9 a více uzlů. Od 9 výš kupte switch.

Dvě konkrétní sestavy, které stojí za popis

2× Kentino AI 256 Turin Dual, přímo propojené, 400G. Dva uzly EPYC Turin s 8 GPU (5090 nebo RTX Pro 6000 Blackwell), každý s jednoportovou ConnectX-7 400 GbE / NDR a jedním pasivním OSFP DACem o délce 3 m mezi nimi. Celková cena hardwaru pro propojení uzlů: ~€4k. NCCL allreduce busbw u velkých zpráv: ~45 GB/s. Vhodné pro dvoucestnou tenzorově paralelní inferenci hustého modelu 405B (vrstvy rozdělené mezi obě skříně) nebo pro doladení modelu 70B, který se už do jedné skříně těsně nevejde. Varianty této sestavy jsme už dodali několikrát. Je to nudné, funguje to a stojí to o řád méně než ekvivalent se switchem.

4× Kentino AI 128 v plné mřížce K₄, 100G. Čtyři jednopaticí uzly EPYC, každý se 4× RTX Pro 6000 Blackwell. Každý uzel má síťové karty v ekvivalentu tří portů (jedna dvouportová plus jedna jednoportová, nebo jedna čtyřportová s jedním portem nevyužitým) a DAC propojení 100 GbE. Celkem šest kabelů. Bisekční propustnost 400 Gb/s. Používá se pro tenzorově paralelní inferenci modelu třídy 70B s dělením na 4 cesty a předáváním aktivací mezi všemi dvojicemi. Odstraňuje switch jako jediný bod selhání inferenční služby a rozpočet zákazníka šel do GPU místo do síťových prvků. Kompromis: zamčeno na čtyřech uzlech, růst vyžaduje přestavbu.

Kdy vyhraje řešení bez switche

  • 2 uzly — vždy bez switche. Pro switch neexistuje rozumný argument.
  • 3 uzly — bezswitchový trojúhelník. Tři kabely, každý uzel na jeden hop. Triviální.
  • 4 uzly — bezswitchová K₄, pokud nebudete růst, jinak malý switch. Obhajitelné je obojí; rozhoduje předpoklad růstu.
  • 5 až 8 uzlů — obvykle se switchem. Kruh dává smysl u úloh limitovaných propustností, hyperkrychle pro opravdu odhodlané. Obojí se obhajuje hůř než prostě koupit 16portový switch.
  • 9 a více uzlů — se switchem. Vždy. Bezswitchové řešení za touto hranicí je chyba převlečená za úsporu.

Pokud dimenzujete malý AI cluster a položka se switchem vám bolí v kusovníku:

  1. Spočítejte uzly, které opravdu potřebujete. Ne „na dalších pět let“. Letos a příští rok. Pokud je poctivá odpověď 2–4, bezswitchová cesta je reálná a vyplatí se ji nacenit.
  2. Zmapujte rozložení síťových karet. Dvouportová ConnectX-7 200 Gb/s QSFP112 je v našich sestavách z roku 2026 nejčastějším dílem pro přímé propojení. Čtyřportová SFP56 je volba pro vyšší počty uzlů při nižší rychlosti na port.
  3. Rozhodněte se, jak chcete růst. Pokud existuje rozumná šance, že překročíte 8 uzlů, kupte malý switch rovnou teď. Překabelovat mřížku později je upřímně bolestivé.
  4. Správní rovinu plánujte zvlášť. Datová síť bez switche, správní rovina se switchem na levném 10 GbE. Nestlačujte je do jedné sady kabelů.
  5. Spusťte nccl-tests na postavené topologii, než vyhlásíte vítězství. Výstup NCCL_DEBUG=INFO vám řekne, které fyzické spoje NCCL skutečně používá; porovnejte to se schématem.
  6. Zdokumentujte kabeláž. Fotografie, popisky portů, jednostránkové schéma v racku. Až vám poprvé ve 02:00 odejde síťová karta, budete rádi.

Navazující články ke čtení: N04 pro alternativu se switchem, N06 pro rozbor latence, který bezswitchovou výhodu ospravedlňuje, N02 pro rozhodnutí InfiniBand vs. RoCE, které ovlivní, jaké síťové karty koupíte, a K07 pro základní uzel, který to všechno propojuje.


Tento text je součástí Kentino Wiki, referenční série o AI výpočtech, robotice a systémech, které je propojují. Připomínky a opravy uvítáme na info@kentino.com.