Mini ITX Cluster Turing Pi 2 met 32 ​​GB RAM

Mini ITX Cluster Turing Pi 2 met 32 ​​GB RAM

Groete aan die Habr-gemeenskap! Ek het onlangs oor ons eerste weergawe-klusterbord geskryf [V1]. En vandag wil ek jou vertel hoe ons aan die weergawe gewerk het Turing V2 met 32 ​​GB RAM.

Ons is lief vir mini-bedieners wat vir beide plaaslike ontwikkeling en plaaslike hosting gebruik kan word. Anders as tafelrekenaars of skootrekenaars, is ons bedieners ontwerp om 24/7 te werk, hulle kan vinnig gefedereer word, byvoorbeeld, daar was 4 verwerkers in 'n groepie, en na 5 minute was daar 16 verwerkers (geen bykomende netwerktoerusting nie) en dit alles in 'n kompakte vormfaktor stil en energiedoeltreffend.

Die argitektuur van ons bedieners is gebaseer op die cluster beginsel van konstruksie, d.w.s. ons maak groepborde wat, met behulp van die ethernet-netwerk op die bord, verskeie rekenaarmodules (verwerkers) verbind. Om dit te vereenvoudig, maak ons ​​nog nie ons eie rekenaarmodules nie, maar gebruik Raspberry Pi Compute Modules en ons het regtig gehoop vir die nuwe CM4-module. Maar alles het teen die planne gegaan met hul nuwe vormfaktor en ek dink baie is teleurgesteld.

Onder die snit, hoe ons van V1 na V2 gegaan het en hoe ons met die nuwe Raspberry Pi CM4-vormfaktor moes uitkom.

Dus, nadat 'n groepering vir 7 nodusse geskep is, is die vrae - wat is volgende? Hoe om die waarde van 'n produk te verhoog? 8, 10 of 16 nodusse? Watter modulevervaardigers? As ons aan die produk as geheel dink, het ons besef dat die belangrikste ding hier nie die aantal nodusse is of wie die vervaardiger is nie, maar die wese van trosse as 'n bousteen. Ons moet soek na die minimum bousteen wat

Die eerste, sal 'n groep wees en terselfdertyd skywe en uitbreidingsborde kan koppel. Die trosblok moet 'n selfversorgende basisnodus wees en met 'n wye reeks uitbreidingsopsies.

Die tweede, sodat die minimum trosblokke met mekaar verbind kan word deur trosse van 'n groter grootte te bou en sodat dit doeltreffend is in terme van begroting en skaalspoed. Die skaalspoed moet vinniger wees as om gewone rekenaars aan 'n netwerk te koppel en baie goedkoper as bedienerhardeware.

derde, moet die minimum troseenhede voldoende kompak, mobiel, energiedoeltreffend, kostedoeltreffend en nie veeleisend op bedryfstoestande wees nie. Dit is een van die belangrikste verskille van bedienerrakke en alles wat daarmee verband hou.

Ons het begin deur die aantal nodusse te bepaal.

Aantal nodusse

Met eenvoudige logiese oordele het ons besef dat 4 nodusse die beste opsie vir die minimum trosblok is. 1 nodus is nie 'n kluster nie, 2 nodusse is nie genoeg nie (1 meester 1 werker, daar is geen moontlikheid om binne 'n blok te skaal nie, veral vir heterogene opsies), 3 nodusse lyk ok, maar nie 'n veelvoud van magte van 2 en skaal binne 'n blok is beperk, 6 nodusse kom teen 'n prys amper soos 7 nodusse (uit ons ondervinding is dit reeds 'n groot kosprys), 8 is baie, pas nie in die mini ITX-vormfaktor nie en 'n selfs duurder PoC-oplossing.

Vier nodusse per blok word as die goue middeweg beskou:

  • minder materiaal per trosbord, dus goedkoper om te vervaardig
  • veelvoud van 4, totaal 4 blokke gee 16 fisiese verwerkers
  • stabiele kring 1 meester en 3 werkers
  • meer heterogene variasies, algemeen-reken + versnelde-reken modules
  • mini ITX-vormfaktor met SSD-aandrywers en uitbreidingskaarte

Bereken modules

Die tweede weergawe is gebaseer op CM4, ons het gedink dat dit in SODIMM-vormfaktor vrygestel sal word. Maar …
Ons het 'n besluit geneem om 'n SODIMM-dogterbord te maak en CM4 direk in modules saam te stel sodat gebruikers nie aan CM4 hoef te dink nie.

Mini ITX Cluster Turing Pi 2 met 32 ​​GB RAM
Turing Pi Compute Module Ondersteun Raspberry Pi CM4

