Mini ITX Cluster Turing Pi 2 mat 32 GB RAM

Mini ITX Cluster Turing Pi 2 mat 32 GB RAM

Gréiss un d'Habr Gemeinschaft! Ech hunn viru kuerzem iwwer eis éischt Versioun Cluster Board geschriwwen [V1]. An haut wëll ech Iech soen wéi mir un der Versioun geschafft hunn Turing V2 mat 32 GB zoufälleg Zougang Erënnerung.

Mir si gär vu Mini Serveren déi souwuel fir lokal Entwécklung a lokal Hosting kënne benotzt ginn. Am Géigesaz zu Desktopcomputer oder Laptops sinn eis Serveren entwéckelt fir 24/7 ze schaffen, si kënne séier federéiert ginn, zum Beispill, et waren 4 Prozessoren an engem Cluster, an no 5 Minutten waren et 16 Prozessoren (keng zousätzlech Netzwierkausrüstung) an all dat an enger kompakter Formfaktor roueg an energieeffizient.

D'Architektur vun eise Server baséiert um Cluster Prinzip vum Bau, d.h. mir maachen Stärekoup Conseils datt, mat der Ethernet Reseau op der Verwaltungsrot, Verbindung puer Rechenzäit Moduler (Prozessoren). Fir ze vereinfachen, maache mir nach net eis eege Rechenmoduler, awer benotze Raspberry Pi Compute Moduler a mir hu wierklech op den neien CM4 Modul gehofft. Awer alles ass géint d'Pläng mat hirem neie Formfaktor gaangen an ech mengen datt vill enttäuscht sinn.

Ënnert dem Schnëtt, wéi mir vu V1 op V2 gaange sinn a wéi mir mat dem neie Raspberry Pi CM4 Formfaktor hu missen erauskommen.

Also, nodeems Dir e Cluster fir 7 Wirbelen erstallt hutt, sinn d'Froen - wat ass nächst? Wéi de Wäert vun engem Produkt ze erhéijen? 8, 10 oder 16 Noden? Wéi eng Modulhersteller? Wann Dir un de Produit als Ganzt denkt, hu mir gemierkt datt den Haapt Saach hei net d'Zuel vun de Wirbelen ass oder wien den Hiersteller ass, awer d'ganz Essenz vu Cluster als Bausteng. Mir musse kucken fir de Minimum Bausteen deen

Déi éischt, wäert e Cluster sinn a gläichzäiteg fäeg sinn Disken an Expansiounsplaten ze verbannen. De Clusterblock soll e selbststänneg Basisknuet sinn a mat enger breet Palette vun Expansiounsoptiounen.

Déi zweet, sou datt d'Mindestclusterblocken matenee verbonne kënne ginn andeems Cluster vun enger méi grousser Gréisst bauen a sou datt et effizient ass wat Budget a Skalageschwindegkeet ugeet. D'Skaléierungsgeschwindegkeet muss méi séier sinn wéi d'Verbindung vu gewéinleche Computeren an e Netzwierk a vill méi bëlleg wéi Serverhardware.

Drëtt, d'Mindestcluster-Eenheeten solle genuch kompakt, mobil, energieeffizient, kosteneffektiv sinn an net op Operatiounsbedingungen erfuerderlech sinn. Dëst ass ee vun de Schlëssel Differenzen aus Server Racken an alles mat hinnen verbonnen.

Mir hunn ugefaang mat der Bestëmmung vun der Unzuel vun de Wirbelen.

Zuel vun Wirbelen

Mat einfache logesche Uerteeler hu mir gemierkt datt 4 Noden déi bescht Optioun fir de Minimum Clusterblock ass. 1 Node ass kee Cluster, 2 Node sinn net genuch (1 Meeschter 1 Aarbechter, et gëtt keng Méiglechkeet fir an engem Block ze skaléieren, besonnesch fir heterogen Optiounen), 3 Node kucken ok, awer net e Multiple vu Kräfte vun 2 a Skaléieren bannent e Block ass limitéiert, 6 Wirbelen kommen zu engem Präis bal wéi 7 Wirbelen (aus eiser Erfahrung ass dëst schonn e grousse Käschtepräis), 8 ass vill, passt net an de Mini ITX Formfaktor an eng nach méi deier PoC Léisung.

Véier Node pro Block ginn als de gëllene Mëttel ugesinn:

  • manner Material pro Cluster Verwaltungsrot, also méi bëlleg ze Fabrikatioun
  • multiple vun 4, Ganzen 4 Block ginn 16 kierperlech Prozessor
  • stabil Circuit 1 Meeschtesch an 3 Aarbechter
  • méi heterogen Variatiounen, allgemeng Berechnung + beschleunegt Rechenmoduler
  • mini ITX Form Faktor mat SSD fiert an Expansioun Kaarte

Berechent Moduler

Déi zweet Versioun baséiert op CM4, mir geduecht, datt et an SODIMM Form Faktor verëffentlecht ginn. Awer…
Mir hunn eng Entscheedung getraff fir e SODIMM-Duechterboard ze maachen an CM4 direkt a Moduler ze sammelen, sou datt d'Benotzer net iwwer CM4 mussen denken.

Mini ITX Cluster Turing Pi 2 mat 32 GB RAM
Turing Pi Compute Modul ënnerstëtzt Raspberry Pi CM4

