Sveiciens Habr kopienai! Es nesen rakstÄ«ju par mÅ«su pirmÄs versijas klastera dÄli [
MÄs esam kaislÄ«gi par mini serveriem, kurus var izmantot gan vietÄjai attÄ«stÄ«bai, gan vietÄjai mitinÄÅ”anai. AtŔķirÄ«bÄ no galddatoriem vai klÄpjdatoriem, mÅ«su serveri ir paredzÄti darbam 24/7, tos var Ätri savienot federÄcijÄ, piemÄram, klasterÄ« bija 4 procesori, bet pÄc 5 minÅ«tÄm bija 16 procesori (bez papildu tÄ«kla aprÄ«kojuma) un tas viss kompaktÄ formÄtÄ, kluss un energoefektÄ«vs.
MÅ«su serveru arhitektÅ«ra ir balstÄ«ta uz klasteru uzbÅ«ves principu, t.i. Izgatavojam klasteru plates, kas savieno vairÄkus skaitļoÅ”anas moduļus (procesorus), izmantojot ethernet tÄ«klu uz plates. Lai vienkÄrÅ”otu lietas, mÄs vÄl neveidojam savus skaitļoÅ”anas moduļus, bet izmantojam Raspberry Pi Compute Modules, un mÄs ļoti cerÄjÄm uz jauno CM4 moduli. TaÄu viss notika pretrunÄ ar viÅu jauno formas faktoru, un es domÄju, ka daudzi ir vÄ«luÅ”ies.
TÄlÄk ir norÄdÄ«ts, kÄ mÄs pÄrgÄjÄm no V1 uz V2 un kÄ mums bija jÄtiek galÄ ar jauno Raspberry Pi CM4 formas faktoru.
TÄtad, izveidojot klasteru ar 7 mezgliem, rodas jautÄjumi: ko darÄ«t tÄlÄk? KÄ paaugstinÄt preces vÄrtÄ«bu? 8, 10 vai 16 mezgli? KÄdi moduļu ražotÄji? DomÄjot par produktu kopumÄ, sapratÄm, ka Å”eit galvenais ir nevis mezglu skaits vai ražotÄjs, bet gan klasteru kÄ celtniecÄ«bas bloka bÅ«tÄ«ba. Mums ir jÄmeklÄ minimÄlais celtniecÄ«bas bloks
Pirmais, bÅ«s klasteris un tajÄ paÅ”Ä laikÄ bÅ«s iespÄja savienot diskus un paplaÅ”inÄÅ”anas kartes. Klastera vienÄ«bai ir jÄbÅ«t paÅ”pietiekamam bÄzes mezglam ar plaÅ”Äm paplaÅ”inÄÅ”anas iespÄjÄm.
Otrais, lai minimÄlus klasteru blokus varÄtu savienot viens ar otru, veidojot lielÄkas kopas, un lai tas bÅ«tu efektÄ«vs budžeta un mÄrogoÅ”anas Ätruma ziÅÄ. MÄrogoÅ”anas Ätrumam jÄbÅ«t lielÄkam nekÄ parastu datoru savienoÅ”anai ar tÄ«klu un daudz lÄtÄkam nekÄ servera aprÄ«kojumam.
TreÅ”ais, minimÄlajÄm klasteru vienÄ«bÄm jÄbÅ«t diezgan kompaktÄm, mobilÄm, energoefektÄ«vÄm, rentablÄm un nav prasÄ«gÄm ekspluatÄcijas apstÄkļos. Å Ä« ir viena no galvenajÄm atŔķirÄ«bÄm no serveru plauktiem un visa, kas ar tiem saistÄ«ts.
MÄs sÄkÄm ar mezglu skaita noteikÅ”anu.
Mezglu skaits
Izmantojot vienkÄrÅ”us loÄ£iskus spriedumus, mÄs sapratÄm, ka 4 mezgli ir labÄkais risinÄjums minimÄlam klasteru blokam. 1 mezgls nav klasteris, nepietiek ar 2 mezgliem (1 galvenais 1 darbinieks, bloka ietvaros nav iespÄjams mÄrogot, it Ä«paÅ”i neviendabÄ«gÄm opcijÄm), 3 mezgli izskatÄs labi, bet ne 2 pakÄpju daudzkÄrtnis un mÄrogoÅ”ana bloks ir ierobežots, 6 mezgli maksÄ gandrÄ«z kÄ 7 mezgli (pÄc mÅ«su pieredzes tas jau ir augstas izmaksas), 8 ir daudz, neietilpst mini ITX formas faktorÄ un vÄl dÄrgÄks risinÄjums PoC.
MÄs uzskatÄm, ka Äetri mezgli blokÄ ir zelta vidusceļŔ:
- mazÄk materiÄlu uz klastera plÄksni, lÄ«dz ar to lÄtÄka ražoÅ”ana
- dalÄs ar 4, tikai 4 bloki dod 16 fiziskos procesorus
- stabila shÄma 1 meistars un 3 strÄdnieki
- neviendabÄ«gÄkas variÄcijas, vispÄrÄ«gi skaitļoÅ”anas + paÄtrinÄtÄs skaitļoÅ”anas moduļi
- mini ITX formas faktors ar SSD diskdziÅiem un paplaÅ”inÄÅ”anas kartÄm
SkaitļoŔanas moduļi
OtrÄ versija ir balstÄ«ta uz CM4, mÄs domÄjÄm, ka tÄ tiks izlaista SODIMM formÄtÄ. Betā¦
MÄs nolÄmÄm izveidot SODIMM meitasplati un salikt CM4 tieÅ”i moduļos, lai lietotÄji nedomÄtu par CM4.
Turing Pi skaitļoŔanas modulis, kas atbalsta Raspberry Pi CM4
KopumÄ, meklÄjot moduļus, tika atvÄrts viss skaitļoÅ”anas moduļu tirgus, sÄkot no maziem moduļiem ar 128 MB RAM lÄ«dz 8 GB RAM. PriekÅ”Ä ir moduļi ar 16 GB vai vairÄk RAM. EdinÄlÄm mitinÄÅ”anas lietojumprogrammÄm, kuru pamatÄ ir mÄkoÅtehnoloÄ£ijas, vairs nepietiek ar 1 GB RAM, un nesenie moduļi ar 2, 4 un pat 8 GB RAM nodroÅ”ina labu iespÄju izaugsmei. MÄs pat apsvÄrÄm iespÄjas ar FPGA moduļiem maŔīnmÄcÄ«bas lietojumprogrammÄm, taÄu to atbalsts tika atlikts, jo programmatÅ«ras ekosistÄma nebija izstrÄdÄta. PÄtot moduļu tirgu, mums radÄs ideja izveidot moduļiem universÄlu interfeisu, un V2 sÄkam unificÄt skaitļoÅ”anas moduļu saskarni. Tas ļaus V2 versijas Ä«paÅ”niekiem savienot moduļus no citiem ražotÄjiem un sajaukt tos konkrÄtiem uzdevumiem.
V2 atbalsta visu Raspberry Pi 4 Compute Module (CM4) līniju, ieskaitot Lite versijas un moduļus ar 8 GB RAM
PerifÄrija
PÄc moduļu pÄrdevÄja un mezglu skaita noteikÅ”anas mÄs tuvojÄmies PCI kopnei, uz kuras atrodas perifÄrijas ierÄ«ces. PCI kopne ir perifÄrijas ierÄ«Äu standarts, un tÄ ir atrodama gandrÄ«z visos skaitļoÅ”anas moduļos. Mums ir vairÄki mezgli, un ideÄlÄ gadÄ«jumÄ katrs mezgls var koplietot PCI ierÄ«ces konkurences pieprasÄ«juma režīmÄ. PiemÄram, ja tas ir disks, kas savienots ar kopni, tad tas ir pieejams visiem mezgliem. MÄs sÄkÄm meklÄt PCI slÄdžus ar multihost atbalstu un atklÄjÄm, ka neviens no tiem neatbilst mÅ«su prasÄ«bÄm. Visi Å”ie risinÄjumi galvenokÄrt bija ierobežoti lÄ«dz vienam resursdatoram vai vairÄkiem saimniekdatoriem, taÄu bez vienlaicÄ«gu pieprasÄ«jumu režīma galapunktiem. Otra problÄma ir augstÄs izmaksas par 1 USD vai vairÄk par vienu mikroshÄmu. V50 mÄs nolÄmÄm atlikt eksperimentus ar PCI slÄdžiem (pie tiem atgriezÄ«simies vÄlÄk, kad mÄs izstrÄdÄsim) un izvÄlÄjÄmies katra mezgla lomu pieŔķirÅ”anu: pirmie divi mezgli ir pakļauti mini PCI ekspresportam katram mezglam, treÅ”ais mezgls ir atklÄts. 2 portu 2 Gbps SATA kontrolieris. Lai piekļūtu diskiem no citiem mezgliem, klasterÄ« varat izmantot tÄ«kla failu sistÄmu. KÄpÄc ne?
Sneakpeek
MÄs nolÄmÄm diskusiju un pÄrdomu laikÄ dalÄ«ties ar dažÄm skicÄm par to, kÄ minimÄlais klasteru bloks laika gaitÄ ir attÄ«stÄ«jies.
RezultÄtÄ mÄs nonÄcÄm pie klastera vienÄ«bas ar 4 260 pin mezgliem, 2 mini PCIe (Gen 2) portiem, 2 SATA (Gen 3) portiem. PlatÄ ir Layer-2 Managed Switch ar VLAN atbalstu. PirmajÄ mezglÄ ir mini PCIe ports, kurÄ varat instalÄt tÄ«kla karti un iegÅ«t citu Ethernet portu vai 5G modemu un pÄrvÄrst pirmo mezglu par marÅ”rutÄtÄju tÄ«klam klasterÄ« un Ethernet portos.
Klastera kopnei ir vairÄk funkciju, tostarp iespÄja mirgot moduļus tieÅ”i caur visiem slotiem un, protams, FAN savienotÄji katrÄ mezglÄ ar Ätruma kontroli.
iesniegums
Edge infrastruktÅ«ra paÅ”mitinÄtÄm lietojumprogrammÄm un pakalpojumiem
MÄs izstrÄdÄjÄm V2 ar mÄrÄ·i izmantot to kÄ minimÄlu celtniecÄ«bas bloku patÄrÄtÄju/komerciÄlÄs kvalitÄtes infrastruktÅ«rai. Izmantojot V2, ir lÄti sÄkt koncepcijas un mÄroga pÄrbaudi, pieaugot, pakÄpeniski migrÄjot lietojumprogrammas, kuru mitinÄÅ”ana ir ekonomiskÄka un praktiskÄka. Klasteru blokus var savienot kopÄ, lai izveidotu lielÄkus klasterus. To var izdarÄ«t pakÄpeniski, neradot Ä«paÅ”us riskus
procesi. MÅ«sdienÄs ir ļoti daudz pieteikumu biznesam,
ARM darbstacija
Ar lÄ«dz pat 32 GB RAM katrÄ klasterÄ« pirmo mezglu var izmantot operÄtÄjsistÄmas darbvirsmas versijai (piemÄram, Ubuntu Desktop 20.04 LTS), bet pÄrÄjos 3 mezglus var izmantot kompilÄcijas, testÄÅ”anas un atkļūdoÅ”anas uzdevumiem, kÄ arÄ« mÄkoÅa native izstrÄdei. risinÄjumi ARM klasteriem. KÄ mezgls CI/CD ARM perifÄrijas infrastruktÅ«rÄ ražoÅ”anÄ.
Turing V2 klasteris ar CM4 moduļiem ir gandrÄ«z identisks pÄc arhitektÅ«ras (atŔķirÄ«ba ir ARMv8 mazajÄs versijÄs) ar klasteru, kura pamatÄ ir AWS Graviton gadÄ«jumi. CM4 moduļa procesors izmanto ARMv8 arhitektÅ«ru; varat apkopot attÄlus un lietojumprogrammas AWS Graviton 1 un 2 gadÄ«jumiem, kas, kÄ zinÄms, ir daudz lÄtÄki nekÄ x86 gadÄ«jumi.
Avots: www.habr.com