Kahe DGX Sparki ühendamine: QSFP, SSH, RoCE ja Cluster Assistant
Ekspert8 min lugemistPrivaatne ja lokaalne AI

Kahe DGX Sparki ühendamine: QSFP, SSH, RoCE ja Cluster Assistant

Praktiline juhend kahe NVIDIA DGX Sparki ühendamiseks QSFP ja ConnectX-7 kaudu: sama kasutajanimi, SSH-võtmega autentimine, RoCE hajustööde jaoks, NVIDIA Sync Cluster Assistant ja tagasipööramisplaan.

Mida oskad pärast teha

Kaks Sparki moodustavad väikese klastri alles siis, kui QSFP-ühendus, ConnectX-7 IP-aadressid, ühesugused kasutajanimed ja SSH-võtmega autentimine on õigesti seadistatud. Cluster Assistant saab toetatud topoloogiate seadistamist automatiseerida, kuid tagasipööramisplaani on endiselt vaja.

Salvestatakse ainult selles brauseris.
Selles artiklis

Üks DGX Spark on võimekas ühe sõlmega inferentsiserver. Kaks ConnectX-7 kaudu ühendatud Sparki võimaldavad käitada mudeleid ja agenttöökoormusi, mis ei mahu ühe seadme 128 GB koherentsesse mällu, ning jaotada tensorparalleelset inferentsi mitme sõlme vahel.

See artikkel järgib NVIDIA ametlikku klastrilahendust ja connect-two-sparks tegevusjuhendit. Enne seadmete ühendamist kontrolli alati ka kehtivat tootjadokumentatsiooni.

Peamised allikad (alusta siit):

Võrgu ümberseadistamine võib sõlme isoleerida või haldusjuurdepääsu katkestada. Enne ConnectX-7 netplan-seadistuse muutmist veendu, et 10 GbE haldusliidese kaudu on olemas toimiv SSH-ühendus. Kasuta heakskiidetud QSFP-kaableid; ära suru valepidi pistikut porti, sest NVIDIA dokumentatsiooni järgi võib see porti kahjustada.

Mida sa ehitad

Üldjoontes tuleb teha järgmist:

  1. Ühenda kaks seadet QSFP-kaabliga ConnectX-7 portide kaudu (200 Gbit/s ühendus; kaabel peab toetama vähemalt 200 Gbit/s).
  2. Määra IP-d Linuxi Etherneti liidestele, mis selle pordi jaoks ilmuvad (iga QSFP-port kaardistub kahele loogilisele liidesele).
  3. Kasuta sama kasutajanime mõlemal süsteemil.
  4. Seadista sõlmede vahel SSH-võtmega autentimine.
  5. Käita hajustöid kiire ühenduse kaudu (NCCL-i ja RoCE liiklus mitme sõlmega inferentsi- või treeninglahenduste jaoks).

NVIDIA tegevusjuhend avaldab oma aja- ja riskihinnangud. Käsitle neid tootja kavandamisabina, mitte lubadusena sinu keskkonna kohta. Loe kehtiv README enne muudatust uuesti läbi, sest liidesejuhised ja eeltingimused võivad muutuda.

Eeldused

Ametliku tegevusjuhendi järgi:

NõueMiks
Kaks DGX Sparki süsteemiMõlemas peab olema toetatud ja ajakohane DGX OS
Üks QSFP-kaabel (otseühendus 200GbE)NVIDIA dokumenteerib kogu ribalaiuse ühe kaabliga; teine kaabel ei ole dokumenteeritud läbilaskevõime kasv
SSH-juurdepääs ja sudo-õigus mõlemasSeadistamiseks ja võtmete jagamiseks
Sama kasutajanimi mõlemas süsteemisTegevusjuhend ja tuvastusskriptid eeldavad ühesugust kasutajanime

Valikuline, kuid kasulik: teine inimene, kes jälgib haldus-SSH seansse, ning talletatud muudatuseelne ip addr ja ibdev2netdev väljund.

Tee A: NVIDIA Sync Cluster Assistant

