Topologie bez przełącznika: mesh, ring i direct-connect w małych klastrach AI

32-portowy switch 400 GbE wraz z optyką, kablami breakout i licencjami oprogramowania potrzebnymi do realnego wykorzystania go kosztuje w połowie 2026 roku od 40 do 80 tys. euro, a 64-portowy switch InfiniBand NDR jest jeszcze droższy. Dla klienta budującego rig treningowy na dwa do czterech węzłów switch potrafi kosztować więcej niż karty GPU w jednym z węzłów. Dokłada też przeskok opóźnienia, pojedynczy punkt awarii, osobny cykl życia firmware'u oraz — przy RoCE — strojenie PFC/ECN na miarę niewielkiego projektu.

Faktem, o którym prawie nikt nie mówi, jest to, że poniżej mniej więcej ośmiu węzłów switch w ogóle nie jest potrzebny. Karty sieciowe można połączyć bezpośrednio ze sobą, całkowicie pomijając switch, i otrzymać rozwiązanie prostsze, tańsze i nieco szybsze. Faktem, do którego prawie nikt się nie przyznaje, jest to, że powyżej mniej więcej ośmiu węzłów rozwiązania bez switcha gwałtownie tracą sens, a okablowanie, liczba portów i strona operacyjna przestają być do obrony. Ten artykuł uczciwie wyznacza ten zakres.

Artykuł stanowi uzupełnienie N04 (topologie ze switchami). Warto przeczytać N06 — wyliczenia opóźnień, na których opiera się przewaga rozwiązań bez switcha — oraz K07 — opis pojedynczego węzła bazowego, czyli bloku, który w tym artykule łączymy.

Argumenty za rezygnacją ze switcha

Cztery rzeczy, które zyskuje się za darmo, usuwając switch:

  1. Zerowe opóźnienie switcha. Nowoczesny switch AI Ethernet w trybie cut-through zjada 400–600 ns na przeskok. Switch InfiniBand NDR mieści się poniżej 100 ns. Bezpośredni kabel między kartami sieciowymi dokłada wyłącznie opóźnienie przewodu (~5 ns/m na miedzi, tyle samo na włóknie). W teście ping-pong między dwoma węzłami skraca to opóźnienie w jedną stronę z ~2 µs do ~1.2–1.5 µs.
  2. Zerowy koszt switcha. Bezpośrednie połączenie dwóch węzłów to dwie karty sieciowe i jeden kabel DAC. Trójkąt trzech węzłów to trzy karty i trzy kable DAC. Oszczędność inwestycyjna wobec nawet niewielkiego switcha 100 GbE z optyką QSFP28 to w małej konfiguracji realne pieniądze — 10–30 tys. euro, które wracają do kart GPU.
  3. Brak kłopotów z PFC/ECN. Bezpośrednie łącze między kartami sieciowymi jest połączeniem punkt-punkt — kontrola przepływu to rozmowa dwóch stron, a PFC sprowadza się do „powiedz drugiej stronie, żeby przestała”. Nie ma patologii propagacji pauz w całej tkaninie sieciowej, bo nie ma tkaniny.
  4. Jedna klasa urządzeń do diagnozowania. Gdy coś przestaje działać w sieci bez switcha, lista podejrzanych to dwie karty sieciowe, jeden kabel i sterowniki jądra po obu stronach. To mała, skończona przestrzeń poszukiwań.

Dwa węzły: wystarczy je połączyć

To najczystsza możliwa konfiguracja klastra AI i jedyny przypadek, w którym rezygnacja ze switcha jest jednoznacznie słuszna.

Węzeł A — Kentino AI 256
  • 8× RTX 5090
  • ConnectX-7 OSFP (400 Gb/s)
⇄ 400G DAC (pasywny, ≤3 m)
Węzeł B — Kentino AI 256
  • 8× RTX 5090
  • ConnectX-7 OSFP (400 Gb/s)

Bezpośrednie połączenie dwóch węzłów: jeden pasywny DAC OSFP, bez switcha, opóźnienie RDMA ~0.8–1.2 µs, ~50 GB/s użytecznej przepustowości na kierunek.

