Mini ITX Cluster Turing Pi 2 s 32 GB RAM-a

Mini ITX Cluster Turing Pi 2 s 32 GB RAM-a

Pozdrav Habr zajednici! Nedavno sam pisao o našoj prvoj verziji ploče klastera [V1]. I danas vam želim reći kako smo radili na verziji Turing V2 sa 32 GB RAM memorija.

Sviđaju nam se mini poslužitelji koji se mogu koristiti i za lokalni razvoj i za lokalno hosting. Za razliku od stolnih ili prijenosnih računala, naši poslužitelji su dizajnirani za rad 24/7, mogu se brzo ujediniti, npr. u klasteru su bila 4 procesora, a nakon 5 minuta bilo je 16 procesora (bez dodatne mrežne opreme) i sve to u kompaktnom obliku, tih i energetski učinkovit.

Arhitektura naših poslužitelja temelji se na klasterskom principu izgradnje, tj. izrađujemo klaster ploče koje pomoću ethernet mreže na ploči povezuju više računalnih modula (procesora). Da pojednostavimo, još ne izrađujemo vlastite računalne module, već koristimo Raspberry Pi Compute Module i stvarno smo se nadali novom CM4 modulu. No, sve je išlo protiv planova s ​​njihovim novim oblikom i mislim da su mnogi razočarani.

Pod rezom kako smo prešli s V1 na V2 i kako smo morali izaći s novim faktorom forme Raspberry Pi CM4.

Dakle, nakon stvaranja klastera od 7 čvorova, postavljaju se pitanja - što je sljedeće? Kako povećati vrijednost proizvoda? 8, 10 ili 16 čvorova? Koji proizvođači modula? Razmišljajući o proizvodu kao cjelini, shvatili smo da ovdje nije glavna stvar broj čvorova ili tko je proizvođač, već sama bit klastera kao građevnog bloka. Moramo tražiti minimalni gradivni element koji

Prvi, bit će klaster i ujedno moći spajati diskove i ploče za proširenje. Blok klastera trebao bi biti samodostatan osnovni čvor i sa širokim rasponom mogućnosti proširenja.

Druga, tako da se minimalni blokovi klastera mogu međusobno povezati izgradnjom klastera veće veličine i tako da bude učinkovit u smislu proračuna i brzine skaliranja. Brzina skaliranja mora biti brža od povezivanja običnih računala na mrežu i mnogo jeftinija od poslužiteljskog hardvera.

treći, minimalne jedinice klastera trebale bi biti dovoljno kompaktne, mobilne, energetski učinkovite, ekonomične i nezahtjevne u uvjetima rada. To je jedna od ključnih razlika u odnosu na serverske police i sve što je s njima povezano.

Počeli smo određivanjem broja čvorova.

Broj čvorova

Jednostavnim logičkim prosudbama shvatili smo da su 4 čvora najbolja opcija za minimalni blok klastera. 1 čvor nije klaster, 2 čvora nisu dovoljna (1 master 1 radnik, nema mogućnosti skaliranja unutar bloka, pogotovo za heterogene opcije), 3 čvora izgledaju ok, ali ne višekratnik potencije 2 i skaliranje unutar blok je ograničen, 6 čvorova ima cijenu gotovo kao 7 čvorova (iz našeg iskustva to je već velika cijena), 8 je puno, ne uklapa se u mini ITX oblik i još skuplje PoC rješenje.

Četiri čvora po bloku smatraju se zlatnom sredinom:

  • manje materijala po ploči klastera, stoga je jeftinija za proizvodnju
  • višestruko od 4, ukupno 4 bloka daju 16 fizičkih procesora
  • stajski sklop 1 majstor i 3 radnika
  • više heterogenih varijacija, moduli općeg računanja + ubrzanog računanja
  • mini ITX format sa SSD diskovima i karticama za proširenje

Računalni moduli

Druga verzija se temelji na CM4, mislili smo da će biti objavljena u SODIMM formatu. Ali…
Odlučili smo napraviti SODIMM kćerinsku ploču i sastaviti CM4 izravno u module tako da korisnici ne moraju razmišljati o CM4.

Mini ITX Cluster Turing Pi 2 s 32 GB RAM-a
Računalni modul Turing Pi koji podržava Raspberry Pi CM4