Kui soovid netplan-seadistusi vähem käsitsi muuta, pakub NVIDIA juhendatud lahendusena NVIDIA Sync Cluster Assistanti:

  • Toetatud topoloogiate automaatne tuvastamine ja võrgu seadistamine.
  • Rakendab ConnectX-7 seadeid, kontrollib lingi jõudlust ja seadistab SSH-d sõlmede vahel.
  • Toetab kuni kolme otse kaablitega ühendatud Sparki ja kuni nelja Sparki võrgulüliti kasutamisel (NVIDIA Synci ja klastridokumentatsiooni järgi).

Paigalda Sync sülearvutisse, lisa Sparkid ja kasuta YAML-failide käsitsi muutmise asemel Cluster Assistanti, kui sinu topoloogia on toetatud. Kaabelduse, portide asetuse ja liidesenimede kohta loe endiselt ConnectX-7 võrgujuhendit. Cluster Assistant vähendab käsitööd, kuid ei asenda õigeid kaableid ega tagasipööramisplaani.

Tee B: käsitsi seadistamine tegevusjuhendi järgi

1. Sama kasutajanimi

whoami

Kui kasutajanimed erinevad, loo mõlemas süsteemis sama nimega kasutaja (NVIDIA näites nvidia), anna talle sudo-õigus ja jätka selle kasutajana. Hajustööde juhendid ja SSH-võtmete skriptid eeldavad mõlemas sõlmes ühesugust kasutajanime.

2. Füüsiline QSFP-ühendus

  • Ühenda üks QSFP-kaabel kahe Sparki vahel.
  • Kasuta mõlemas seadmes eelistatavalt sama füüsilise asetusega porti, kui järgid NCCL-i tegevusjuhendeid; NVIDIA soovitab testiprobleemide vältimiseks kasutada samu pordiasendeid.
  • Hoia tõmbesakk ülespoole ja sisesta pistik lõpuni jõudu kasutamata.
  • Kontrolli ühenduse olekut käsuga ibdev2netdev; asjaomaste liideste olek peab olema Up.

Iga füüsiline QSFP-port kuvatakse Linuxis kahe Etherneti liidesena koos vastavate RoCE-seadmetega. NVIDIA tegevusjuhendi näidisnimed on ühe füüsilise pordi puhul näiteks enp1s0f1np1 ja enP2p1s0f1np1. Sinu liidesenimed võivad erineda, seega lähtu oma seadmete ibdev2netdev väljundist.

NVIDIA klastridokumentatsiooni järgi on Sparki QSFP-pordid seadistatud Etherneti jaoks. Kasuta kaableid, mille NVIDIA on tunnistanud sobivaks vähemalt 200 Gbit/s ühendusele. Suurema nimikiirusega kaabel ei tõsta pordi 200 Gbit/s ülempiiri.

3. IP-konfiguratsioon

Tegevusjuhend pakub kahte varianti:

  • Variant 1 — netplan (/etc/netplan/40-cx7.yaml): seadistus säilib pärast taaskäivitust; chmod 600; sudo netplan apply.
  • Variant 2 — ip addr add: kiirem katsetamiseks; IP-aadressid kaovad pärast taaskäivitust.

Tegevusjuhendi aadressinäide (asenda liidesenimed oma aktiivsete liideste nimedega):

SõlmLiides ALiides B
Sõlm 1192.168.100.10/24192.168.101.10/24
Sõlm 2192.168.100.11/24192.168.101.11/24

Mõlemad ülaltoodud aadressid kuuluvad sama kaabeldatud pordi kahele loogilisele liidesele, seega kasutab ühe kaabliga ühendus juba kahte alamvõrku. NVIDIA tegevusjuhendi järgi saab kogu ribalaiust kasutada juba ühe QSFP-kaabliga ning NVIDIA enda kahe Sparki jõudluse mõõtmise juhend mõõdab RoCE ribalaiust ühe kaabli kaudu ja liidab selle pordi kaks ühendust kokku ligikaudu 190 Gbit/s peale, mis on pordi 200 Gbit/s ülempiir. Ainus, mida tegevusjuhend teise kaabli kohta ütleb, on seadistusnõue: kui ühendatud on kaks kaablit, tuleb kogu ribalaiuse saamiseks anda IP-aadress kõigile neljale liidesele. NVIDIA ei dokumenteeri teist kaablit samade kahe süsteemi vahel läbilaskevõime kasvuna, seega planeeri teine kaabel topoloogia jaoks, näiteks kolmanda sõlme või kommutaatoriga võrgu jaoks, mitte sama paari lisaribalaiusena.

