Mini ITX Cluster Turing Pi 2 32 GB muutmäluga

Mini ITX Cluster Turing Pi 2 32 GB muutmäluga

Tervitused Habri kogukonnale! Kirjutasin hiljuti meie esimese versiooni klastriplaadist [V1]. Ja täna tahan teile rääkida, kuidas me versiooni kallal töötasime Turing V2 32 GB mäluga RAM.

Meile meeldivad miniserverid, mida saab kasutada nii kohalikuks arendamiseks kui ka kohalikuks hostimiseks. Erinevalt lauaarvutitest või sülearvutitest on meie serverid loodud töötama 24/7, neid saab kiiresti liita, näiteks klastris oli 4 protsessorit ja 5 minuti pärast oli protsessorit 16 (ilma lisavõrguseadmeteta) ja kõik see kompaktses vormis vaikne ja energiasäästlik.

Meie serverite arhitektuur põhineb klastri ehitamise põhimõttel, st. valmistame klasterplaadid, mis kasutades plaadil olevat ethernet võrku ühendavad mitu arvutusmoodulit (protsessorit). Lihtsustuse mõttes me ei tee veel oma arvutusmooduleid, vaid kasutame Raspberry Pi arvutusmooduleid ja lootsime väga uuele CM4 moodulile. Kuid kõik läks nende uue vormiteguriga plaanidele vastuollu ja arvan, et paljud on pettunud.

Lõike all, kuidas me jõudsime V1-st V2-sse ja kuidas pidime uue Raspberry Pi CM4 vormiteguriga välja saama.

Niisiis, pärast 7 sõlme jaoks klastri loomist on küsimused – mis saab edasi? Kuidas tõsta toote väärtust? 8, 10 või 16 sõlme? Millised moodulite tootjad? Mõeldes tootele tervikuna, saime aru, et siin ei ole peamine mitte sõlmede arv ega tootja, vaid klastrite kui ehitusploki olemus. Peame otsima minimaalset ehitusplokki

Esimene, saab olema kobar ja samal ajal saab ühendada kettaid ja laiendusplaate. Kobarplokk peaks olema isemajandav baassõlm ja paljude laiendamisvõimalustega.

Teine, et minimaalseid klastriplokke saaks omavahel ühendada suurema suurusega klastreid ehitades ning et see oleks eelarve ja skaleerimiskiiruse seisukohalt tõhus. Skaleerimiskiirus peab olema kiirem kui tavaliste arvutite võrku ühendamisel ja palju odavam kui serveri riistvara.

kolmas, peavad minimaalsed klastriüksused olema piisavalt kompaktsed, mobiilsed, energiatõhusad, kulutõhusad ja mitte nõudma töötingimusi. See on üks peamisi erinevusi serveririiulitest ja kõigest nendega seonduvast.

Alustasime sõlmede arvu määramisest.

Sõlmede arv

Lihtsate loogiliste otsustuste abil saime aru, et 4 sõlme on minimaalse klastriploki jaoks parim valik. 1 sõlm ei ole klaster, 2 sõlmest ei piisa (1 ülem 1 töötaja, ploki sees skaleerimine pole võimalik, eriti heterogeensete valikute puhul), 3 sõlme on ok, kuid mitte 2 astme kordne ja skaleerimine plokk on piiratud, 6 sõlme on peaaegu 7 sõlme hinnaga (meie kogemuse põhjal on see juba suur omahind), 8 on palju, ei mahu mini ITX vormingusse ja veelgi kallim PoC lahendus.

Kuldseks keskmiseks peetakse nelja sõlme ploki kohta:

  • vähem materjale ühe kobarplaadi kohta, seega odavam toota
  • kordne 4, kokku 4 plokki annab 16 füüsilist protsessorit
  • stabiilne vooluring 1 kapten ja 3 töötajat
  • heterogeensemad variatsioonid, üldarvutus + kiirendatud arvutusmoodulid
  • mini-ITX-vormingus koos SSD-draivide ja laienduskaartidega

Moodulite arvutamine

Teine versioon põhineb CM4-l, arvasime, et see tuleb välja SODIMM-vormingus. Aga…
Otsustasime teha SODIMM-i tütarplaadi ja CM4 otse mooduliteks kokku panna, et kasutajad ei peaks CM4 peale mõtlema.

Mini ITX Cluster Turing Pi 2 32 GB muutmäluga
Raspberry Pi CM4 toetav Turing Pi arvutusmoodul

Üldiselt avati moodulite otsimisel terve arvutusmoodulite turg väikestest 128 MB RAM-iga moodulitest kuni 8 GB muutmäluni. Ees ootavad 16 GB ja enama RAM-iga moodulid. Pilvepõhistel tehnoloogiatel põhineva servarakenduste hostimise jaoks ei piisa juba 1 GB muutmälust ning hiljutised moodulid 2, 4 ja isegi 8 GB muutmälu jaoks pakuvad head kasvuruumi. Nad kaalusid isegi masinõpperakenduste FPGA-moodulite võimalusi, kuid nende toetus on viibinud, kuna tarkvara ökosüsteem pole välja töötatud. Mooduliturgu uurides tekkis meil idee luua moodulitele universaalne liides ja V2-s hakkame andmemoodulite liidest ühtlustama. See võimaldab V2 versiooni omanikel ühendada teiste tootjate mooduleid ja segada neid konkreetsete ülesannete jaoks.

