Yhdistä kaksi DGX Sparkia: QSFP, SSH, RoCE ja Cluster Assistant
Edistynyt8 min lukemistaYksityinen / paikallinen tekoäly

Yhdistä kaksi DGX Sparkia: QSFP, SSH, RoCE ja Cluster Assistant

Käytännön opas kahden NVIDIA DGX Spark -laitteen yhdistämiseen QSFP:n ja ConnectX-7:n avulla: sama käyttäjänimi, salasanaton SSH, hajautettujen työkuormien RoCE-yhteys, NVIDIA Sync Cluster Assistant ja turvallinen palautus.

Mitä sinun pitäisi osata

Kaksi Sparkia muodostaa pienen klusterin vasta, kun QSFP-yhteys, oikeat ConnectX-7-IP-osoitteet, samat käyttäjänimet ja salasanaton SSH toimivat. Cluster Assistant voi automatisoida tuettuja verkkotopologioita, mutta tarvitset silti palautussuunnitelman.

Tallennettu vain tällä selaimella.
Tässä artikkelissa

Yksi DGX Spark on tehokas yhden solmun inferenssipalvelin. NVIDIAn suunnittelema tapa siirtyä malleihin ja agenttityökuormiin, jotka eivät mahdu yhteen 128 Gt:n koherenttiin muistialtaaseen tai edellyttävät tensoririnnakkaista mallipalvelua solmujen välillä, on yhdistää kaksi Sparkia ConnectX-7-yhteydellä.

Artikkeli perustuu NVIDIAn viralliseen klusterointimalliin ja connect-two-sparks-ohjeeseen. Tarkista silti ajantasainen dokumentaatio sinä päivänä, kun yhdistät laitteet.

Ensisijaiset lähteet (aloita tästä):

Verkon määritysten muuttaminen voi eristää solmun tai katkaista hallintayhteyden. Varmista toimiva SSH-yhteys 10 GbE:n tai muun hallintaliitännän kautta ennen ConnectX-7:n netplan-määritysten muuttamista. Käytä hyväksyttyjä QSFP-kaapeleita. Älä työnnä väärin päin olevaa liitintä väkisin porttiin, sillä NVIDIAn mukaan se voi vaurioittaa porttia.

Mitä rakennat

Kokonaisuus etenee näin:

  1. Yhdistä laitteiden ConnectX-7-portit fyysisesti QSFP-kaapelilla. Yhteys on 200 Gbps -luokkaa, joten kaapelin on tuettava vähintään 200 Gb/s.
  2. Määritä IP-osoitteet porttia vastaaville Linuxin Ethernet-verkkoliitännöille. Jokainen QSFP-portti näkyy järjestelmässä kahtena loogisena verkkoliitäntänä.
  3. Käytä samaa käyttäjänimeä molemmissa järjestelmissä.
  4. Ota käyttöön salasanaton SSH solmujen välillä.
  5. Aja hajautetut työkuormat nopeaa yhteyttä pitkin. Monisolmuinferenssin ja hajautetun koulutuksen ohjeet käyttävät NCCL- ja RoCE-liikennettä.

NVIDIAn ohje sisältää omat aika- ja riskiarvionsa. Käsittele niitä valmistajan suunnittelutietoina, älä lupauksena omalle ympäristöllesi. Lue ajantasainen README uudelleen ennen muutosta, koska verkkoliitäntöjä ja edellytyksiä koskevat ohjeet voivat muuttua.

Edellytykset

Virallisen ohjeen edellytykset ovat seuraavat:

VaatimusMiksi
Kaksi DGX Spark -järjestelmääMolemmissa on oltava ajantasainen DGX OS
Yksi QSFP-kaapeli (suora 200GbE)NVIDIA dokumentoi täyden kaistanleveyden yhdellä kaapelilla; toinen kaapeli ei ole dokumentoitu siirtonopeuden lisäys
SSH-yhteys ja sudo-oikeus molempiinMääritysten tekeminen ja avainten jakaminen
Sama käyttäjänimi molemmissaOhje ja laitteiden etsintäkomentosarjat olettavat, että käyttäjätunnukset täsmäävät

Hyödyllisiä lisävarotoimia ovat toinen henkilö seuraamassa hallinnan SSH-istuntoja sekä kirjallinen tallenne ennen muutosta otetuista ip addr- ja ibdev2netdev-tulosteista.

Vaihtoehto A: NVIDIA Sync Cluster Assistant