Kontrolli ip addr show <iface> mõlemal sõlmel enne SSH silumist.

4. Paroolita SSH

Automaatselt: käivita ühes sõlmes tegevusjuhendi skript discover-sparks, et leida teine Spark ja jagada võtmed. Skript võib küsida algseadistamisel paroole.

Käsitsi: ssh-copy-id oma avalik võti mõlema sõlme ConnectX-7 IP-dele jagatud kasutajanimega.

Kontrolli:

ssh <node1-cx7-ip> hostname
ssh <node2-cx7-ip> hostname

5. Hajutatud töökoormused ja RoCE

SSH-võtmega autentimine ja L3-taseme ühenduvus loovad aluse. Mitme sõlmega inferentsi- ja treeninglahendused kasutavad seejärel kollektiivoperatsioonideks ConnectX-7 ja RoCE ühendust (NCCL või muu samalaadne lahendus). Wi-Fi 7 ega 10 GbE RJ-45 port ei asenda seda kiiret andmesideühendust.

Järgmised sammud on tavaliselt kirjeldatud teistes tegevusjuhendites, näiteks mitme sõlmega vLLM-i, NCCL-i testide ja konkreetsete mudelite juhendites. Kontrolli kollektiivoperatsioone oma tarkvaraversioonile vastavate NVIDIA NCCL-i ja klastri kontrollidega enne, kui hakkad viga otsima mudeliserverist.

Liidesenimede lõks (loe enne YAML-i trükkimist)

NVIDIA klastrijuhend selgitab, miks Sparki ConnectX-7 ülesehitus võib olla eksitav, kui oled harjunud seosega „üks võrguadapter = üks eth0“:

  • Igal QSFP-pordil on kaks PCIe teed SoC-sse.
  • Linux kuvab seetõttu iga füüsilise pordi kohta kaks Etherneti liidest ja vastavad RoCE-seadmed.
  • Tegevusjuhendi näited (enp1s0f1np1, enP2p1s0f1np1, …) on üksnes illustratiivsed. Leia pärast kaabli ühendamist alati käsu ibdev2netdev abil oma seadmete liidesepaar.

Kui netplan viitab mitteaktiivsetele liidestele ja aktiivne liidesepaar jääb kasutamata, võid kaua otsida olematut kaabliriket. Hoia klastridokumentatsiooni vastavustabel esmase seadistamise ajal terminali kõrval.

Turvamärkmed CX7 alamvõrgule

Käsitle ConnectX-7 ühendust kui usaldatud andmesidevõrku, mitte külalis-Wi-Fi-d:

  • Ära silda seda juhuslikult ettevõtte kasutaja VLAN-ile.
  • Piira, millised protsessid kuulavad neil IP-aadressidel RPC-, NCCL- ja inferentsiteenuse porte.
  • Pea meeles, et SSH-võtmega juurdepääs võimaldab ühe sõlme murdmise korral ründel kiiresti teise sõlme levida. Kaitse seetõttu nii füüsilist juurdepääsu kui ka operatsioonisüsteemi kontosid.
  • Dokumenteeri administraatorite SSH-juurdepääs eraldi haldusühenduse kaudu, et CX7 rike ei lukustaks sind mõlemast seadmest välja.

Riskid, kontrollimine ja tagasipööramine

RiskMiks see loebKontroll
Netplanis on vale liidesÜhendus puudub või marsruutimine ei töötaTalleta ibdev2netdev väljund enne muudatusi; kahtluse korral muuda üht sõlme korraga
Haldusjuurdepääsu kaotusSeadistasid ainult CX7 ja kaotasid 10 GbE SSH-ühenduseHoia Synci kasutav sülearvuti või muu haldusühendus töös
Erinevad kasutajanimedSSH ja skriptid tõrguvad raskesti mõistetaval viisilÜhtlusta esmalt kasutajanimed
RoCE kontroll jäeti vaheleInferents kasutab aeglast võrguadapteritKinnita liiklus CX7 kaudu; käita NCCL-i ja ühenduse kontrolle
Tagasipööramisjuhend puudubKatkestus kestab kauemSäilita muudatuseelne YAML ja ip addr väljund