Jeden kabel DAC OSFP między dwiema kartami ConnectX-7 przy 400 Gb/s. To cała sieć międzywęzłowa. Te same karty, które w większej konfiguracji patrzyłyby na switch, patrzą tu na siebie nawzajem. Operacje RDMA działają, NCCL wykrywa je automatycznie, GPUDirect RDMA pracuje bez zmian.

Efekt: ~50 GB/s użytecznie na kierunek, surowe opóźnienie RDMA poniżej mikrosekundy (ib_send_lat pokazuje około 0.8–1.2 µs), jeden kabel. Brak problemu agregacji, bo nie ma czego agregować. Brak przesubskrybowania, bo nie ma punktu rozgałęzienia.

Dla pary treningowej z dwóch węzłów — najczęstszej u naszych klientów konfiguracji typu „jedna maszyna już nie wystarcza” — to właściwa odpowiedź. Bez switcha. Połączone bezpośrednio. Zaoszczędzone środki lepiej przeznaczyć na większą warstwę NVMe lub drugi port karty sieciowej dla redundancji.

Praktyczne usprawnienie: warto zastosować dwuportową kartę ConnectX-7 i poprowadzić między maszynami dwa równoległe łącza DAC 200 Gb/s, konfigurując NCCL do korzystania z obu HCA (NCCL_IB_HCA=mlx5_0,mlx5_1). Traci się nieco szczytowej wydajności pojedynczego przepływu, ale zyskuje redundancję ścieżek i nieco lepsze zachowanie przy małych komunikatach dzięki równoległym parom kolejek. W konfiguracjach dwuwęzłowych stosujemy to domyślnie.

Trzy i cztery węzły: trójkąt i K₄

Trzy węzły to najmniejszy przypadek, w którym topologia zaczyna mieć znaczenie. Opcje są następujące:

  • Łańcuch liniowy (A-B-C). Dwa kable. Średnica 2. Węzeł B staje się wąskim gardłem — przechodzi przez niego cały ruch z A do C. Odradzamy.
  • Trójkąt (pełna siatka). Trzy kable. Średnica 1. Każdy węzeł ma dwa porty. Każdy przepływ to jeden przeskok. To właściwa odpowiedź.
Trójkąt (3 węzły, K₃) A B C 3 łącza · 2 porty/węzeł · średnica 1 Pełna siatka K₄ (4 węzły) A B D C 6 łączy · 3 porty/węzeł · średnica 1

Po lewej: trójkąt (K₃) — 3 węzły, 3 kable, średnica 1. Po prawej: pełna siatka K₄ — 4 węzły, 6 kabli, średnica 1. Każda para połączona bezpośrednio.

Przy czterech węzłach robi się ciekawie. Pełna siatka — graf pełny K₄ — ma łącznie sześć łączy, trzy porty na węzeł i średnicę 1. Każdy węzeł osiąga każdy inny dokładnie w jednym przeskoku. Matematyka okablowania wygląda tak:

Węzły Łącza w pełnej siatce Portów na węzeł Średnica
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

Liczba portów na węzeł w pełnej siatce wynosi N-1, dlatego to podejście szybko się załamuje. Przy ośmiu węzłach potrzeba siedmiu portów na maszynę, co jest kresem praktycznych możliwości pojedynczego slotu PCIe Gen5 x16.

Kiedy czterowęzłowa pełna siatka wygrywa z małym switchem? Konkretnie wtedy, gdy w grę wchodzą 4× węzeł Kentino AI 128 do inferencji, które mają być ściśle sprzężone, gdy pracuje się na RoCE i nie chce się PFC przez switch, a dodatkowe 15–25 tys. euro za switch 100 GbE z optyką ma znaczenie w budżecie.

Kiedy mały switch wygrywa nawet przy czterech węzłach? Gdy w kolejnym kwartale może dojść piąty węzeł. Dodanie jednego węzła do siatki K₄ wymaga przekablowania wszystkich istniejących węzłów, aby dołożyć nowe porty. Switch ma wolne porty — wystarczy się wpiąć.

Osiem węzłów: hiperkostka, z zastrzeżeniem

Kostka trójwymiarowa (Q₃) — hiperkostka wymiaru 3 — to podręcznikowy układ bez switcha dla ośmiu węzłów. Każdy węzeł zajmuje jeden narożnik sześcianu, a każda krawędź sześcianu to bezpośrednie łącze. Trzy porty na węzeł, dwanaście łączy łącznie, średnica 3.

