Mini ITX klaster Turing Pi 2 z 32 GB RAM

Mini ITX klaster Turing Pi 2 z 32 GB RAM

Pozdravljam skupnost Habra! Nedavno sem pisal o naši klaster plošči prve različice [V1]. In danes bi rad pripovedoval, kako smo delali na različici Turing V2 s 32 GB delovnega pomnilnika.

Navdušeni smo nad mini strežniki, ki jih je mogoče uporabljati tako za lokalni razvoj kot tudi za lokalno gostovanje. V nasprotju z namiznimi računalniki ali prenosniki so naši strežniki zasnovani za delo 24/7, hitro jih lahko povežemo v federacijo, na primer, 4 procesorji v klasterju so se v 5 minutah spremenili v 16 procesorjev (brez dodatne omrežne opreme) in vse to v kompaktni obliki, brez hrupa in energetsko učinkovito.

Osnova arhitekture naših strežnikov je klastersko načelo gradnje, torej izdelujemo klasterske plošče, ki z ethernet mrežo povezujejo več računalniških modulov (procesorjev). Zaenkrat ne izdelujemo lastnih računalniških modulov, ampak uporabljamo Raspberry Pi Compute Modules in zelo smo upali na nov modul CM4. Vendar pa so se vsi načrti obrnili narobe z njihovim novim oblikovanjem in mislim, da so mnogi razočarani.

Pod mačkom, kako smo prišli od V1 do V2 in kako smo se morali prilagoditi novemu oblikovanju Raspberry Pi CM4.

Torej, po ustvarjanju klasterja s 7 vozlišči, vprašanja — kaj naprej? Kako povečati vrednost izdelka? 8, 10 ali 16 vozlišč? Kateri so proizvajalci modulov? Razmišljajoč o izdelku kot celoti, smo ugotovili, da tu ni ključno število vozlišč ali kdo je proizvajalec, ampak sama bistvo klasterjev kot gradbenega bloka. Treba je poiskati najmanjši gradbeni blok, ki

Prvo, bo klaster in pri tem imeti možnost povezovanja diskov in razširitvenih plošč. Klasterski blok mora biti samostojen osnovni element z širokimi možnostmi za razširitev.

Drugo, da bodo minimalni klasterski bloki povezljivi med seboj, kar omogoča gradnjo večjih klasterjev in da bo to učinkovito z vidika proračuna in hitrosti širitve. Hitrost širitve mora biti višja kot povezovanje običajnih računalnikov v mrežo in veliko cenejša od strežniške opreme.

Tretje, minimalni klasterski blokovi moraju biti dovoljno kompaktni, mobilni, energetski efikasni, isplativi i ne zahtevaju posebne uslove za rad. Ovo je jedna od ključnih razlika u odnosu na server rack-ove i sve što je s njima povezano.

Počeli smo definisanjem broja nodova.

Broj nodova

Jednostavnom logikom shvatili smo da je 4 nodova najbolja opcija za minimalni klasterski blok. 1 nod nije klaster, 2 nodova je malo (1 master i 1 radnik, nema mogućnosti skaliranja unutar bloka, posebno za heterogene varijante), 3 nodova izgleda dobro, ali nije deljivo sa stegama 2 i ima ograničeno skaliranje unutar bloka, 6 nodova je gotovo isto kao 7 nodova (iz našeg iskustva to je već velika cena), 8 je previše, ne staje u mini ITX form faktor i još je skuplje rešenje za PoC.

Četiri nodova po bloku smatramo zlatnom sredinom:

  • manje materijala za klastersku ploču, što znači jeftinija proizvodnja
  • multiplo 4, ukupno 4 bloka daju 16 fizičkih procesora
  • stabilna shema 1 master i 3 radnika
  • više heterogenih varijacija, general-compute + accelerated-compute moduli
  • mini ITX form faktor sa SSD diskovima i ekspanzionim karticama

Obradni moduli

Druga verzija se bazira na CM4, mislili smo da će biti objavljena u SODIMM form faktoru. Ali…
Doneli smo odluku da napravimo pod-napon SODIMM i sastavimo CM4 direktno u module kako bi korisnici ne razmišljali o CM4.

Mini ITX klaster Turing Pi 2 z 32 GB RAM
Turing Pi Compute Module sa podrškom za Raspberry Pi CM4

