Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Pozdravujeme komunitu Habr! Nedávno som písal o našej prvej verzii klastrovej dosky [V1]. A dnes vám chcem povedať, ako sme pracovali na verzii Turing V2 s 32 GB RAM.

Máme radi mini servery, ktoré sa dajú použiť na lokálny vývoj aj lokálny hosting. Na rozdiel od stolných počítačov alebo notebookov sú naše servery navrhnuté tak, aby fungovali 24 hodín denne, 7 dní v týždni, dajú sa rýchlo federovať, napríklad v klastri boli 4 procesory a po 5 minútach tam bolo 16 procesorov (žiadne ďalšie sieťové vybavenie) a to všetko v kompaktnom prevedení, tichý a energeticky účinný.

Architektúra našich serverov je založená na klastrovom princípe konštrukcie, t.j. vyrábame klastrové dosky, ktoré pomocou ethernetovej siete na doske spájajú viacero výpočtových modulov (procesorov). Pre zjednodušenie, zatiaľ nevyrábame vlastné výpočtové moduly, ale používame Raspberry Pi Compute Modules a naozaj sme dúfali v nový modul CM4. Všetko však išlo proti plánom s ich novým tvarovým faktorom a myslím si, že mnohí sú sklamaní.

Pod strihom, ako sme prešli z V1 na V2 a ako sme sa museli dostať von s novým tvarovým faktorom Raspberry Pi CM4.

Takže po vytvorení klastra pre 7 uzlov sú na mieste otázky – čo ďalej? Ako zvýšiť hodnotu produktu? 8, 10 alebo 16 uzlov? Ktorí výrobcovia modulov? Pri premýšľaní o produkte ako celku sme si uvedomili, že hlavnou vecou tu nie je počet uzlov alebo kto je výrobcom, ale samotná podstata klastrov ako stavebného kameňa. Musíme hľadať minimálny stavebný kameň

Prvé, bude cluster a zároveň bude môcť pripojiť disky a rozširujúce dosky. Clusterový blok by mal byť sebestačným základným uzlom a so širokou škálou možností rozšírenia.

druhý, aby bolo možné minimálne bloky klastrov navzájom prepojiť vytváraním klastrov väčšej veľkosti a aby to bolo efektívne z hľadiska rozpočtu a rýchlosti škálovania. Rýchlosť škálovania musí byť vyššia ako pri pripájaní bežných počítačov k sieti a oveľa lacnejšia ako serverový hardvér.

tretiaMinimálne klastrové jednotky by mali byť dostatočne kompaktné, mobilné, energeticky efektívne, nákladovo efektívne a nenáročné na prevádzkové podmienky. Toto je jeden z kľúčových rozdielov od serverových rackov a všetkého, čo je s nimi spojené.

Začali sme určením počtu uzlov.

Počet uzlov

S jednoduchými logickými úsudkami sme si uvedomili, že 4 uzly sú najlepšou voľbou pre minimálny blok klastra. 1 uzol nie je klaster, 2 uzly nestačia (1 hlavný 1 pracovník, nie je možnosť škálovania v rámci bloku, najmä pre heterogénne možnosti), 3 uzly vyzerajú v poriadku, ale nie násobok mocniny 2 a škálovanie v rámci blok je obmedzený, 6 uzlov má cenu takmer ako 7 uzlov (z našej skúsenosti je to už veľká cena), 8 je veľa, nezmestí sa do formátu mini ITX a ešte drahšie riešenie PoC.

Štyri uzly na blok sa považujú za zlatý priemer:

  • menej materiálov na klastrovú dosku, preto je výroba lacnejšia
  • násobok 4, celkovo 4 bloky dávajú 16 fyzických procesorov
  • stabilný okruh 1 majster a 3 pracovníci
  • heterogénnejšie variácie, moduly všeobecných výpočtov + zrýchlených výpočtov
  • mini ITX formát s SSD diskami a rozširujúcimi kartami

Výpočtové moduly

Druhá verzia je založená na CM4, mysleli sme si, že bude vydaná vo formáte SODIMM. Ale…
Rozhodli sme sa vytvoriť dcérsku dosku SODIMM a zostaviť CM4 priamo do modulov, aby používatelia nemuseli premýšľať o CM4.

Mini ITX Cluster Turing Pi 2 s 32 GB RAM
Výpočtový modul Turing Pi s podporou Raspberry Pi CM4

