Mini ITX Cluster Turing Pi 2 me 32 GB RAM

Mini ITX Cluster Turing Pi 2 me 32 GB RAM

Përshëndetje për komunitetin Habr! Kohët e fundit kam shkruar për bordin tonë të grupit të versionit të parë [V1]. Dhe sot dua t'ju tregoj se si kemi punuar në versionin Turing V2 me 32 GB kujtesë e gjallë.

Ne jemi të dhënë pas mini serverëve që mund të përdoren si për zhvillimin lokal ashtu edhe për pritjen lokale. Ndryshe nga kompjuterët desktop ose laptopët, serverët tanë janë krijuar për të punuar 24/7, ata mund të federohen shpejt, për shembull, kishte 4 procesorë në një grup, dhe pas 5 minutash kishte 16 procesorë (pa pajisje shtesë të rrjetit) dhe e gjithë kjo ne nje forme kompakte faktor i heshtur dhe me efikasitet energjie.

Arkitektura e serverëve tanë bazohet në parimin e klasterit të ndërtimit, d.m.th. ne bëjmë tabela grupore që, duke përdorur rrjetin ethernet në tabelë, lidhin disa module kompjuterike (procesorë). Për ta thjeshtuar, ne nuk bëjmë ende modulet tona kompjuterike, por përdorim modulet llogaritëse Raspberry Pi dhe shpresonim vërtet për modulin e ri CM4. Por, gjithçka shkoi kundër planeve me faktorin e ri të formës së tyre dhe mendoj se shumë janë të zhgënjyer.

Nën prerjen, si shkuam nga V1 në V2 dhe si duhej të dilnim me faktorin e ri të formës Raspberry Pi CM4.

Pra, pas krijimit të një grupi për 7 nyje, pyetjet janë - çfarë është më pas? Si të rritet vlera e një produkti? 8, 10 apo 16 nyje? Cilët prodhues të moduleve? Duke menduar për produktin në tërësi, kuptuam se gjëja kryesore këtu nuk është numri i nyjeve ose kush është prodhuesi, por vetë thelbi i grupimeve si një bllok ndërtimi. Ne duhet të kërkojmë bllokun minimal të ndërtimit që

Parë, do të jetë një grup dhe në të njëjtën kohë do të jetë në gjendje të lidh disqe dhe tabela zgjerimi. Blloku i grupit duhet të jetë një nyje bazë e vetë-mjaftueshme dhe me një gamë të gjerë opsionesh zgjerimi.

E dyta, në mënyrë që blloqet minimale të grupimeve të mund të lidhen me njëri-tjetrin duke ndërtuar grupime me përmasa më të mëdha dhe në mënyrë që të jetë efikas për sa i përket buxhetit dhe shpejtësisë së shkallëzimit. Shpejtësia e shkallëzimit duhet të jetë më e shpejtë se lidhja e kompjuterëve të zakonshëm me një rrjet dhe shumë më e lirë se hardueri i serverit.

E treta, njësitë minimale të grupimit duhet të jenë mjaft kompakte, të lëvizshme, efikase në energji, me kosto efektive dhe jo kërkuese për kushtet e funksionimit. Ky është një nga ndryshimet kryesore nga raftet e serverëve dhe gjithçka që lidhet me ta.

Filluam duke përcaktuar numrin e nyjeve.

Numri i nyjeve

Me gjykime të thjeshta logjike, kuptuam se 4 nyje është alternativa më e mirë për bllokun minimal të grupimit. 1 nyje nuk është një grup, 2 nyje nuk janë të mjaftueshme (1 master 1 punëtor, nuk ka mundësi të shkallëzimit brenda një blloku, veçanërisht për opsionet heterogjene), 3 nyje duken në rregull, por jo një shumëfish i fuqive prej 2 dhe shkallëzimi brenda një bllok është i kufizuar, 6 nyje vijnë me një çmim pothuajse si 7 nyje (nga përvoja jonë ky është tashmë një çmim i madh kostoje), 8 është shumë, nuk përshtatet në faktorin e formës mini ITX dhe një zgjidhje edhe më e shtrenjtë PoC.

Katër nyje për bllok konsiderohen mesatarja e artë:

  • më pak materiale për pllakë grumbullimi, pra më e lirë për t'u prodhuar
  • shumëfish i 4, gjithsej 4 blloqe japin 16 procesorë fizikë
  • qark i qëndrueshëm 1 master dhe 3 punëtorë
  • variacione më heterogjene, module të përgjithshme-llogaritëse + të përshpejtuara-llogaritëse
  • Faktori i formës mini ITX me disqet SSD dhe kartat e zgjerimit

Llogaritni modulet

Versioni i dytë është i bazuar në CM4, menduam se do të dalë në faktorin e formës SODIMM. Por…
Ne morëm një vendim për të krijuar një tabelë SODIMM dhe për të mbledhur CM4 direkt në module, në mënyrë që përdoruesit të mos kenë nevojë të mendojnë për CM4.

Mini ITX Cluster Turing Pi 2 me 32 GB RAM
Moduli llogaritës Turing Pi që mbështet Raspberry Pi CM4

