Mini ITX Cluster Turing Pi 2 32 GB RAMarekin

Mini ITX Cluster Turing Pi 2 32 GB RAMarekin

Zorionak Habr komunitateari! Duela gutxi gure lehen bertsioko kluster taulari buruz idatzi nuen [V1]. Eta gaur bertsioa nola lan egin dugun kontatu nahi dizuet Turing V2 32 GBrekin ausazko sarbide memoria.

Tokiko garapenerako zein tokiko hostingerako erabil daitezkeen mini zerbitzariak gustuko ditugu. Mahaigaineko ordenagailuak edo ordenagailu eramangarriak ez bezala, gure zerbitzariak 24/7 lan egiteko diseinatuta daude, azkar federatu daitezke, adibidez, kluster batean 4 prozesadore zeuden, eta 5 minuturen buruan 16 prozesadore zeuden (sare ekipamendu gehigarririk ez) eta hori guztia. forma trinkoan isila eta energia eraginkorra.

Gure zerbitzarien arkitektura cluster eraikuntzaren printzipioan oinarritzen da, hau da. plakako ethernet sarea erabiliz hainbat konputazio-modulu (prozesadore) konektatzen dituzten cluster plakak egiten ditugu. Sinplifikatzeko, oraindik ez ditugu gure informatika moduluak egiten, baina Raspberry Pi Compute Modules erabili eta benetan espero genuen CM4 modulu berria. Baina, dena planen aurka joan zen euren forma faktore berriarekin eta asko etsita daudela uste dut.

Mozketaren azpian, nola joan ginen V1etik V2ra eta nola atera behar izan genuen Raspberry Pi CM4 forma-faktore berriarekin.

Beraz, 7 nodoentzako kluster bat sortu ondoren, galderak hauek dira: zer da hurrengoa? Nola handitu produktu baten balioa? 8, 10 edo 16 nodo? Zein modulu fabrikatzaileak? Produktua osotasunean pentsatuz, konturatu ginen hemen gauza nagusia ez dela nodo kopurua edo fabrikatzailea nor den, baizik eta klusterren funtsa eraikuntza-bloke gisa. Hori gutxieneko eraikuntza-blokea bilatu behar dugu

Lehenengo eta behin,, kluster bat izango da eta, aldi berean, diskoak eta hedapen-plakak konektatu ahal izango ditu. Kluster-blokeak oinarrizko nodo autosufizientea izan behar du eta hedapen-aukera zabal batekin.

Bigarren, gutxieneko kluster blokeak elkarren artean konektatu ahal izateko, tamaina handiagoko klusterrak eraikiz eta eraginkorra izan dadin aurrekontuari eta eskalatze-abiadurari dagokionez. Eskalatzeko abiadura ordenagailu arruntak sare batera konektatzea baino azkarragoa izan behar du eta zerbitzariaren hardwarea baino askoz merkeagoa.

hirugarren, gutxieneko kluster-unitateek nahikoa trinkoa, mugikorra, energetikoki eraginkorra, kostu-eraginkorra eta funtzionamendu-baldintzetan zorrotza izan behar dute. Hau da zerbitzariaren rackekiko eta haiekin lotutako guztiaren desberdintasun nagusietako bat.

Nodo kopurua zehazten hasi ginen.

Nodo kopurua

Judizio logiko sinpleekin, 4 nodo gutxieneko cluster blokerako aukerarik onena dela konturatu ginen. 1 nodo ez da kluster bat, 2 nodo ez dira nahikoa (1 maisu 1 langile, ez dago bloke baten barruan eskalatzeko aukerarik, batez ere aukera heterogeneoetarako), 3 nodoek ondo ikusten dute, baina ez 2-ren potentziaren multiploa eta barruan eskalatzeko. bloke bat mugatua da, 6 nodo ia 7 nodo bezalako prezioa dute (gure esperientziaren arabera hau kostu prezio handia da dagoeneko), 8 asko da, ez da mini ITX forma faktorean sartzen eta PoC irtenbide are garestiagoa.

Bloke bakoitzeko lau nodo urrezko batez bestekotzat hartzen dira:

  • Cluster taula bakoitzeko material gutxiago, beraz, fabrikatzeko merkeagoa
  • 4ren multiploa, guztira 4 blokeek 16 prozesadore fisiko ematen dituzte
  • zirkuitu egonkorra 1 maisu eta 3 langile
  • aldakuntza heterogeneoagoak, konputazio orokorra + konputazio azeleratuko moduluak
  • mini ITX forma-faktorea SSD unitateekin eta hedapen-txartelekin

Konputazio moduluak

Bigarren bertsioa CM4-n oinarritzen da, pentsatu genuen SODIMM forma-faktorean aterako dela. Baina…
SODIMM plaka alaba bat egitea eta CM4 zuzenean moduluetan muntatzea erabaki genuen, erabiltzaileek CM4n pentsatu behar izan ez dezaten.

Mini ITX Cluster Turing Pi 2 32 GB RAMarekin
Turing Pi Konputazio Modulua Raspberry Pi CM4 onartzen duena