Am Allgemengen, op der Sich no Moduler, gouf e ganze Maart vu Rechenmoduler vu klenge Moduler mat 128 MB RAM op 8 GB RAM opgemaach. Moduler mat 16 GB RAM a méi sinn virun. Fir Randapplikatiounshosting baséiert op Cloud-native Technologien, ass 1 GB RAM scho net genuch, an déi rezent Erscheinung vu Moduler fir 2, 4 a souguer 8 GB RAM bitt gutt Plaz fir Wuesstum. Si hunn souguer Optiounen mat FPGA Moduler fir Maschinnléiereapplikatiounen betruecht, awer hir Ënnerstëtzung gouf verspéit well d'Software-Ökosystem net entwéckelt ass. Wärend de Modulmaart studéiert hu mir d'Iddi fir eng universell Interface fir Moduler ze kreéieren, an am V2 fänken mir un d'Interface vun de Rechenmoduler ze vereenegen. Dëst erlaabt d'Besëtzer vun der V2 Versioun Moduler vun aneren Hiersteller ze verbannen an se fir spezifesch Aufgaben ze mëschen.

V2 ënnerstëtzt déi ganz Raspberry Pi 4 Compute Module (CM4) Linn, inklusiv Lite Versiounen an 8 GB RAM Moduler

Mini ITX Cluster Turing Pi 2 mat 32 GB RAM

Peripherie

Nodeems mir de Verkeefer vun de Moduler an d'Zuel vun de Knäpper festgestallt hunn, hu mir de PCI Bus ukomm, op deem d'Peripherieger sinn. De PCI Bus ass de Standard fir Peripherieger a gëtt a bal all Rechenmoduler fonnt. Mir hunn e puer Wirbelen, an am Idealfall soll all Node fäeg sinn PCI-Geräter am concurrent Ufro-Modus ze deelen. Zum Beispill, wann et eng Scheif un de Bus ugeschloss ass, ass et fir all Wirbelen verfügbar. Mir hunn ugefaang no PCI-Schalter mat Multi-Host-Ënnerstëtzung ze sichen a fonnt datt keen vun hinnen eis Ufuerderunge passt. All dës Léisunge ware meeschtens limitéiert op 1 Host oder Multi Hosten, awer ouni de Modus vu gläichzäiteg Ufroe fir Endpunkte. Déi zweet Problem ass déi héich Käschte vun $ 50 oder méi pro Chip. Am V2 hu mir beschloss Experimenter mat PCI Schalter ze posten (mir wäerte spéider op se zréckkommen wéi mir entwéckelen) a si laanscht de Wee gaang fir eng Roll fir all Node ze ginn: déi éischt zwee Wirbelen ausgesat Mini PCI Express Port pro Node, den drëtten Node ausgesat 2-Ports 6 Gbps SATA Controller. Fir Zougang zu Disken vun anere Wirbelen ze kréien, kënnt Dir de Netzwierkdateisystem am Cluster benotzen. Firwat net?

Sneakpeek

Mir hunn décidéiert e puer Skizzen ze deelen wéi de Minimum Cluster Block iwwer Zäit duerch Diskussioun a Reflexioun evoluéiert huet.

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

Als Resultat koumen mir zu engem Cluster Eenheet mat 4 260-Pin Noden, 2 Mini PCIe (Gen 2) Ports, 2 SATA (Gen 3) Ports. De Board huet e Layer-2 Managed Switch mat VLAN Ënnerstëtzung. E Mini PCIe Hafen ass aus dem éischte Node geläscht ginn, an deem Dir eng Netzwierkkaart installéiere kënnt an en aneren Ethernet Hafen oder 5G Modem kréien an e Router fir d'Netzwierk op de Cluster an Ethernet Ports aus dem éischte Node maachen.

Mini ITX Cluster Turing Pi 2 mat 32 GB RAM

De Stärekoup Bus huet méi Fonctiounen, dorënner d'Fähegkeet Moduler ze Flash direkt duerch all Plaze an natierlech FAN kommentéieren op all Node mat Vitesse Kontroll.

Applikatioun

Edge Infrastruktur fir selbsthostéiert Uwendungen & Servicer

Mir hunn V2 entworf fir de Minimum Bausteng fir eng Konsument / kommerziell-grade Randinfrastruktur ze sinn. Mat V2 ass et bëlleg fir Beweis vu Konzept ze starten an ze skaléieren wéi Dir wuesse, lues a lues Uwendungen portéieren déi méi kosteneffektiv a praktesch sinn fir um Rand ze hosten. Clusterblocken kënne matenee verbonne ginn fir méi grouss Cluster ze bauen. Dëst kann graduell gemaach ginn ouni vill Risiko fir etabléiert
Prozesser. Schonn haut ginn et eng grouss Zuel vun Uwendungen fir d'Geschäft, déi lokal kënne gehost ginn.

ARM Workstation

Mat bis zu 32 GB RAM pro Cluster kann den éischten Node fir d'Desktop Versioun vum OS benotzt ginn (zum Beispill Ubuntu Desktop 20.04 LTS) an déi verbleiwen 3 Node fir Kompiléierung, Testen an Debugging Aufgaben, Cloud native Léisunge fir ARM entwéckelen Stärekéip. Als Node fir CI / CD op ARM Rand Infrastruktur am Prod.

Turing V2 Stärekoup mat CM4 Moduler ass bal identesch architektonesch (Differenz a kleng Versioune vun ARMv8) zu Cluster baséiert op AWS Graviton Instanzen. Den CM4 Modulprozessor benotzt d'ARMv8 Architektur sou datt Dir Biller an Uwendungen fir AWS Graviton 1 an 2 Instanzen bauen kënnt, déi bekannt sinn vill méi bëlleg wéi x86 Instanzen.

Source: will.com