Tagasipööramise kavandamine (kohanda NVIDIA tegevusjuhend oma seadmetele):

  • Enne muutmist kontrolli, kas /etc/netplan/40-cx7.yaml on juba olemas ja kas mõni muu netplan-fail seadistab samu liideseid. Varunda asjakohased failid ning talleta nende kontrollsummad, omanikud ja õigused.
  • Ära kustuta olemasolevat faili pimesi. Taasta täpselt muudatuseelsed failid, käivita sudo netplan generate, kontrolli loodud seadistust ja rakenda see toimiva haldusühenduse kaudu.
  • Ajutiste aadresside puhul eemalda üksnes selle muudatuse käigus lisatud aadressid ning kontrolli seejärel marsruute ja ühenduse olekut.
  • Hoia konsool või sõltumatu haldusühendus kättesaadav, kuni mõlemad sõlmed läbivad tagasipööramisjärgse SSH- ja marsruutimiskontrolli.

Tagasipööramine lähtestab klastri võrgu. Kui keegi sõltub mitme sõlmega teenusest, tee seda kavandatud hooldusaknas. Enne seadistusfailide kustutamist kinnita, et haldus-SSH töötab endiselt.

Tõrkeotsingu kiirtabel

NVIDIA tegevusjuhendis kirjeldatud sümptomite põhjal:

SümptomTõenäoline põhjusParandussuund
Võrguühendus puudubLiidesed on seadistamata või netplan rakendamataKontrolli YAML-faili, liidesenimesid ja käsu netplan apply tulemust
SSH-autentimine ebaõnnestubVõtmed on jagamataKäivita uuesti discover-sparks või kasuta käsitsi ssh-copy-id
Teist sõlme ei leitaKaabli, pordi või IP-aadressi lahknevusÜhenda QSFP-kaabel uuesti; kontrolli aktiivseid liideseid ja alamvõrke
NCCL-i hajustöö seiskubVale võrguadapter, tulemüür või SSH/MPI seadistusKontrolli juhendis CX7 IP-aadresse ja RoCE-seadmeid

Ära tee seda veel

  • Ära käivita tootmises tensorparalleelset mudelit enne, kui SSH- ja ühendusekontrollid on läbitud.
  • Ära kasuta läbisegi ajutisi IP-aadresse ja unustatud netplan-faile, mis pärast taaskäivitust uuesti rakenduvad.
  • Ära tee CX7 alamvõrku usaldamatutele võrkudele kättesaadavaks.
  • Ära suru QSFP-pistikuid jõuga porti ega kasuta suvalisi DAC-kaableid enne, kui oled kasutusjuhendist kontrollinud nende kiirust ja ühilduvust.

Minimaalne vastuvõtutest

Enne agentide suunamist mitme sõlmega inferentsiteenusele kontrolli järgmist:

  1. Mõlemad sõlmed vastavad CX7 alamvõrgus pingile.
  2. SSH-võtmega autentimine töötab sama kasutajana mõlemas suunas.
  3. Dokumenteeritud NCCL-i või tegevusjuhendi ühendusekontroll on läbitud.
  4. Inferentsiteenuse seadistus kasutab sõlmede loendis CX7 aadresse, mitte Wi-Fi IP-aadresse.
  5. Täpsed varundus- ja taastamissammud on hooldusaknas läbi proovitud, kaotamata haldusühendust.

Kahe Sparki ühendamine heakskiidetud QSFP-lahendusega on NVIDIA dokumenteeritud võrgumuster. Selles artiklis kirjeldatud seadistus- ja tagasipööramiskäsud järgivad tootja dokumentatsiooni; need ei ole kinnitatud tulemus sinu riistvara, kaabelduse ega tarkvaraversioonide kohta. Käsitle iga uut kiire andmesidevõrgu kasutuselevõttu kontrollitud võrgumuudatusena, kogu oma vastuvõtutõendid ning arvesta kohaliku inferentsi tegelike piiridega alles pärast ühenduse kontrollide läbimist.

Järgmisena loe

Jätka sama õpiteekonda järgmiste praktiliste artiklitega.