Oro har, moduluen bila, informatika-moduluen merkatu oso bat ireki zen 128 MB-ko RAM-a zuten modulu txikietatik 8 GB-ra. 16 GB RAM eta gehiago dituzten moduluak aurretik daude. Hodeiko jatorrizko teknologietan oinarritutako ertz-aplikazioen ostalaritzarako, 1 GB RAM ez da nahikoa, eta 2, 4 eta 8 GB RAM moduluen agerpenak hazteko leku ona eskaintzen du. Ikaskuntza automatikoko aplikazioetarako FPGA moduluekin aukerak ere kontuan hartu zituzten, baina haien laguntza atzeratu egin da, software ekosistema garatu ez delako. Moduluen merkatua aztertzen ari ginen bitartean, moduluen interfaze unibertsala sortzea bururatu zitzaigun, eta V2n informatika moduluen interfazea bateratzen hasten gara. Horri esker, V2 bertsioaren jabeek beste fabrikatzaile batzuen moduluak konektatu eta zeregin zehatzetarako nahastuko dituzte.

V2-k Raspberry Pi 4 Compute Module (CM4) linea osoa onartzen du, Lite bertsioak eta 8 GB RAM moduluak barne.

Mini ITX Cluster Turing Pi 2 32 GB RAMarekin

Periferia

Moduluen saltzailea eta nodo kopurua zehaztu ondoren, periferikoak dauden PCI busera hurbildu gara. PCI busa periferikoetarako estandarra da eta ia informatika-modulu guztietan aurkitzen da. Hainbat nodo ditugu, eta, hoberena, nodo bakoitzak PCI gailuak partekatzeko gai izan beharko luke eskaera moduan. Adibidez, autobusera konektatuta dagoen diskoa bada, nodo guztientzat eskuragarri dago. Ostalari anitzeko euskarria duten PCI etengailuen bila hasi ginen eta haietako bat ere ez zela gure eskakizunetara egokitzen ikusi genuen. Irtenbide horiek guztiak ostalari bakarrera edo ostalari anitzera mugatzen ziren gehienetan, baina amaierako puntuetarako aldi berean eskaerak egiteko modurik gabe. Bigarren arazoa txip bakoitzeko 1 $ edo gehiagoko kostu handia da. V50-n, PCI etengailuekin esperimentuak atzeratzea erabaki genuen (beranduago itzuliko gara garatzen garen heinean) eta nodo bakoitzari rol bat esleitzeko bideari ekin genion: lehenengo bi nodoek mini PCI express ataka erakusten zuten nodo bakoitzeko, hirugarren nodoak. agerian dagoen 2 atakako 2 Gbps SATA kontrolagailua. Beste nodo batzuetatik diskoetara sartzeko, sareko fitxategi-sistema erabil dezakezu kluster barruan. Zergatik ez?

Sneakpeek

Gutxieneko kluster blokea denboran zehar nola eboluzionatu den buruzko zirriborro batzuk partekatzea erabaki genuen eztabaida eta hausnarketaren bidez.

Mini ITX Cluster Turing Pi 2 32 GB RAMarekinMini ITX Cluster Turing Pi 2 32 GB RAMarekinMini ITX Cluster Turing Pi 2 32 GB RAMarekin

Ondorioz, 4 260 pin nodo, 2 mini PCIe (Gen 2) ataka, 2 SATA (Gen 3) ataka dituen cluster unitate batera iritsi gara. Plakak Layer-2 Managed Switch bat du VLAN laguntzarekin. Lehenengo nodotik mini PCIe ataka bat kendu da, eta bertan sare-txartel bat instalatu dezakezu eta beste Ethernet ataka edo 5G modem bat eskuratu eta sarerako bideratzaile bat egin dezakezu kluster eta Ethernet ataka lehen nodotik.

Mini ITX Cluster Turing Pi 2 32 GB RAMarekin

Cluster-busak ezaugarri gehiago ditu, tartean moduluak zuzenean zirrikitu guztietan flash egiteko gaitasuna eta nodo bakoitzean FAN konektoreak abiadura kontrolarekin.

Eskaera

Auto-ostatatutako aplikazio eta zerbitzuetarako Edge azpiegitura

V2 kontsumitzaile/merkataritza-mailako ertzeko azpiegitura baterako gutxieneko eraikuntza-blokea izateko diseinatu dugu. V2-rekin, merke da kontzeptu-froga hastea eta hazten zaren heinean eskalatzea, pixkanaka-pixkanaka ertzean ostatatzeko errentagarriagoak eta praktikoagoak diren aplikazioak eramanez. Kluster blokeak elkarrekin konekta daitezke kluster handiagoak sortzeko. Hori pixkanaka egin daiteke, arrisku handirik ezarri gabe
prozesuak. Dagoeneko gaur egun negozioetarako aplikazio kopuru handia dago, lokalean ostata daitekeena.

ARM Lanpostua

Gehienez 32 GB RAM kluster bakoitzeko, lehen nodoa OSaren mahaigaineko bertsiorako erabil daiteke (adibidez, Ubuntu Desktop 20.04 LTS) eta gainerako 3 nodoak konpilazio, proba eta arazketa zereginetarako, ARMrako hodeiko jatorrizko irtenbideak garatuz. klusterrak. CI / CDrako nodo gisa ARM ertzeko azpiegituran prod.

CM2 moduluekin Turing V4 clusterra ia berdina da arkitektura aldetik (ARMv8-ren bertsio txikietan aldea) AWS Graviton instantzietan oinarritutako clusterrarekin. CM4 moduluaren prozesadoreak ARMv8 arkitektura erabiltzen du, AWS Graviton 1 eta 2 instantzietarako irudiak eta aplikazioak eraiki ditzakezu, x86 instantziak baino askoz merkeagoak direla ezagutzen dena.

Iturria: www.habr.com