Në përgjithësi, në kërkim të moduleve, u hap një treg i tërë i moduleve kompjuterike nga module të vogla me 128 MB RAM deri në 8 GB RAM. Modulet me 16 GB RAM dhe më shumë janë përpara. Për pritjen e aplikacioneve të skajshme bazuar në teknologjitë vendase të cloud, 1 GB RAM tashmë nuk mjafton, dhe shfaqja e fundit e moduleve për 2, 4 dhe madje 8 GB RAM ofron hapësirë ​​të mirë për rritje. Ata madje morën parasysh opsionet me modulet FPGA për aplikacionet e mësimit të makinerive, por mbështetja e tyre është vonuar për shkak se ekosistemi i softuerit nuk është zhvilluar. Gjatë studimit të tregut të moduleve, ne dolëm me idenë e krijimit të një ndërfaqe universale për modulet, dhe në V2 fillojmë të unifikojmë ndërfaqen e moduleve kompjuterike. Kjo do t'i lejojë pronarët e versionit V2 të lidhin module nga prodhues të tjerë dhe t'i përziejnë ato për detyra specifike.

V2 mbështet të gjithë linjën Raspberry Pi 4 Compute Module (CM4), duke përfshirë versionet Lite dhe modulet RAM 8 GB

Mini ITX Cluster Turing Pi 2 me 32 GB RAM

Periferi

Pas përcaktimit të shitësit të moduleve dhe numrit të nyjeve, ne iu afruam autobusit PCI në të cilin ndodhen pajisjet periferike. Autobusi PCI është standardi për pajisjet periferike dhe gjendet pothuajse në të gjitha modulet kompjuterike. Ne kemi disa nyje, dhe në mënyrë ideale, çdo nyje duhet të jetë në gjendje të ndajë pajisjet PCI në modalitetin e kërkesës së njëkohshme. Për shembull, nëse është një disk i lidhur me autobusin, atëherë ai është i disponueshëm për të gjitha nyjet. Filluam të kërkonim ndërprerës PCI me mbështetje me shumë host dhe zbuluam se asnjëri prej tyre nuk i përshtatet kërkesave tona. Të gjitha këto zgjidhje ishin kryesisht të kufizuara në 1 host ose shumë host, por pa modalitetin e kërkesave të njëkohshme në pikat fundore. Problemi i dytë është kostoja e lartë prej 50 dollarësh ose më shumë për çip. Në V2, vendosëm të shtynim eksperimentet me ndërprerës PCI (do t'u kthehemi atyre më vonë kur të zhvillojmë) dhe shkuam në rrugën e caktimit të një roli për secilën nyje: dy nyjet e para ekspozuan mini portin PCI Express për nyje, nyja e tretë. Ekspozuar kontrollues SATA me 2 porte 6 Gbps . Për të hyrë në disqe nga nyje të tjera, mund të përdorni sistemin e skedarëve të rrjetit brenda grupit. Pse jo?

Sneakpeek

Ne vendosëm të ndajmë disa skica se si blloku minimal i grupimit ka evoluar me kalimin e kohës përmes diskutimit dhe reflektimit.

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

Si rezultat, arritëm në një njësi grupi me 4 nyje 260-pin, 2 porte mini PCIe (Gen 2), 2 porte SATA (Gen 3). Bordi ka një ndërprerës të menaxhuar me shtresa-2 me mbështetje VLAN. Një mini port PCIe është hequr nga nyja e parë, në të cilën mund të instaloni një kartë rrjeti dhe të merrni një portë tjetër Ethernet ose modem 5G dhe të krijoni një ruter për rrjetin në grup dhe portat Ethernet nga nyja e parë.

Mini ITX Cluster Turing Pi 2 me 32 GB RAM

Autobusi i grupit ka më shumë veçori, duke përfshirë aftësinë për të ndezur modulet drejtpërdrejt nëpër të gjitha slotat dhe sigurisht lidhësit FAN në secilën nyje me kontroll të shpejtësisë.

Aplikim

Infrastruktura e skajshme për aplikacionet dhe shërbimet e vetë-strehuara

Ne projektuam V2 të jetë blloku minimal i ndërtimit për një infrastrukturë të nivelit të konsumit/komercial. Me V2, është e lirë të filloni provimin e konceptit dhe shkallëzimin ndërsa rriteni, duke transferuar gradualisht aplikacione që janë më ekonomike dhe praktike për t'u pritur në avantazh. Blloqet e grupimeve mund të lidhen së bashku për të ndërtuar grupime më të mëdha. Kjo mund të bëhet gradualisht pa shumë rrezik për të vendosur
proceset. Tashmë sot ka një numër të madh aplikimesh për biznes, të cilat mund të priten në nivel lokal.

Stacioni i punës ARM

Me deri në 32 GB RAM për grup, nyja e parë mund të përdoret për versionin desktop të sistemit operativ (për shembull, Ubuntu Desktop 20.04 LTS) dhe 3 nyjet e mbetura për kompilimin, testimin dhe korrigjimin e detyrave, zhvillimin e zgjidhjeve vendase të cloud për ARM grupime. Si një nyje për CI / CD në infrastrukturën e skajit ARM në prod.

Grupi Turing V2 me modulet CM4 është pothuajse identik arkitektonik (ndryshimi në versionet e vogla të ARMv8) me grupimin e bazuar në instancat AWS Graviton. Procesori i modulit CM4 përdor arkitekturën ARMv8 në mënyrë që të mund të ndërtoni imazhe dhe aplikacione për instancat AWS Graviton 1 dhe 2, të cilat dihet se janë shumë më të lira se instancat x86.

Burimi: www.habr.com