000 001 010 011 100 101 110 111 Kostka Q₃: 8 węzłów · 12 łączy · 3 porty/węzeł · średnica 3 Etykiety w kodzie Graya — każda krawędź różni się dokładnie jednym bitem
Parametr Wartość
Węzły 8
Łącza 12
Portów na węzeł 3
Średnica 3
Przepustowość bisekcji 4 łącza

Uczciwa ocena: w produkcji to rzadkość. Działa, a najgorszy przypadek średnicy 3 jest akceptowalny dla większości operacji kolektywnych, ale schemat okablowania bywa naprawdę mylący dla kogoś, kto go nie budował, diagnostyka wymaga zrozumienia etykiet w kodzie Graya, a mały 16-portowy switch 200 GbE mieści się dziś w tym samym przedziale cenowym co dodatkowe porty kart sieciowych i kable. Hiperkostka ośmiowęzłowa jest ciekawsza jako przykład dydaktyczny niż jako rozwiązanie, które dostarczamy. Przy ośmiu węzłach domyślnie rekomendujemy switch.

Pierścień: prymitywny, prosty i zaskakująco aktualny

Zapomnijmy o minimalizowaniu średnicy. Pierścień łączy każdy węzeł tylko z dwoma sąsiadami: A-B-C-D-...-A. Dwa porty na węzeł niezależnie od wielkości klastra. Łącznie N łączy. Średnica N/2.

A B C D H G F E → → → ← ← ← Pierścień 8-węzłowy: 8 łączy · 2 porty/węzeł · średnica 4 · ring-allreduce NCCL odwzorowuje się wprost

Brzmi fatalnie — średnica 4 przy 8 węzłach, średnica 16 przy 32 węzłach. Dlaczego nie zawsze jest to błąd?

Ponieważ ring allreduce w NCCL odwzorowuje się dokładnie na fizyczny pierścień. Algorytm wysyła każdy fragment danych raz dookoła pierścienia w każdej fazie; jeśli topologia fizyczna już jest pierścieniem, algorytm pracuje z prędkością pojedynczego łącza, bez marnowania przepustowości. Domyślnym trybem NCCL dla komunikatów średnich i dużych jest ring, a nie tree, ponieważ pierścień osiąga optymalną granicę przepustowości: 2(N-1)/N × link bandwidth dla allreduce. Średnica topologii fizycznej nie ma znaczenia przy dużych komunikatach — liczy się to, że wszystkie łącza pracują równolegle, a pierścień robi to idealnie.

Pragmatycznie fizyczny pierścień jest właściwym rozwiązaniem bez switcha w przypadku rigów treningowych na 4–8 węzłów, w których każdy węzeł ma już dokładnie dwa porty RDMA. Haczyk: pierścień nie ma redundancji ścieżek. Jeden uszkodzony kabel dzieli klaster na dwie części.

Kiedy rozwiązanie bez switcha wygrywa z małym switchem — w liczbach

Topologia Węzły Łącza Portów/węzeł Średnica Bisekcja (łącza)
Połączenie bezpośrednie 2 1 1 1 1
Trójkąt (K₃) 3 3 2 1 2
Pełna siatka K₄ 4 6 3 1 4
Pierścień 4-węzłowy 4 4 2 2 2
Pierścień 8-węzłowy 8 8 2 4 2
Kostka Q₃ na 8 węzłów 8 12 3 3 4
Q₄ na 16 węzłów 16 32 4 4 8
Gwiazda 8-węzłowa (ze switchem) 8 8 1 2 zależy od switcha

Orientacyjne porównanie cen sieci dla konfiguracji ośmiowęzłowej, połowa 2026 roku (EUR bez VAT):

Podejście Potrzebne karty sieciowe Kable Switch Łączny przedział cenowy
8 węzłów, gwiazda 200 GbE z jednym switchem 8× jednoportowa 200 GbE 8× DAC ~€18–28k €25–35k
Pierścień 8-węzłowy, bez switcha 8× dwuportowa 200 GbE 8× DAC brak €15–22k
Kostka Q₃ na 8 węzłów, bez switcha 8× odpowiednik trójportowej 12× DAC brak €18–26k
Siatka K₄ na 4 węzły, bez switcha 4× odpowiednik trójportowej 6× DAC brak €9–13k
4 węzły, mały switch 100 GbE 4× jednoportowa 100 GbE 4× DAC ~€8–12k €11–16k
2 węzły bezpośrednio 2× jednoportowa 400 GbE 1× DAC brak €3–5k