V2 toetab kogu Raspberry Pi 4 arvutusmooduli (CM4) rida, sealhulgas Lite versioone ja 8 GB RAM-i mooduleid

Mini ITX Cluster Turing Pi 2 32 GB muutmäluga

Perifeeria

Pärast moodulite müüja ja sõlmede arvu kindlaksmääramist lähenesime PCI siinile, millel välisseadmed asuvad. PCI-siin on välisseadmete standard ja seda leidub peaaegu kõigis andmetöötlusmoodulites. Meil on mitu sõlme ja ideaaljuhul peaks iga sõlm saama PCI-seadmeid jagada samaaegse päringu režiimis. Näiteks kui see on siiniga ühendatud ketas, siis on see saadaval kõikidele sõlmedele. Hakkasime otsima mitme hosti toega PCI-lüliteid ja leidsime, et ükski neist ei vasta meie nõuetele. Kõik need lahendused olid enamasti piiratud ühe või mitme hostiga, kuid ilma lõpp-punktide samaaegsete päringute režiimita. Teine probleem on ühe kiibi kõrge hind 1 dollarit või rohkem. V50-s otsustasime PCI-lülititega katsed edasi lükata (naaseme nende juurde hiljem, kui arendame) ja läksime igale sõlmele rolli määramise teed: kaks esimest sõlme paljastasid mini-PCI ekspresspordi sõlme kohta, kolmas sõlm. avatud 2-pordiline 2 Gbps SATA-kontroller . Teiste sõlmede ketastele juurde pääsemiseks saate kasutada klastri võrgu failisüsteemi. Miks mitte?

Eelvaade

Otsustasime jagada mõningaid visandeid selle kohta, kuidas minimaalne klastriplokk on aja jooksul arutelude ja mõtiskluste kaudu arenenud.

Mini ITX Cluster Turing Pi 2 32 GB muutmälugaMini ITX Cluster Turing Pi 2 32 GB muutmälugaMini ITX Cluster Turing Pi 2 32 GB muutmäluga

Selle tulemusena jõudsime klastriüksuseni, millel on 4 260-pin sõlme, 2 mini PCIe (Gen 2) porti ja 2 SATA (Gen 3) porti. Tahvlil on Layer-2 Managed Switch koos VLAN-i toega. Esimesest sõlmest on eemaldatud mini-PCIe port, millesse saab installida võrgukaardi ja hankida teise Etherneti pordi või 5G modemi ning teha klastrile võrgule ruuteri ja esimesest sõlmest Etherneti pordid.

Mini ITX Cluster Turing Pi 2 32 GB muutmäluga

Klastri siinil on rohkem funktsioone, sealhulgas võimalus mooduleid otse läbi kõigi pesade vilgutada ja loomulikult iga sõlme FAN-pistikud koos kiiruse reguleerimisega.

Taotlus

Edge-infrastruktuur isehostitavate rakenduste ja teenuste jaoks

Kujundasime V2 tarbe-/kaubandusliku taseme infrastruktuuri minimaalseks ehitusplokiks. V2-ga on odav alustada kontseptsiooni tõestamist ja mastaapi kasvades, teisaldades järk-järgult rakendusi, mille hostimine on kuluefektiivsem ja praktilisem. Klastrite plokke saab omavahel ühendada, et ehitada suuremaid klastreid. Seda saab teha järk-järgult ilma suurema riskita
protsessid. Juba praegu on ettevõtete jaoks tohutult palju rakendusi, mida saab majutada kohapeal.

ARM tööjaam

Kuni 32 GB RAM-iga klastri kohta saab esimest sõlme kasutada OS-i töölauaversiooni jaoks (näiteks Ubuntu Desktop 20.04 LTS) ja ülejäänud 3 sõlme kompileerimiseks, testimiseks ja silumiseks ning ARM-i jaoks pilvepõhiste lahenduste väljatöötamiseks. klastrid. CI / CD sõlmena ARM-i serva infrastruktuuril tootes.

CM2 moodulitega Turing V4 klaster on arhitektuuriliselt peaaegu identne (erinevus ARMv8 väiksemates versioonides) AWS Gravitoni eksemplaridel põhineva klastriga. CM4 moodulprotsessor kasutab ARMv8 arhitektuuri, et saaksite luua pilte ja rakendusi AWS Graviton 1 ja 2 eksemplaride jaoks, mis on teadaolevalt palju odavamad kui x86 eksemplarid.

Allikas: www.habr.com