Općenito, u potrazi za modulima, otvorilo se cijelo tržište računalnih modula od malih modula sa 128 MB RAM-a do 8 GB RAM-a. Prednjače moduli sa 16 GB RAM-a i više. Za hosting rubnih aplikacija temeljenih na izvornim tehnologijama u oblaku, 1 GB RAM-a već nije dovoljan, a nedavno pojavljivanje modula za 2, 4 pa čak i 8 GB RAM-a pruža dobar prostor za rast. Čak su razmatrali opcije s FPGA modulima za aplikacije strojnog učenja, ali je njihova podrška odgođena jer softverski ekosustav nije razvijen. Proučavajući tržište modula, došli smo na ideju stvaranja univerzalnog sučelja za module, au V2 počinjemo objedinjavati sučelje računalnih modula. To će omogućiti vlasnicima verzije V2 povezivanje modula drugih proizvođača i njihovo miješanje za specifične zadatke.

V2 podržava cijelu liniju Raspberry Pi 4 Compute Module (CM4), uključujući Lite verzije i 8 GB RAM modula

Mini ITX Cluster Turing Pi 2 s 32 GB RAM-a

Periferija

Nakon utvrđivanja dobavljača modula i broja čvorova, pristupili smo PCI sabirnici na kojoj se nalazi periferija. PCI sabirnica je standard za periferne uređaje i nalazi se u gotovo svim računalnim modulima. Imamo nekoliko čvorova, a idealno bi bilo da svaki čvor može dijeliti PCI uređaje u načinu istovremenog zahtjeva. Na primjer, ako je to disk spojen na sabirnicu, tada je dostupan svim čvorovima. Počeli smo tražiti PCI preklopnike s podrškom za više računala i ustanovili da nijedan od njih ne odgovara našim zahtjevima. Sva ta rješenja uglavnom su bila ograničena na 1 host ili više hostova, ali bez načina istodobnih zahtjeva prema krajnjim točkama. Drugi problem je visoka cijena od 50 dolara ili više po čipu. U V2 smo odlučili odgoditi eksperimente s PCI preklopnicima (vratit ćemo im se kasnije dok budemo razvijali) i krenuli smo putem dodjele uloge za svaki čvor: prva dva čvora su izložila mini PCI express port po čvoru, treći čvor izloženi 2-portni 6 Gbps SATA kontroler. Za pristup diskovima iz drugih čvorova, možete koristiti mrežni datotečni sustav unutar klastera. Zašto ne?

Sneakpeek

Odlučili smo podijeliti neke skice o tome kako se minimalni blok klastera razvijao tijekom vremena kroz raspravu i razmišljanje.

Mini ITX Cluster Turing Pi 2 s 32 GB RAM-aMini ITX Cluster Turing Pi 2 s 32 GB RAM-aMini ITX Cluster Turing Pi 2 s 32 GB RAM-a

Kao rezultat toga, došli smo do jedinice klastera s 4 260-pinska čvora, 2 mini PCIe (Gen 2) porta, 2 SATA (Gen 3) porta. Ploča ima Layer-2 Managed Switch s podrškom za VLAN. Iz prvog čvora je uklonjen mini PCIe port u koji možete ugraditi mrežnu karticu i dobiti još jedan Ethernet port ili 5G modem te napraviti ruter za mrežu na klasteru i Ethernet portove iz prvog čvora.

Mini ITX Cluster Turing Pi 2 s 32 GB RAM-a

Sabirnica klastera ima više značajki, uključujući mogućnost izravnog prijenosa modula kroz sve utore i naravno FAN konektore na svakom čvoru s kontrolom brzine.

Primjena

Rubna infrastruktura za aplikacije i usluge koje sami hostiraju

Dizajnirali smo V2 kao minimalni građevni blok rubne infrastrukture potrošačke/komercijalne razine. Uz V2, jeftino je započeti s provjerom koncepta i skalirati se kako rastete, postupno prenositi aplikacije koje su isplativije i praktičnije za hosting na rubu. Blokovi klastera mogu se međusobno povezati kako bi se izgradili veći klasteri. To se može učiniti postupno bez velikog rizika za uspostavljanje
procesima. Već danas postoji ogroman broj aplikacija za poslovanje, koji se mogu hostirati lokalno.

ARM radna stanica

S do 32 GB RAM-a po klasteru, prvi čvor se može koristiti za desktop verziju OS-a (na primjer, Ubuntu Desktop 20.04 LTS), a preostala 3 čvora za zadatke kompilacije, testiranja i ispravljanja pogrešaka, razvijanje izvornih rješenja u oblaku za ARM klasteri. Kao čvor za CI/CD na ARM rubnoj infrastrukturi u prod.

Turing V2 klaster s CM4 modulima gotovo je identičan arhitekturi (razlika u manjim verzijama ARMv8) klasteru temeljenom na AWS Graviton instancama. Procesor modula CM4 koristi arhitekturu ARMv8 tako da možete graditi slike i aplikacije za instance AWS Graviton 1 i 2, za koje se zna da su mnogo jeftinije od instanci x86.

Izvor: www.habr.com