Mini ITX Cluster Turing Pi 2 ar 32 GB RAM

Mini ITX Cluster Turing Pi 2 ar 32 GB RAM

Sveiciens Habr kopienai! Es nesen rakstÄ«ju par mÅ«su pirmās versijas klastera dēli [V1]. Un Å”odien es vēlos jums pastāstÄ«t, kā mēs strādājām pie versijas Turing V2 ar 32 GB RAM.

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.

Mini ITX Cluster Turing Pi 2 ar 32 GB RAM
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

Mini ITX Cluster Turing Pi 2 ar 32 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.

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

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.

Mini ITX Cluster Turing Pi 2 ar 32 GB RAM

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, kuras var mitināt lokāli.

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