Punkt, w którym switch zaczyna się zwracać, leży w okolicach 6–8 węzłów, zależnie od klasy przepustowości i planów rozbudowy.

Uplink: element, o którym się zapomina

Sieć danych bez switcha jest wewnętrznie samowystarczalna. Sama z siebie nie jest jednak z niczym połączona. Klaster nadal potrzebuje uplinku do pobierania zbiorów danych i modeli z firmowej pamięci masowej, dostępu SSH ze stacji roboczych programistów, telemetrii do Prometheusa/Grafany, zarządzania IPMI/BMC oraz ruchu do rejestru kontenerów.

Wzorzec A — każdy węzeł ma osobną kartę sieciową do zarządzania. Każdy węzeł ma jeden niewielki port 25 GbE (lub nawet 10 GbE) do taniego switcha zarządzającego, całkowicie niezależnego od sieci RDMA. To niemal zawsze właściwe rozwiązanie. Sieć RDMA to środowisko sterylne, bezstratne i wystrojone; warstwa zarządzania to zwykła sieć Ethernet ze zwykłym ruchem. Ich połączenie sprawia, że ruch zarządzający zakłóca operacje kolektywne.

Wzorzec B — dedykowany węzeł uplinkowy. Jeden węzeł klastra ma dodatkowy port wychodzący na zewnątrz. Pozostałe węzły docierają do świata zewnętrznego, trasując ruch przez ten węzeł. Sprawdza się przy napiętych budżetach i małych instalacjach laboratoryjnych, ale węzeł uplinkowy staje się wąskim gardłem przy odczycie zbiorów danych i pojedynczym punktem awarii dla dostępu zarządzającego.

Twarda ściana przy ~16 węzłach

Powyżej 16 węzłów rozwiązanie bez switcha umiera z trzech niezależnych powodów, z których każdy wystarcza osobno:

  1. Liczba portów na węzeł. Pełna siatka wymaga N-1 portów na węzeł. Hiperkostka wymaga log₂(N). Nawet skalowanie logarytmiczne oznacza, że 16 węzłów potrzebuje 4 portów na węzeł, co jest granicą praktycznej gęstości kart sieciowych w pojedynczym slocie PCIe Gen5 x16. 32 węzły potrzebują 5 portów na węzeł — wiele slotów i wiele rozmieszczeń NUMA do ogarnięcia.
  2. Kombinatoryka okablowania. Pełna siatka na 16 węzłów ma 120 kabli. Hiperkostka Q₄ na 16 węzłów ma 32. Tak czy inaczej liczą się etykiety, dokumentacja i fizyczny dostęp do każdego kabla. Jeden źle wpięty kabel w hiperkostce z 32 kablami zajmuje godziny poszukiwań.
  3. Strona operacyjna. Wymiana uszkodzonej karty sieciowej w sieci bez switcha wymaga zidentyfikowania N-1 (lub log N) kabli, które ją łączyły, i przepięcia każdego z nich do konkretnego portu nowej karty. Różnica w MTTR wobec rozwiązania ze switchem jest realna.

Uczciwe podsumowanie: rezygnacja ze switcha jest słuszna przy 2 do 4 dedykowanych węzłach, do obrony przy 5 do 8 węzłach z jasną deklaracją braku rozbudowy, a błędna przy 9 lub więcej węzłach. Od 9 w górę warto kupić switch.

Dwie konkretne konfiguracje warte opisania

2× Kentino AI 256 Turin Dual, połączone bezpośrednio, 400G. Dwa węzły EPYC Turin z 8 kartami GPU (5090 lub RTX Pro 6000 Blackwell), każdy z jednoportową kartą ConnectX-7 400 GbE / NDR, między nimi jeden pasywny DAC OSFP o długości 3 m. Łączny koszt sprzętu międzywęzłowego: ~4 tys. euro. Busbw allreduce w NCCL przy dużych komunikatach: ~45 GB/s. Nadaje się do dwukierunkowej inferencji tensor-parallel modelu gęstego 405B (warstwy rozdzielone na dwie maszyny) albo do dostrajania modelu 70B, który nie mieści się na jednej maszynie. Warianty tej konfiguracji dostarczaliśmy już kilkakrotnie. Jest nudna, działa i kosztuje o rząd wielkości mniej niż odpowiednik ze switchem.

