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

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

Lep pozdrav skupnosti Habr! Nedavno sem pisal o naši prvi različici plošče grozdov [V1]. In danes vam želim povedati, kako smo delali na različici Turing V2 z 32 GB pomnilnik z naključnim dostopom.

Navdušeni smo nad mini strežniki, ki se lahko uporabljajo tako za lokalni razvoj kot za lokalno gostovanje. Za razliko od namiznih ali prenosnih računalnikov so naši strežniki zasnovani za delovanje 24 ur na dan, 7 dni v tednu, hitro jih je mogoče združiti, npr. v gruči so bili 4 procesorji, po 5 minutah pa 16 procesorjev (brez dodatne omrežne opreme) in vse to v kompaktni obliki, tih in energijsko učinkovit.

Arhitektura naših strežnikov temelji na grozdnem principu gradnje, tj. izdelujemo gručne plošče, ki preko ethernet omrežja na plošči povezujejo več računalniških modulov (procesorjev). Če poenostavimo, še ne izdelujemo lastnih računalniških modulov, ampak uporabljamo Raspberry Pi Compute Module in res smo upali na nov modul CM4. Toda z njihovo novo obliko je šlo vse proti načrtom in mislim, da so mnogi razočarani.

Pod rezom, kako smo prešli iz V1 v V2 in kako smo morali izstopiti z novim faktorjem oblike Raspberry Pi CM4.

Torej, po ustvarjanju gruče za 7 vozlišč, so vprašanja - kaj je naslednje? Kako povečati vrednost izdelka? 8, 10 ali 16 vozlišč? Kateri proizvajalci modulov? Če razmišljamo o izdelku kot celoti, smo ugotovili, da tukaj ni glavno število vozlišč ali kdo je proizvajalec, temveč samo bistvo grozdov kot gradnika. Iskati moramo minimalni gradnik, ki

1., bo grozd in bo hkrati lahko povezoval diske in razširitvene plošče. Blok gruče mora biti samozadostno osnovno vozlišče in s širokim naborom možnosti razširitve.

drugi, tako da je mogoče med seboj povezati najmanjše bloke gruč z gradnjo večjih gruč in tako, da je učinkovit v smislu proračuna in hitrosti skaliranja. Hitrost skaliranja mora biti hitrejša od povezovanja navadnih računalnikov v omrežje in veliko cenejša od strežniške strojne opreme.

tretji, morajo biti najmanjše enote gruče dovolj kompaktne, mobilne, energetsko učinkovite, stroškovno učinkovite in nezahtevne glede pogojev delovanja. To je ena ključnih razlik od strežniških regalov in vsega, kar je z njimi povezano.

Začeli smo z določitvijo števila vozlišč.

Število vozlišč

S preprostimi logičnimi presojami smo ugotovili, da so 4 vozlišča najboljša možnost za najmanjši blok gruče. 1 vozlišče ni gruča, 2 vozlišči nista dovolj (1 glavni 1 delavec, ni možnosti skaliranja znotraj bloka, še posebej za heterogene možnosti), 3 vozlišča izgledajo v redu, vendar ne večkratnik potenc 2 in skaliranje znotraj blok je omejen, cena 6 vozlišč je skoraj enaka ceni 7 vozlišč (po naših izkušnjah je to že velika cena), 8 je veliko, ne sodi v format mini ITX in še dražja rešitev PoC.

Štiri vozlišča na blok veljajo za zlato sredino:

  • manj materialov na ploščo grozdov, zato je izdelava cenejša
  • večkratnik 4, skupaj 4 bloki dajejo 16 fizičnih procesorjev
  • stabilno vezje 1 mojster in 3 delavci
  • bolj heterogene različice, moduli splošnega računalništva + pospešenega računalništva
  • oblika mini ITX s pogoni SSD in razširitvenimi karticami

Računalniški moduli

Druga različica temelji na CM4, mislili smo, da bo izdana v faktorju oblike SODIMM. ampak...
Odločili smo se, da izdelamo hčerinsko ploščo SODIMM in sestavimo CM4 neposredno v module, tako da uporabnikom ni treba razmišljati o CM4.

Mini ITX Cluster Turing Pi 2 z 32 GB RAM-a
Računalniški modul Turing Pi, ki podpira Raspberry Pi CM4

