Mini ITX Cluster Turing Pi 2 32 Gt RAM-muistilla

Mini ITX Cluster Turing Pi 2 32 Gt RAM-muistilla

Terveisiä Habr-yhteisölle! Kirjoitin äskettäin ensimmäisestä klusterilevystämme [V1]. Ja tänään haluan kertoa teille, kuinka työskentelimme version parissa Turing V2 32 Gt:lla RAM-muisti.

Pidämme minipalvelimista, joita voidaan käyttää sekä paikalliseen kehittämiseen että paikalliseen isännöintiin. Toisin kuin pöytätietokoneet tai kannettavat tietokoneet, palvelimemme on suunniteltu toimimaan 24/7, ne voidaan yhdistää nopeasti, esimerkiksi klusterissa oli 4 prosessoria ja 5 minuutin kuluttua prosessoreita oli 16 (ei lisäverkkolaitteita) ja kaikki tämä kompaktissa muodossa hiljainen ja energiatehokas.

Palvelimemme arkkitehtuuri perustuu klusterirakentamisen periaatteeseen, ts. teemme klusterikortteja, jotka yhdistävät useita laskentamoduuleja (prosessoreita) käyttämällä kortilla olevaa ethernet-verkkoa. Yksinkertaistaaksemme emme tee vielä omia laskentamoduuleja, vaan käytämme Raspberry Pi -laskentamoduuleita ja toivoimme todella uutta CM4-moduulia. Mutta kaikki meni vastoin suunnitelmia uuden muodon myötä, ja uskon, että monet ovat pettyneitä.

Leikkauksen alla, kuinka pääsimme V1:stä V2:een ja kuinka meidän piti päästä ulos uudella Raspberry Pi CM4 -muotokertoimella.

Joten kun olet luonut klusterin 7 solmulle, kysymykset ovat - mitä seuraavaksi? Kuinka lisätä tuotteen arvoa? 8, 10 vai 16 solmua? Mitkä moduulien valmistajat? Ajatellessamme tuotetta kokonaisuutena, ymmärsimme, että tärkeintä ei tässä ole solmujen lukumäärä tai valmistaja, vaan klustereiden olemus rakennuspalikkana. Meidän on etsittävä vähimmäisrakennuspalikka

Ensimmäisen, tulee olemaan klusteri ja samalla voi liittää levyjä ja laajennuskortteja. Klusterilohkon tulee olla omavarainen perussolmu ja laaja valikoima laajennusvaihtoehtoja.

toinen, jotta vähimmäisklusterilohkot voidaan yhdistää toisiinsa rakentamalla suurempikokoisia klustereita ja niin, että se on tehokas budjetin ja skaalausnopeuden kannalta. Skaalausnopeuden on oltava nopeampi kuin tavallisten tietokoneiden yhdistäminen verkkoon ja paljon halvempi kuin palvelinlaitteisto.

kolmasVähimmäisklusteriyksiköiden tulee olla riittävän kompakteja, liikkuvia, energiatehokkaita, kustannustehokkaita eivätkä vaativia käyttöolosuhteita. Tämä on yksi tärkeimmistä eroista palvelintelineisiin ja kaikkeen niihin liittyvään.

Aloitimme määrittämällä solmujen lukumäärän.

Solmujen lukumäärä

Yksinkertaisilla loogisilla päätelmillä ymmärsimme, että 4 solmua on paras vaihtoehto minimiklusterilohkolle. 1 solmu ei ole klusteri, 2 solmua ei riitä (1 isäntä 1 työntekijä, ei ole mahdollisuutta skaalata lohkon sisällä, etenkään heterogeenisille vaihtoehdoille), 3 solmua näyttää hyvältä, mutta ei 2:n potenssien kerrannainen ja skaalaus lohko on rajoitettu, 6 solmua maksaa melkein kuin 7 solmua (kokemuksemme mukaan tämä on jo iso omakustannushinta), 8 on paljon, ei sovi mini-ITX-muotoon ja vielä kalliimpi PoC-ratkaisu.

Neljää solmua lohkoa kohden pidetään kultaisena keskiarvona:

  • vähemmän materiaaleja klusterilevyä kohden, mikä on halvempaa valmistaa
  • 4:n kerrannainen, yhteensä 4 lohkoa antaa 16 fyysistä prosessoria
  • vakaa piiri 1 isäntä ja 3 työntekijää
  • heterogeenisemmat muunnelmat, yleislaskenta + kiihdytetty laskentamoduulit
  • mini-ITX-muotokerroin SSD-asemilla ja laajennuskorteilla

Laske moduulit

Toinen versio perustuu CM4:ään, luulimme, että se julkaistaan ​​SODIMM-muodossa. Mutta…
Teimme päätöksen tehdä SODIMM-tytärlevy ja koota CM4 suoraan moduuleiksi, jotta käyttäjien ei tarvitse ajatella CM4:ää.

Mini ITX Cluster Turing Pi 2 32 Gt RAM-muistilla
Turing Pi -laskentamoduuli, joka tukee Raspberry Pi CM4:ää