Oor die algemeen, op soek na modules, is 'n hele mark van rekenaarmodules oopgemaak van klein modules met 128 MB RAM tot 8 GB RAM. Modules met 16 GB RAM en meer lê voor. Vir 'n voorsprong-toepassingshuisvesting gebaseer op wolk-inheemse tegnologieë, is 1 GB RAM reeds nie genoeg nie, en die onlangse verskyning van modules vir 2, 4 en selfs 8 GB RAM bied goeie ruimte vir groei. Hulle het selfs opsies met FPGA-modules vir masjienleertoepassings oorweeg, maar hul ondersteuning is vertraag omdat die sagteware-ekosisteem nie ontwikkel is nie. Terwyl ons die modulemark bestudeer het, het ons die idee gekry om 'n universele koppelvlak vir modules te skep, en in V2 begin ons om die koppelvlak van rekenaarmodules te verenig. Dit sal eienaars van die V2-weergawe toelaat om modules van ander vervaardigers te koppel en dit vir spesifieke take te meng.

V2 ondersteun die hele Raspberry Pi 4 Compute Module (CM4) lyn, insluitend Lite weergawes en 8 GB RAM modules

Mini ITX Cluster Turing Pi 2 met 32 ​​GB RAM

Periferie

Nadat ons die verskaffer van die modules en die aantal nodusse bepaal het, het ons die PCI-bus genader waarop die randapparatuur geleë is. Die PCI-bus is die standaard vir randapparatuur en word in byna alle rekenaarmodules aangetref. Ons het verskeie nodusse, en ideaal gesproke moet elke nodus PCI-toestelle in gelyktydige versoekmodus kan deel. Byvoorbeeld, as dit 'n skyf is wat aan die bus gekoppel is, dan is dit beskikbaar vir alle nodusse. Ons het begin soek na PCI-skakelaars met multi-gasheer-ondersteuning en gevind dat nie een van hulle aan ons vereistes voldoen nie. Al hierdie oplossings was meestal beperk tot 1 gasheer of multi-gasheer, maar sonder die modus van gelyktydige versoeke na eindpunte. Die tweede probleem is die hoë koste van $50 of meer per skyfie. In V2 het ons besluit om eksperimente met PCI-skakelaars uit te stel (ons sal later daarna terugkeer namate ons ontwikkel) en het die pad gegaan om 'n rol vir elke nodus toe te ken: die eerste twee nodusse het mini-PCI Express-poort per nodus blootgestel, die derde node blootgestelde 2-poorte 6 Gbps SATA kontroleerder. Om toegang tot skywe vanaf ander nodusse te verkry, kan jy die netwerklêerstelsel binne die groepering gebruik. Hoekom nie?

Sneakpeek

Ons het besluit om 'n paar sketse te deel van hoe die minimum trosblok oor tyd ontwikkel het deur bespreking en refleksie.

Mini ITX Cluster Turing Pi 2 met 32 ​​GB RAMMini ITX Cluster Turing Pi 2 met 32 ​​GB RAMMini ITX Cluster Turing Pi 2 met 32 ​​GB RAM

As gevolg hiervan het ons by 'n groepeenheid gekom met 4 260-pen nodusse, 2 mini PCIe (Gen 2) poorte, 2 SATA (Gen 3) poorte. Die bord het 'n Layer-2 Managed Switch met VLAN-ondersteuning. 'n Mini PCIe-poort is van die eerste nodus verwyder, waarin jy 'n netwerkkaart kan installeer en 'n ander Ethernet-poort of 5G-modem kan kry en 'n router vir die netwerk op die groep en Ethernet-poorte vanaf die eerste nodus kan maak.

Mini ITX Cluster Turing Pi 2 met 32 ​​GB RAM

Die groepbus het meer kenmerke, insluitend die vermoë om modules direk deur alle gleuwe te flits en natuurlik FAN-verbindings op elke nodus met spoedbeheer.

Aansoek

Edge-infrastruktuur vir toepassings en dienste wat self aangebied word

Ons het V2 ontwerp om die minimum bousteen te wees vir 'n verbruiker-/kommersiële-graad randinfrastruktuur. Met V2 is dit goedkoop om 'n bewys-van-konsep te begin en te skaal soos jy groei, en geleidelik oordra toepassings wat meer koste-effektief en prakties is om op die rand te huisves. Trosblokke kan aanmekaar verbind word om groter trosse te bou. Dit kan geleidelik gedoen word sonder veel risiko om vas te stel
prosesse. Reeds vandag is daar 'n groot aantal aansoeke vir besigheid, wat plaaslik gehuisves kan word.

ARM Werkstasie

Met tot 32 GB RAM per groepering, kan die eerste nodus gebruik word vir die rekenaarweergawe van die bedryfstelsel (byvoorbeeld Ubuntu Desktop 20.04 LTS) en die oorblywende 3 nodusse vir samestelling, toetsing en ontfoutingstake, die ontwikkeling van wolk-inheemse oplossings vir ARM trosse. As 'n nodus vir CI / CD op ARM-randinfrastruktuur in die prod.

Turing V2-groepering met CM4-modules is argitektonies byna identies (verskil in minderjarige weergawes van ARMv8) as groepering gebaseer op AWS Graviton-gevalle. Die CM4 module verwerker gebruik die ARMv8 argitektuur sodat jy beelde en toepassings kan bou vir AWS Graviton 1 en 2 gevalle, wat bekend is dat dit baie goedkoper is as x86 gevalle.

Bron: will.com