Na splošno se je v iskanju modulov odprl cel trg računalniških modulov od majhnih modulov s 128 MB RAM-a do 8 GB RAM-a. Pred nami so moduli s 16 GB RAM-a in več. Za gostovanje robnih aplikacij, ki temelji na izvornih tehnologijah v oblaku, že 1 GB RAM-a ni dovolj, nedavna pojava modulov za 2, 4 in celo 8 GB RAM-a pa nudi dober prostor za rast. Razmišljali so celo o možnostih z moduli FPGA za aplikacije strojnega učenja, vendar je bila njihova podpora odložena, ker ekosistem programske opreme ni razvit. Med preučevanjem trga modulov smo prišli na idejo o ustvarjanju univerzalnega vmesnika za module, v V2 pa začnemo poenotiti vmesnik računalniških modulov. To bo lastnikom različice V2 omogočilo povezovanje modulov drugih proizvajalcev in njihovo mešanje za posebne naloge.

V2 podpira celotno linijo Raspberry Pi 4 Compute Module (CM4), vključno z različicami Lite in moduli 8 GB RAM

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

Periferne naprave

Po določitvi prodajalca modulov in števila vozlišč smo pristopili k vodilu PCI, na katerem se nahaja periferija. Vodilo PCI je standard za zunanje naprave in ga najdemo v skoraj vseh računalniških modulih. Imamo več vozlišč in idealno bi moralo imeti vsako vozlišče možnost souporabe naprav PCI v načinu sočasne zahteve. Na primer, če je disk povezan z vodilom, potem je na voljo vsem vozliščem. Začeli smo iskati stikala PCI s podporo za več gostiteljev in ugotovili, da nobeno od njih ne ustreza našim zahtevam. Vse te rešitve so bile večinoma omejene na 1 gostitelja ali več gostiteljev, vendar brez načina sočasnih zahtev do končnih točk. Druga težava je visoka cena 50 $ ali več na čip. V V2 smo se odločili odložiti poskuse s stikali PCI (k njim se bomo vrnili kasneje, ko bomo razvijali) in šli po poti dodeljevanja vloge za vsako vozlišče: prvi dve vozlišči sta bili izpostavljeni mini PCI express port na vozlišče, tretje vozlišče izpostavljen 2-portni 6 Gbps SATA krmilnik. Za dostop do diskov iz drugih vozlišč lahko uporabite omrežni datotečni sistem znotraj gruče. Zakaj ne?

Sneakpeek

Odločili smo se, da z razpravo in razmišljanjem delimo nekaj skic o tem, kako se je minimalni blok grozdov skozi čas razvijal.

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

Kot rezultat smo prišli do enote gruče s 4 260-pinskimi vozlišči, 2 vhodoma mini PCIe (Gen 2), 2 vhodoma SATA (Gen 3). Plošča ima upravljano stikalo Layer-2 s podporo za VLAN. Iz prvega vozlišča je odstranjen mini PCIe port, v katerega lahko vgradiš omrežno kartico in dobiš še en Ethernet port ali 5G modem in narediš usmerjevalnik za omrežje na grozdu in Ethernet porte iz prvega vozlišča.

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

Grozdno vodilo ima več funkcij, vključno z možnostjo bliskanja modulov neposredno skozi vse reže in seveda priključke FAN na vsakem vozlišču z nadzorom hitrosti.

Uporaba

Robna infrastruktura za aplikacije in storitve, ki jih sami gostite

V2 smo zasnovali kot minimalni gradnik za potrošniško/komercialno robno infrastrukturo. Z V2 je poceni začeti s preverjanjem koncepta in se širiti, ko rastete, postopoma prenašati aplikacije, ki so stroškovno učinkovitejše in praktične za gostovanje na robu. Bloke grozdov lahko povežete skupaj, da zgradite večje grozde. To je mogoče storiti postopoma brez večjega tveganja za vzpostavitev
procesov. Že danes obstaja ogromno aplikacij za podjetja, ki se lahko gostijo lokalno.

Delovna postaja ARM

Z do 32 GB RAM-a na gručo se lahko prvo vozlišče uporablja za namizno različico operacijskega sistema (na primer Ubuntu Desktop 20.04 LTS), preostala 3 vozlišča pa za naloge prevajanja, testiranja in odpravljanja napak, razvoj izvornih rešitev v oblaku za ARM grozdi. Kot vozlišče za CI/CD na robni infrastrukturi ARM v izdelku

Gruča Turing V2 z moduli CM4 je arhitekturno skoraj enaka (razlika v manjših različicah ARMv8) gruči, ki temelji na instancah AWS Graviton. Procesor modula CM4 uporablja arhitekturo ARMv8, tako da lahko gradite slike in aplikacije za primerke AWS Graviton 1 in 2, za katere je znano, da so veliko cenejši od primerkov x86.

Vir: www.habr.com