Yleisesti ottaen moduulien etsimisessä avattiin kokonaiset laskentamoduulien markkinat pienistä moduuleista, joissa oli 128 Mt RAM-muistia, 8 Gt RAM:iin. Moduulit, joissa on vähintään 16 Gt RAM-muistia, ovat edessä. Pilvipohjaisiin sovellusten isännöintiin 1 Gt RAM-muistia ei jo nyt riitä, ja äskettäin ilmestyneet moduulit 2, 4 ja jopa 8 Gt RAM-muistille tarjoavat hyvät kasvumahdollisuudet. He jopa harkitsivat vaihtoehtoja FPGA-moduuleilla koneoppimissovelluksiin, mutta niiden tuki on viivästynyt, koska ohjelmistoekosysteemiä ei ole kehitetty. Moduulimarkkinoita tutkiessamme saimme idean luoda yleiskäyttöliittymä moduuleille, ja V2:ssa alamme yhtenäistää laskentamoduulien käyttöliittymää. Näin V2-version omistajat voivat yhdistää muiden valmistajien moduuleja ja sekoittaa niitä tiettyjä tehtäviä varten.

V2 tukee koko Raspberry Pi 4 Compute Module (CM4) -linjaa, mukaan lukien Lite-versiot ja 8 Gt RAM-moduulit

Mini ITX Cluster Turing Pi 2 32 Gt RAM-muistilla

Periferia

Määritettyämme moduulien toimittajan ja solmujen lukumäärän lähestyimme PCI-väylää, jolla oheislaitteet sijaitsevat. PCI-väylä on oheislaitteiden standardi, ja se löytyy melkein kaikista laskentamoduuleista. Meillä on useita solmuja, ja ihannetapauksessa jokaisen solmun pitäisi pystyä jakamaan PCI-laitteita samanaikaisessa pyyntötilassa. Jos se on esimerkiksi väylään kytketty levy, se on kaikkien solmujen käytettävissä. Aloimme etsiä PCI-kytkimiä usean isäntätuen kanssa ja huomasimme, että mikään niistä ei vastannut vaatimuksiamme. Kaikki nämä ratkaisut rajoittuivat enimmäkseen yhteen isäntään tai useaan isäntään, mutta ilman päätepisteiden samanaikaisten pyyntöjen tilaa. Toinen ongelma on korkea hinta 1 dollaria tai enemmän per siru. V50:ssa päätimme lykätä PCI-kytkimien kokeiluja (palaamme niihin myöhemmin, kun kehitämme) ja jatkoimme roolin määrittämistä jokaiselle solmulle: kaksi ensimmäistä solmua paljasti mini-PCI-pikaportin solmua kohti, kolmas solmu. 2-porttinen 2 Gbps SATA-ohjain. Voit käyttää levyjä muista solmuista käyttämällä klusterin verkkotiedostojärjestelmää. Miksi ei?

Sneakpeek

Päätimme jakaa joitakin luonnoksia siitä, kuinka klusterin vähimmäislohko on kehittynyt ajan myötä keskustelun ja pohdinnan kautta.

Mini ITX Cluster Turing Pi 2 32 Gt RAM-muistillaMini ITX Cluster Turing Pi 2 32 Gt RAM-muistillaMini ITX Cluster Turing Pi 2 32 Gt RAM-muistilla

Tuloksena päädyimme klusteriyksikköön, jossa on 4 260-nastaista solmua, 2 mini-PCIe (Gen 2) -porttia ja 2 SATA (Gen 3) -porttia. Levyssä on Layer-2 Managed Switch VLAN-tuella. Ensimmäisestä solmusta on poistettu mini-PCIe-portti, johon voi asentaa verkkokortin ja hankkia toisen Ethernet-portin tai 5G-modeemin sekä tehdä klusterin verkkoon reitittimen ja ensimmäisestä solmusta Ethernet-portteihin.

Mini ITX Cluster Turing Pi 2 32 Gt RAM-muistilla

Klusteriväylässä on enemmän ominaisuuksia, mukaan lukien mahdollisuus flash-moduuleihin suoraan kaikkien korttipaikkojen kautta ja tietysti jokaisen solmun FAN-liittimet nopeudensäädöllä.

Sovellus

Edge-infrastruktuuri itseisännöidyille sovelluksille ja palveluille

Suunnittelimme V2:n vähimmäisrakennuspalikkaksi kuluttaja-/kaupallisen tason reunainfrastruktuurille. V2:lla on edullista aloittaa konseptin todistaminen ja skaalaaminen kasvun myötä ja siirtää asteittain sovelluksia, jotka ovat kustannustehokkaampia ja käytännöllisempiä isännöimisen reunalla. Klusterilohkoja voidaan liittää yhteen isompien klustereiden rakentamiseksi. Tämä voidaan tehdä asteittain ilman suurta riskiä
prosessit. Jo nykyään on valtava määrä sovelluksia yrityksille, joita voidaan isännöidä paikallisesti.

ARM-työasema

Jopa 32 Gt RAM-muistia klusteria kohden, ensimmäistä solmua voidaan käyttää käyttöjärjestelmän työpöytäversioon (esimerkiksi Ubuntu Desktop 20.04 LTS) ja loput kolmea solmua käännös-, testaus- ja virheenkorjaustehtäviin sekä pilvipohjaisten ratkaisujen kehittämiseen ARM:lle. klustereita. Solmuna CI / CD:lle ARM-reunainfrastruktuurissa prod.

Turing V2 -klusteri CM4-moduuleilla on arkkitehtuuriltaan lähes identtinen (ero ARMv8:n sivuversioissa) AWS Graviton -esiintymiin perustuvan klusterin kanssa. CM4-moduuliprosessori käyttää ARMv8-arkkitehtuuria, joten voit rakentaa kuvia ja sovelluksia AWS Graviton 1- ja 2-esiintymille, joiden tiedetään olevan paljon halvempia kuin x86-instanssit.

Lähde: will.com