Jos haluat välttää osan netplan-määritysten käsin tekemisestä, NVIDIA tarjoaa ohjatuksi vaihtoehdoksi NVIDIA Sync Cluster Assistantin:

  • Tuettujen verkkotopologioiden automaattinen tunnistus ja verkon luominen.
  • Työkalu ottaa ConnectX-7-asetukset käyttöön, tarkistaa yhteyden suorituskyvyn ja määrittää SSH-yhteyden solmujen välille.
  • Tukee jopa kolmea Sparkia suoraan kaapeleilla yhdistettynä ja jopa neljää kytkintä käytettäessä (NVIDIAn Sync- / klusterointidokumenttien mukaan).

Asenna Sync kannettavalle tietokoneelle, lisää Sparkit ja käytä Cluster Assistantia YAML-tiedostojen käsin muokkaamisen sijaan, jos verkkotopologiasi on tuettu. Lue silti ConnectX-7-verkon ohje, jossa kuvataan fyysisen kaapeloinnin säännöt, vasemman ja oikean portin suunta sekä verkkoliitäntöjen nimeämisen tausta. Cluster Assistant vähentää käsin kirjoittamista, mutta oikeat kaapelit ja palautussuunnitelma tarvitaan edelleen.

Vaihtoehto B: manuaalinen connect-two-sparks-ohje

1. Sama käyttäjänimi

whoami

Jos käyttäjänimet eroavat, luo molempiin järjestelmiin sama käyttäjä. Ohjeen esimerkissä käyttäjänimi on nvidia. Anna käyttäjälle sudo-oikeus ja jatka sillä tunnuksella, sillä hajautettujen työkuormien ohjeet ja SSH-avainkomentosarjat olettavat nimien täsmäävän.

2. Fyysinen QSFP-yhteys

  • Kytke yksi QSFP-kaapeli kahden Sparkin väliin.
  • Käytä mieluiten samaa fyysistä porttipaikkaa molemmissa laitteissa, kun noudatat NCCL-ohjeita. NVIDIA suosittelee porttien yhdenmukaisuutta testiongelmien välttämiseksi.
  • Suuntaa vetoliuska ylöspäin ja työnnä liitin pohjaan ilman voimaa.
  • Tarkista yhteyden tila komennolla ibdev2netdev. Käytössä olevien verkkoliitäntöjen pitäisi näkyä tilassa Up.

Jokainen fyysinen QSFP-portti näkyy kahtena Linuxin Ethernet-verkkoliitäntänä ja vastaavina RoCE-laitteina. NVIDIAn ohjeessa saman fyysisen portin esimerkkinimiä ovat enp1s0f1np1 ja enP2p1s0f1np1. Omien laitteidesi nimet voivat poiketa näistä, joten käytä niiden omaa ibdev2netdev-tulostetta.

NVIDIAn klusterointiohjeessa Sparkin QSFP-portit on määritetty Ethernet-käyttöön. Käytä kaapeleita, jotka NVIDIA ilmoittaa vähintään 200 Gb/s -nopeudelle sopiviksi. Nopeampi kaapeli ei nosta portin 200 Gb/s -enimmäisnopeutta.

3. IP-osoitteiden määritys

Ohjeessa on kaksi vaihtoehtoa:

  • Vaihtoehto 1, netplan (/etc/netplan/40-cx7.yaml): määritys säilyy uudelleenkäynnistyksessä; chmod 600; sudo netplan apply.
  • Vaihtoehto 2, ip addr add: nopeampi kokeilla, mutta IP-osoitteet eivät säily uudelleenkäynnistyksessä.

Ohjeen esimerkkiosoitteet ovat seuraavat. Vaihda verkkoliitäntöjen nimet vastaamaan omia Up-tilassa olevia liitäntöjäsi.

SolmuRajapinta ARajapinta B
Solmu 1192.168.100.10/24192.168.101.10/24
Solmu 2192.168.100.11/24192.168.101.11/24

Molemmat yllä olevat osoitteet kuuluvat saman kaapeloidun portin kahdelle loogiselle verkkoliitännälle, joten yhden kaapelin yhteys käyttää jo kahta aliverkkoa. NVIDIAn ohjeen mukaan täysi kaistanleveys voidaan saavuttaa jo yhdellä QSFP-kaapelilla, ja NVIDIAn oma kahden Sparkin suorituskyvyn mittausohje mittaa RoCE-kaistanleveyden yhden kaapelin yli ja laskee portin kaksi yhteyttä yhteen noin 190 Gb/s:iin eli portin 200 Gb/s:n ylärajaan. Ainoa asia, jonka ohje sanoo toisesta kaapelista, on määritysvaatimus: jos kytkettynä on kaksi kaapelia, kaikille neljälle verkkoliitännälle on annettava IP-osoite täyden kaistanleveyden saavuttamiseksi. NVIDIA ei dokumentoi toista kaapelia samojen kahden järjestelmän välillä siirtonopeuden lisäyksenä, joten suunnittele toinen kaapeli topologiaa varten, esimerkiksi kolmatta solmua tai kytkimellistä verkkoa varten, älä saman parin lisäkaistanleveydeksi.