Vo všeobecnosti sa pri hľadaní modulov otvoril celý trh výpočtových modulov od malých modulov so 128 MB RAM až po 8 GB RAM. Vpredu sú moduly s 16 GB RAM a viac. Pre hosting okrajových aplikácií založený na cloudových natívnych technológiách už 1 GB RAM nestačí a nedávny výskyt modulov pre 2, 4 a dokonca 8 GB RAM poskytuje dobrý priestor na rast. Zvažovali dokonca možnosti s modulmi FPGA pre aplikácie strojového učenia, ale ich podpora sa oneskorila, pretože softvérový ekosystém nie je vyvinutý. Pri štúdiu trhu modulov nás napadla myšlienka vytvoriť univerzálne rozhranie pre moduly a vo V2 začíname zjednocovať rozhranie výpočtových modulov. Majiteľom verzie V2 to umožní pripojiť moduly od iných výrobcov a miešať ich pre konkrétne úlohy.

V2 podporuje celý rad Raspberry Pi 4 Compute Module (CM4), vrátane verzií Lite a 8 GB modulov RAM

Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Periféria

Po určení predajcu modulov a počtu uzlov sme pristúpili k PCI zbernici, na ktorej sú periférie umiestnené. Zbernica PCI je štandardom pre periférne zariadenia a nachádza sa takmer vo všetkých výpočtových moduloch. Máme niekoľko uzlov a v ideálnom prípade by mal byť každý uzol schopný zdieľať zariadenia PCI v režime súbežných požiadaviek. Napríklad, ak ide o disk pripojený k zbernici, potom je dostupný pre všetky uzly. Začali sme hľadať PCI prepínače s podporou viacerých hostiteľov a zistili sme, že žiadny z nich nevyhovuje našim požiadavkám. Všetky tieto riešenia boli väčšinou obmedzené na 1 hostiteľa alebo viacerých hostiteľov, ale bez režimu súbežných požiadaviek na koncové body. Druhým problémom sú vysoké náklady 50 USD alebo viac za čip. Vo V2 sme sa rozhodli odložiť experimenty s PCI prepínačmi (vrátime sa k nim neskôr, keď budeme vyvíjať) a vydali sme sa cestou priradenia role pre každý uzol: prvé dva uzly odhalili mini PCI express port na uzol, tretí uzol odkrytý 2-portový 6 Gbps SATA radič. Na prístup k diskom z iných uzlov môžete použiť sieťový súborový systém v rámci klastra. Prečo nie?

Náhľad

Rozhodli sme sa zdieľať niekoľko náčrtov toho, ako sa minimálny klastrový blok vyvíjal v priebehu času prostredníctvom diskusie a reflexie.

Mini ITX Cluster Turing Pi 2 s 32 GB RAMMini ITX Cluster Turing Pi 2 s 32 GB RAMMini ITX Cluster Turing Pi 2 s 32 GB RAM

V dôsledku toho sme sa dostali ku klastrovej jednotke so 4 260-pinovými uzlami, 2 mini PCIe (Gen 2) porty, 2 SATA (Gen 3) porty. Doska má Layer-2 Managed Switch s podporou VLAN. Z prvého uzla bol odstránený mini PCIe port, do ktorého môžete nainštalovať sieťovú kartu a získať ďalší ethernetový port alebo 5G modem a urobiť router pre sieť na klastri a ethernetové porty z prvého uzla.

Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Clusterová zbernica má viac funkcií, vrátane možnosti flash modulov priamo cez všetky sloty a samozrejme FAN konektory na každom uzle s reguláciou rýchlosti.

Aplikácia

Okrajová infraštruktúra pre aplikácie a služby s vlastným hosťovaním

Navrhli sme V2 ako minimálny stavebný blok pre spotrebiteľskú/komerčnú okrajovú infraštruktúru. S V2 je lacné začať s overovaním koncepcie a škálovať, keď rastiete, a postupne prenášať aplikácie, ktoré sú nákladovo efektívnejšie a praktickejšie hostiť na hranici. Bloky klastrov je možné spájať a vytvárať tak väčšie klastre. To sa dá urobiť postupne bez veľkého rizika pre etablované
procesy. Už dnes existuje obrovské množstvo aplikácií pre podnikanie, ktoré môžu byť umiestnené lokálne.

Pracovná stanica ARM

S až 32 GB RAM na klaster je možné prvý uzol použiť pre desktopovú verziu operačného systému (napríklad Ubuntu Desktop 20.04 LTS) a zvyšné 3 uzly na úlohy kompilácie, testovania a ladenia, vývoj cloudových natívnych riešení pre ARM. klastre. Ako uzol pre CI / CD na ARM edge infraštruktúre vo výr.

Klaster Turing V2 s modulmi CM4 je architektonicky takmer identický (rozdiel v menších verziách ARMv8) ako klaster založený na inštanciách AWS Graviton. Procesor modulu CM4 využíva architektúru ARMv8, takže môžete vytvárať obrázky a aplikácie pre inštancie AWS Graviton 1 a 2, o ktorých je známe, že sú oveľa lacnejšie ako inštancie x86.

Zdroj: hab.com