4× Kentino AI 128 w pełnej siatce K₄, 100G. Cztery jednoprocesorowe węzły EPYC, każdy z 4× RTX Pro 6000 Blackwell. Każdy węzeł ma układ kart sieciowych odpowiadający trzem portom (jedna dwuportowa plus jedna jednoportowa albo jedna czteroportowa z jednym portem nieużywanym), sieć DAC 100 GbE. Łącznie sześć kabli. Przepustowość bisekcji 400 Gb/s. Wykorzystywana do inferencji tensor-parallel modelu klasy 70B z podziałem na 4 części i pełnym przekazywaniem aktywacji między każdą parą. Eliminuje switch jako pojedynczy punkt awarii usługi inferencyjnej, a budżet klienta trafił do kart GPU zamiast do sprzętu sieciowego. Kompromis: konfiguracja jest zamknięta na czterech węzłach, a rozbudowa wymaga przeprojektowania.

Kiedy rozwiązanie bez switcha wygrywa

  • 2 węzły — zawsze bez switcha. Nie ma realnych argumentów za switchem.
  • 3 węzły — trójkąt bez switcha. Trzy kable, każdy węzeł o jeden przeskok. Trywialne.
  • 4 węzły — siatka K₄ bez switcha przy braku planów rozbudowy, w przeciwnym razie mały switch. Oba warianty da się obronić; decyduje założenie co do rozbudowy.
  • 5 do 8 węzłów — zwykle ze switchem. Pierścień jest sensowny przy zadaniach ograniczonych przepustowością, hiperkostka — dla naprawdę zdeterminowanych. Oba warianty trudniej obronić niż zwykły zakup 16-portowego switcha.
  • 9 lub więcej węzłów — ze switchem. Zawsze. Powyżej tej granicy rezygnacja ze switcha to błąd przebrany za oszczędność.

Przy doborze małego klastra AI, gdy pozycja ze switchem boleśnie obciąża kosztorys:

  1. Policzyć węzły, które są faktycznie potrzebne. Nie „na najbliższe pięć lat”. Na ten rok i następny. Jeśli uczciwa odpowiedź to 2–4, droga bez switcha jest realna i warta wyceny.
  2. Rozrysować układ kart sieciowych. Dwuportowa ConnectX-7 200 Gb/s QSFP112 to najczęstszy element połączeń bezpośrednich w naszych konfiguracjach z 2026 roku. Czteroportowa SFP56 to opcja przy większej liczbie węzłów i niższej prędkości na port.
  3. Określić nastawienie do rozbudowy. Jeśli istnieje realna szansa przekroczenia 8 węzłów, lepiej od razu kupić mały switch. Późniejsze przekablowanie siatki jest naprawdę bolesne.
  4. Zaplanować warstwę zarządzania osobno. Sieć danych bez switcha, warstwa zarządzania ze switchem na tanim 10 GbE. Nie należy sprowadzać ich do jednego zestawu kabli.
  5. Uruchomić nccl-tests na zbudowanej topologii, zanim ogłosimy sukces. Wynik NCCL_DEBUG=INFO pokazuje, których łączy fizycznych NCCL faktycznie używa; warto porównać go ze schematem.
  6. Udokumentować okablowanie. Zdjęcia, etykiety portów, jednostronicowy schemat w szafie rack. Przy pierwszej awarii karty sieciowej o 02:00 okaże się to bezcenne.

Dalsza lektura: N04 — alternatywa ze switchem; N06 — analiza opóźnień uzasadniająca przewagę rozwiązań bez switcha; N02 — wybór między InfiniBand a RoCE, przesądzający o doborze kart sieciowych; oraz K07 — węzeł bazowy, który to wszystko spina.


To część Kentino Wiki, serii materiałów referencyjnych o obliczeniach AI, robotyce i systemach, które je łączą. Komentarze i sprostowania prosimy kierować na adres info@kentino.com.