U potrazi za modulima otvoren je čitav tržište obrada modula od malih modula sa 128 MB RAM do 8 GB RAM. U budućnosti su moduli sa 16 GB RAM i više. Za edge hosting aplikacija zasnovanih na cloud native tehnologijama 1 GB RAM je već malo, dok je nedavna pojava modula sa 2, 4, pa čak i 8 GB RAM pružila dobar prostor za rast. Čak smo razmatrali i opcije sa FPGA modulima za aplikacije mašinskog učenja, ali je njihova podrška odložena jer softverska ekosistem nije razvijena. Tokom istraživanja tržišta modula došli smo na ideju o stvaranju univerzalnog interfejsa za module i u V2 počinjemo unifikaciju interfejsa obrada modula. Ovo će omogućiti vlasnicima verzije V2 da povežu module drugih proizvođača i mešaju ih za specifične zadatke.

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

Mini ITX klaster Turing Pi 2 z 32 GB RAM

Periferija

Po določitvi dobavitelja modulov in števila nod smo pristopili k PCI vodilu, na katerem se nahajajo periferne naprave. PCI vodilo je standard za periferne naprave in je prisotno skoraj v vseh računalniških modulih. Imamo več nod in idealno bi bilo, da bi vsaka noda lahko delila PCI naprave v načinu konkurenčnih zahtev. Na primer, če je to disk, priključen na vodilo, je dostopen vsem nodam. Začeli smo iskati PCI stikala z možnostjo podpore za več gostiteljev in odkrili, da nobeno od njih ne ustreza našim zahtevam. Vse te rešitve so bile v glavnem omejene na 1 gostitelja ali več gostiteljev, vendar brez načina konkurenčnih zahtev do končnih točk. Drug problem je visoka cena, od 50 $ naprej za čip. Pri V2 smo se odločili, da odložimo eksperimente s PCI stikali (vrnili se bomo k njim kasneje, ko se bo razvoj nadaljeval) in smo šli po poti dodelitve vlog za vsako nodo: prve dve nodi sta imeli mini PCI express vrata na nodo, tretja noda je imela 2-portni 6 Gbps SATA nadzornik. Za dostop do diskov z drugih nod lahko uporabite omrežni datotečni sistem v okviru gruče. Zakaj pa ne?

Sneakpeek

Odločili smo se deliti nekatere skice, kako se je minimalni grozdeni blok razvijal skozi čas v postopku razprave in razmišljanja.

Mini ITX klaster Turing Pi 2 z 32 GB RAMMini ITX klaster Turing Pi 2 z 32 GB RAMMini ITX klaster Turing Pi 2 z 32 GB RAM

Kot rezultat smo prišli do grozdenega bloka s 4 nodami, 260-pinski, 2 mini PCIe (Gen 2) vrati, 2 SATA (Gen 3) vrati. Na plošči je nameščen Layer-2 Managed Switch z podporo za VLAN. Iz prve node je izhod mini PCIe vrata, v katera lahko namestite omrežno kartico in pridobite še en Ethernet port ali 5G modem ter iz prve node naredite usmerjevalnik za mrežo v grozdu in Ethernet portov.

Mini ITX klaster Turing Pi 2 z 32 GB RAM

Grozdeno vodilo ponuja več funkcij, vključno z možnostjo programiranja modulov neposredno skozi vse reže in seveda FAN priključki na vsaki nodi s kontrolo hitrosti.

Uporaba

Robna infrastruktura za samostojne aplikacije in storitve

V2 smo zasnovali z namenom, da jo uporabimo kot minimalni gradbeni blok za robno infrastrukturo potrošniške/komercialne kakovosti. S V2 je poceni začeti preverjanje koncepta in se širiti, ko raste, postopoma prenašati aplikacije, ki je ekonomsko in praktično smiselno gostiti na robu. Grozdeni bloki se lahko povezujejo skupaj, kar omogoča gradnjo večjih grozdov. To se lahko stori postopoma brez večjih tveganj za ustaljene.
procesov. Že danes obstaja ogromno aplikacij za poslovanje, ki jih je mogoče gostiti lokalno.

ARM Workstation

S pomnilnikom do 32 GB RAM na klaster, lahko prvo vozlišče uporabite za namizno različico OS (na primer Ubuntu Desktop 20.04 LTS), preostala 3 vozlišča pa za naloge sestavljanja, testiranja in odpravljanja napak ter razvoj rešitev, prilagojenih oblaku za ARM klastre. Kot vozlišče za CI/CD na ARM periferno infrastrukturo v produkciji.

Turing V2 klaster s CM4 moduli je arhitekturno skoraj identičen (razlika je v manjših različicah ARMv8) klastru, ki temelji na AWS Graviton instancah. V procesorju CM4 modulov se uporablja arhitektura ARMv8, lahko ustvarjate slike in aplikacije za AWS Graviton 1 in 2 instance, ki so znane po tem, da so veliko cenejše od x86 instanc.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster