Mini ITX Cluster Turing Pi 2 mei 32 GB RAM

Mini ITX Cluster Turing Pi 2 mei 32 GB RAM

Groetnis oan 'e Habr-mienskip! Ik koartlyn skreau oer ús earste ferzje kluster board [V1]. En hjoed wol ik jo fertelle hoe't wy wurke hawwe oan 'e ferzje Turing V2 mei 32 GB willekeurige tagong ûnthâld.

Wy binne dol op mini-servers dy't kinne wurde brûkt foar sawol lokale ûntwikkeling as lokale hosting. Oars as buroblêdkompjûters of laptops binne ús servers ûntworpen om 24/7 te wurkjen, se kinne fluch federearre wurde, bygelyks wiene d'r 4 processors yn in kluster, en nei 5 minuten wiene d'r 16 processors (gjin ekstra netwurkapparatuer) en dit alles yn in kompakte foarm faktor stil en enerzjysunich.

De arsjitektuer fan ús servers is basearre op it klusterprinsipe fan bou, d.w.s. wy meitsje kluster boards dy't, mei help fan it ethernet netwurk op it bestjoer, ferbine ferskate kompjûter modules (processors). Om te ferienfâldigjen meitsje wy ús eigen komputermodules noch net, mar brûke Raspberry Pi Compute Modules en wy hope echt op de nije CM4-module. Mar, alles gie tsjin de plannen mei har nije foarmfaktor en ik tink dat in protte teloarsteld binne.

Under de besuniging, hoe't wy fan V1 nei V2 gongen en hoe't wy út moasten mei de nije Raspberry Pi CM4-foarmfaktor.

Dat, nei it meitsjen fan in kluster foar 7 knopen, binne de fragen - wat is de folgjende? Hoe kinne jo de wearde fan in produkt ferheegje? 8, 10 of 16 knopen? Hokker module fabrikanten? Tinkend oer it produkt as gehiel, realisearre wy dat it wichtichste ding hjir net it oantal knopen is of wa't de fabrikant is, mar de essinsje fan klusters as boublok. Wy moatte sykje nei de minimale boustien dat

De earste, sil in kluster wêze en tagelyk kinne ferbine skiven en útwreiding boards. It klusterblok moat in selsstannich basisknooppunt wêze en mei in breed oanbod fan útwreidingsopsjes.

De twadde, sadat de minimale klusterblokken mei elkoar ferbûn wurde kinne troch it bouwen fan klusters fan in gruttere omfang en sadat it effisjint is wat budzjet en skaalfergrutting oanbelanget. De skaalsnelheid moat flugger wêze as it ferbinen fan gewoane kompjûters oan in netwurk en folle goedkeaper as serverhardware.

Tredde, de minimale kluster-ienheden moatte genôch kompakt, mobyl, enerzjysunich, kosten-effektyf en net easken wêze op bedriuwsbetingsten. Dit is ien fan 'e wichtichste ferskillen fan serverracks en alles ferbûn mei har.

Wy begûnen mei it bepalen fan it oantal knopen.

Oantal knopen

Mei ienfâldige logyske oardielen realisearre wy dat 4 knopen de bêste opsje is foar it minimale klusterblok. 1 knooppunt is gjin kluster, 2 knooppunten binne net genôch (1 master 1 arbeider, der is gjin mooglikheid fan skaalfergrutting binnen in blok, foaral foar heterogene opsjes), 3 knooppunten sjogge ok, mar net in mearfâld fan machten fan 2 en skaalfergrutting binnen in blok is beheind, 6 knopen komme op in priis hast as 7 knopen (fan ús ûnderfining is dit al in grutte kostpriis), 8 is in protte, past net yn 'e mini ITX-foarmfaktor en in noch djoerdere PoC-oplossing.

Fjouwer knopen per blok wurde beskôge as de gouden midden:

  • minder materialen per klusterboard, dus goedkeaper te meitsjen
  • meardere fan 4, totaal 4 blokken jouwe 16 fysike processors
  • stabile circuit 1 master en 3 arbeiders
  • mear heterogene fariaasjes, algemien-berekkenjen + fersnelde-berekkenjen modules
  • mini ITX foarm faktor mei SSD driuwfearren en útwreiding kaarten

Berekkenje modules

De twadde ferzje is basearre op CM4, wy tochten dat it sil wurde útbrocht yn SODIMM form faktor. Mar…
Wy hawwe in beslút makke om in SODIMM dochterboard te meitsjen en CM4 direkt yn modules te sammeljen, sadat brûkers net hoege te tinken oer CM4.

Mini ITX Cluster Turing Pi 2 mei 32 GB RAM
Turing Pi Compute Module Stypje Raspberry Pi CM4