Tarkista komennolla ip addr show <iface> molempien solmujen osoitteet ennen SSH-yhteyden vianetsintää.

4. Salasanaton SSH

Automaattinen tapa: suorita ohjeen discover-sparks-komentosarja yhdellä solmulla. Se etsii muut solmut ja jakaa avaimet. Salasana voidaan kysyä kerran.

Manuaalinen tapa: kopioi julkinen avaimesi komennolla ssh-copy-id molempien solmujen ConnectX-7-IP-osoitteisiin käyttäen samaa käyttäjänimeä.

Varmista:

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

5. Hajautetut työkuormat ja RoCE

Salasanaton SSH ja toimiva L3-yhteys muodostavat perustan. Monisolmuinferenssin ja hajautetun koulutuksen ohjeet käyttävät sen jälkeen ConnectX-7:n ja RoCE:n yhteyttä kollektiiviseen viestintään NCCL:n tai vastaavan kirjaston kautta. Wi-Fi 7 tai 10 GbE:n RJ-45-portti ei korvaa tätä nopeaa verkkoyhteyttä.

Yhteyden muodostamisen jälkeiset vaiheet löytyvät tavallisesti muista ohjeista, kuten vLLM:n monisolmuasetuksista, NCCL-testeistä ja mallikohtaisista kokoonpanoista. Tarkista kollektiivinen viestintä ohjelmistoversiollesi tarkoitetuilla NVIDIAn NCCL- ja klusterointitesteillä ennen kuin alat etsiä vikaa mallipalvelimesta.

Rajapintojen nimeämisen sudenkuoppa (lue ennen YAML:n kirjoittamista)

NVIDIAn klusterointiohje selittää, miksi Sparkin ConnectX-7-rakenne hämmentää käyttäjiä, jotka ovat tottuneet siihen, että yksi verkkokortti vastaa yhtä eth0-liitäntää:

  • Jokaisella QSFP-portilla on kaksi PCIe-polkua SoC:hen.
  • Linux näyttää siksi kaksi Ethernet-verkkoliitäntää kutakin fyysistä porttia kohti sekä vastaavat RoCE-laitteet.
  • Ohjeen nimet (enp1s0f1np1, enP2p1s0f1np1, …) ovat esimerkkejä. Selvitä omien laitteidesi vastaavuudet ibdev2netdev-tulosteesta sen jälkeen, kun kaapeli on kytketty.

Jos netplan viittaa Down-tilassa oleviin verkkoliitäntöihin ja Up-tilassa oleva pari jää käyttämättä, ongelma voi näyttää virheellisesti kaapelivialta. Pidä ensimmäisen käyttöönoton aikana klusterointiohjeen vastaavuustaulukko helposti nähtävillä.

Tietoturvahuomiot CX7:n aliverkolle

Käsittele ConnectX-7-yhteyttä luotettuna klusteriverkkona, älä vierailijoiden langattomana verkkona:

  • Älä yhdistä sitä harkitsematta yritysverkon käyttäjä-VLAN-verkkoon.
  • Rajoita prosessit, jotka saavat kuunnella RPC-, NCCL- tai inferenssiportteja näissä IP-osoitteissa.
  • Salasanaton SSH solmujen välillä helpottaa sivuttaista etenemistä, jos toinen laite murretaan. Suojaa fyysinen pääsy ja käyttöjärjestelmän käyttäjätilit tämän mukaisesti.
  • Pidä hallinta ja ihmisten SSH-yhteydet dokumentoidussa hallintaverkossa, jotta CX7:n virhe ei katkaise kaikkia yhteyksiä.

Riskit, tarkistus ja palautus

RiskiMiksi se on tärkeääHallintakeino
Väärä verkkoliitäntä netplanissaYhteys ei muodostu tai reititys rikkoutuuTallenna ibdev2netdev ennen muutoksia; muuta epävarmassa tilanteessa yhtä päätä kerrallaan
Hallintayhteyden menetysMääritit vain CX7:n ja menetit 10 GbE:n SSH-yhteydenPidä kannettavan Sync-yhteys tai muu hallintayhteys avoinna
Eri käyttäjänimetSSH ja komentosarjat epäonnistuvat vaikeasti tulkittavalla tavallaYhtenäistä käyttäjänimet ensin
RoCE-tarkistuksen ohittaminenInferenssi toimii hitaasti väärän verkkokortin kauttaVarmista liikenne CX7:n kautta; suorita NCCL- ja yhteystestit
Palautusohje puuttuuKatkos pitkittyySäilytä ennen muutosta käytetyt YAML-tiedostot ja ip addr-tulosteet

Palautuksen suunnittelu: sovita NVIDIAn ohje omaan palvelimeesi.

  • Selvitä ennen muokkausta, onko /etc/netplan/40-cx7.yaml jo olemassa ja määrittääkö jokin muu netplan-tiedosto samoja verkkoliitäntöjä. Ota varmuuskopiot kyseisistä tiedostoista ja kirjaa muistiin tiivisteet, omistajat ja käyttöoikeudet.
  • Älä poista jo olemassa olevaa tiedostoa sokkona. Palauta täsmälleen muutosta edeltäneet tiedostot, aja sudo netplan generate, tarkasta syntynyt tulos ja ota se sitten käyttöön tunnetusti toimivaa hallintapolkua pitkin.
  • Tilapäisten osoitteiden kohdalla poista vain ne osoitteet, jotka tässä muutoksessa nimenomaisesti lisättiin, ja tarkista syntyvät reitit sekä yhteyden tila.
  • Säilytä konsoli- tai muu riippumaton hallintayhteys, kunnes molemmat solmut läpäisevät palautuksen jälkeiset SSH- ja reititystarkistukset.

Palautus poistaa klusteriverkon määritykset. Jos jokin työkuorma käyttää monisolmupäätepistettä, tee palautus hallitussa muutosikkunassa. Varmista hallinnan SSH-yhteys ennen määritysten poistamista.

Vianetsinnän pikataulukko

Taulukko perustuu NVIDIAn ohjeessa kuvattuihin oireisiin.

OireTodennäköinen syyKorjauksen suunta
Verkkoon ei saada yhteyttäVerkkoliitäntöjä ei ole määritetty tai netplan-määritystä ei ole otettu käyttöönTarkista YAML, verkkoliitäntöjen nimet ja netplan apply
SSH-tunnistautuminen epäonnistuuAvaimia ei ole jaettuSuorita discover-sparks uudelleen tai käytä manuaalisesti komentoa ssh-copy-id
Toinen solmu ei näyKaapeli, portti tai IP-osoite ei täsmääKytke QSFP uudelleen; tarkista Up-tilassa olevat verkkoliitännät ja aliverkot
NCCL tai hajautettu ajo jumittuuVäärä verkkokortti, palomuuri tai SSH/MPI-määritysTarkista ohjeen CX7:n IP-osoitteet ja RoCE-laitteet

Älä tee tätä vielä

  • Älä käynnistä tuotantoon tarkoitettua tensoririnnakkaista mallia ennen kuin SSH- ja yhteystestit läpäisevät tarkistukset.
  • Älä sekoita tilapäisiä IP-osoitteita unohdettuihin netplan-tiedostoihin uudelleenkäynnistysten välillä.
  • Älä altista CX7:n aliverkkoa epäluotettaville verkoille.
  • Älä työnnä QSFP-liittimiä väkisin äläkä käytä satunnaisia DAC-kaapeleita tarkistamatta käyttöoppaan nopeus- ja yhteensopivuustietoja.

Vähimmäishyväksyntätesti

Ennen kuin osoitat agentteja monisolmupäätepisteeseen:

  1. Molemmat solmut vastaavat ping-pyyntöihin CX7:n aliverkossa.
  2. Salasanaton SSH toimii molempiin suuntiin samalla käyttäjällä.
  3. Dokumentoitu NCCL- tai ohjeen yhteystesti onnistuu.
  4. Mallipalveluohjeen solmulista käyttää CX7:n osoitteita eikä Wi-Fi-verkon IP-osoitteita.
  5. Varmuuskopiointi- ja palautusvaiheet on testattu täsmällisesti huoltoikkunassa hallintayhteyttä menettämättä.

Kaksi Sparkia ja hyväksytty QSFP-yhteys muodostavat NVIDIAn dokumentoiman kokoonpanon. Artikkelin käyttöönotto- ja palautuskomennot perustuvat valmistajan dokumentaatioon, mutta ne eivät ole sertifioitu tulos sinun laitteillesi, kaapeleillesi tai ohjelmistoversioillesi. Käsittele uuden klusteriverkon käyttöönottoa muutoshallittuna verkkomuutoksena, tallenna omat hyväksyntätodisteesi ja huomioi paikallisen inferenssin käytännön rajoitukset vasta, kun verkkoyhteys on läpäissyt nämä testit.

Lue seuraava

Jatka samaa oppimisreittiä seuraavilla käytännön artikkeleilla.