Yn 't algemien waard op syk nei modules in hiele merk fan kompjûtermodules iepene fan lytse modules mei 128 MB RAM oant 8 GB RAM. Modules mei 16 GB RAM en mear binne foarút. Foar râne applikaasje hosting basearre op wolk native technologyen, 1 GB RAM is al net genôch, en de resinte ferskining fan modules foar 2, 4 en sels 8 GB RAM jout goede romte foar groei. Se beskôgen sels opsjes mei FPGA-modules foar applikaasjes foar masine-learen, mar har stipe is fertrage om't it software-ekosysteem net ûntwikkele is. Wylst wy de modulemerk studearre, kamen wy op it idee om in universele ynterface foar modules te meitsjen, en yn V2 begjinne wy ​​de ynterface fan komputermodules te ferienigjen. Hjirmei kinne eigners fan 'e V2-ferzje modules fan oare fabrikanten ferbine en se mingje foar spesifike taken.

V2 stipet de heule Raspberry Pi 4 Compute Module (CM4) line, ynklusyf Lite ferzjes en 8 GB RAM modules

Mini ITX Cluster Turing Pi 2 mei 32 GB RAM

Perifery

Nei it fêststellen fan de leveransier fan de modules en it oantal knopen, wy benadere de PCI bus dêr't de perifeare apparaten. De PCI-bus is de standert foar perifeare apparaten en is te finen yn hast alle kompjûtermodules. Wy hawwe ferskate knooppunten, en ideaal soe elke knooppunt PCI-apparaten kinne diele yn tagelyk fersykmodus. Bygelyks, as it in skiif is ferbûn mei de bus, dan is it beskikber foar alle knopen. Wy begûnen te sykjen nei PCI-switches mei multi-host-stipe en fûnen dat gjinien fan har past by ús easken. Al dizze oplossingen wiene meast beheind ta 1 host of meardere hosts, mar sûnder de modus fan tagelyk fersiken nei einpunten. It twadde probleem is de hege kosten fan $ 50 of mear per chip. Yn V2 hawwe wy besletten om eksperiminten mei PCI-switches út te stellen (wy sille letter weromgean nei har as wy ûntwikkelje) en gongen lâns it paad fan it tawizen fan in rol foar elke knooppunt: de earste twa knooppunten bleatsteld mini-PCI express-poarte per knooppunt, de tredde knooppunt bleatsteld 2-ports 6 Gbps SATA controller. Om tagong te krijen ta skiven fan oare knopen, kinne jo it netwurkbestânsysteem yn it kluster brûke. Wêrom net?

Foarpriuwke

Wy besletten om guon sketsen te dielen fan hoe't it minimale klusterblok yn 'e rin fan' e tiid evoluearre is troch diskusje en refleksje.

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

As gefolch, wy kamen ta in kluster ienheid mei 4 260-pin nodes, 2 mini PCIe (Gen 2) havens, 2 SATA (Gen 3) havens. It bestjoer hat in Layer-2 Managed Switch mei VLAN-stipe. In mini PCIe haven is fuorthelle út de earste knooppunt, dêr't jo kinne ynstallearje in netwurk card en krije in oare Ethernet haven of 5G modem en meitsje in router foar it netwurk op it kluster en Ethernet havens út de earste node.

Mini ITX Cluster Turing Pi 2 mei 32 GB RAM

It kluster bus hat mear funksjes, ynklusyf de mooglikheid om te flash modules direkt troch alle slots en fansels FAN Anschlüsse op elke knooppunt mei snelheid kontrôle.

Applikaasje

Edge-ynfrastruktuer foar sels-hoste applikaasjes en tsjinsten

Wy ûntworpen V2 om it minimale boublok te wêzen foar in konsumint / kommersjele-grade edge-ynfrastruktuer. Mei V2 is it goedkeap om proof-of-concept en skaal te begjinnen as jo groeie, stadichoan portearjen fan applikaasjes dy't mear kosten-effektiver en praktysk binne om op 'e râne te hostjen. Klusterblokken kinne mei-inoar ferbûn wurde om gruttere klusters te bouwen. Dit kin stadichoan dien wurde sûnder folle risiko te fêstigjen
prosessen. No al binne d'r in grut oantal applikaasjes foar bedriuw, dy't lokaal kinne wurde hosted.

ARM wurkstasjonStencils

Mei maksimaal 32 GB RAM per kluster kin it earste knooppunt brûkt wurde foar de buroblêdferzje fan it OS (bygelyks Ubuntu Desktop 20.04 LTS) en de oerbleaune 3 knooppunten foar kompilaasje, testen en debuggen, it ûntwikkeljen fan cloud native oplossingen foar ARM klusters. As knooppunt foar CI / CD op ARM-rânynfrastruktuer yn 'e prod.

Turing V2-kluster mei CM4-modules is arsjitektoanysk hast identyk (ferskil yn lytse ferzjes fan ARMv8) oan kluster basearre op AWS Graviton-eksimplaren. De CM4-moduleprosessor brûkt de ARMv8-arsjitektuer, sadat jo ôfbyldings en applikaasjes kinne bouwe foar AWS Graviton 1- en 2-eksimplaren, dy't bekend binne folle goedkeaper te wêzen dan x86-eksimplaren.

Boarne: www.habr.com