Mini ITX klaster Turing Pi 2 koos 32 GB RAM-iga

Mini ITX klaster Turing Pi 2 koos 32 GB RAM-iga

Tere, Habr'i kogukond! Hiljuti kirjutasin meie esimese versiooni klastriplaadist [V1]. Ja täna tahan rääkida, kuidas me töötasime versiooni kallal Turing V2, millel on 32 GB operatiivmälu.

Meie kireks on mini serverid, mida saab kasutada nii kohalikuks arenduseks kui ka kohaliku hostimise jaoks. Erinevalt lauaarvutitest või sülearvutitest on meie serverid loodud töötama 24/7, neid on kiiresti võimalik siduda föderatsiooniks, näiteks oli klastris 4 protsessorit ja 5 minuti pärast juba 16 protsessorit (ilma täiendava võrguvarustuseta) ning kõik see kompaktsetes vormifaktorites, vaikselt ja energiatõhusalt.

Meie serverite arhitektuur põhineb klastripõhisel põhimõttel, st me valmistame klastriplaate, mis ühendavad mitmeid arvutusmooduleid (protsessoreid) Etherneti võrgu kaudu plaadil. Lihtsustamiseks ei valmista me veel oma arvutusmooduleid, vaid kasutame Raspberry Pi Compute Mooduleid ja loodame väga uue CM4 mooduli peale. Kuid kõik läks vastupidiseks meie plaanidele nende uue vormifaktori tõttu ning arvan, et paljud on pettunud.

Allpool räägime, kuidas me jõudsime V1-lt V2-le ning kuidas pidime toime tulema Raspberry Pi CM4 uue vormifaktoriga.

Nii et pärast 7 sõlmega klastrite loomist tekkis küsimus — mis edasi? Kuidas suurendada toote väärtust? 8, 10 või 16 sõlme? Millised on mooduli tootjad? Toote üldist arvesse võttes mõistsime, et peamine ei ole sõlmede arv ega tootja, vaid klastrite olemus kui ehitusplokk. Tuleb otsida minimaalset ehitusplokki, mis

Esiteks, oleks klaster ja omaks samas võimalust ketaste ja laiendusplaatide ühendamiseks. Klastriplokk peab olema iseseisev põhikeskus ja omama laia laiendusvõimalust.

Teiseks, et minimaalsed klastriplokid saaks omavahel ühendada, luues suuremaid klasse, ning et see oleks efektiivne nii eelarve kui ka skaleerimise kiiruselt. Skaleerimise kiirus peab olema kõrgem kui tavaklientide võrku ühendamine ja palju odavam serverivarustus.

Kolmas, minimaalsed klastriplokid peavad olema piisavalt kompaktsed, mobiilsed, energiatõhusad, kulutõhusad ja mitte nõudlikud töötingimuste suhtes. See on üks peamisi erinevusi serverirakkude ja kõigega, mis nendega seotud on.

Alustasime sõlmede arvu määratlemisega.

Sõlmede arv

Lihtsate loogiliste järelduste kaudu mõistsime, et 4 sõlme on parim variant minimaalsete klastriblokkide jaoks. 1 sõlm ei ole klaster, 2 sõlme on vähe (1 meister ja 1 töötaja, skaleerimise võimalus puudub, eriti heterogeensete variantide puhul), 3 sõlme tundub okei, kuid ei ole 2 astme kordaja ja skaleerimine on piiratud klastris, 6 sõlme maksab peaaegu sama palju kui 7 sõlme (meie kogemuse põhjal on see juba suur tootmiskulu), 8 on liiga palju, ei mahuta mini ITX vormiteguri ja on ka PoC jaoks kallim lahendus.

Neli sõlme klastrisse peame kullaseo keskteeks:

  • vähem materjale klastrikaardile, seega odavam tootmine
  • korrutis 4, kokku 4 plokki annavad 16 füüsilist protsessorit
  • stabiilne skeem 1 meister ja 3 töötajat
  • rohkem heterogeenseid variatsioone, üldarvutus + kiirendatud arvutuse moodulid
  • mini ITX vormiteguri SSD-de ja laienduskaartidega

Arvutusmoodulid

Teine versioon põhineb CM4-l, me arvasime, et selle väljaandmine toimub SODIMM vormiteguri. Aga…
Otsustasime teha tütartahvli SODIMM ja koguda CM4 kohe mooduliteks, et kasutajad ei peaks CM4-st mõtlema.

Mini ITX klaster Turing Pi 2 koos 32 GB RAM-iga
Turing Pi arvutusmodul toetab Raspberry Pi CM4

Tegelikult moodulite otsingul avanes terve turg arvutusmooduleid alates väikestest moodulitest 128 MB RAM-ist kuni 8 GB RAM-ini. Tulevikus on oodata mooduleid 16 GB RAM või rohkem. Pilves paikneva tehnoloogia põhjal töötavate rakenduste servahostimise jaoks on 1 GB RAM juba vähe, ja hiljutine moodulite ilmumine 2, 4 ja isegi 8 GB RAM-iga pakub head ruumi kasvuks. Otsustasime kaaluda ka FPGA-mooduleid masinõppe rakenduste jaoks, kuid nende toetamine on edasi lükatud, sest tarkvaraline ökosüsteem ei ole välja arenenud. Moodulite turu uurimise käigus jõudsime mõttele luua universaalne liides moodulitele ja V2-s alustame arvutusmoodulite liidese ühtlustamist. See võimaldab V2 omanikel ühendada teiste tootjate mooduleid ja neid konkreetsete ülesannete jaoks segada.

V2 toetab kogu Raspberry Pi 4 arvutusmodulite (CM4) seeriat, sealhulgas Lite versioone ja 8 GB RAM-iga mooduleid

Mini ITX klaster Turing Pi 2 koos 32 GB RAM-iga

Perifeeria

Pärast moodulite tarnija ja sõlmede arvu määramist jõudsime PCI bussini, kus asuvad perifeersed seadmed. PCI buss on standard perifeersete seadmete jaoks ja see on peaaegu kõigis arvutusmoodulites. Meil on mitu sõlme ja ideaaljuhul peaks iga sõlm saama jagada PCI seadmeid konkurentide taotlemise režiimis. Näiteks, kui see on bussiga ühendatud ketas, siis on see kõigile sõlmedele saadaval. Me hakkasime otsima PCI lüliteid, mis toetaksid mitmehõimset kasutamist ja avastasime, et ükski neist ei vasta meie nõudmistele. Kõik need lahendused olid enamasti piiratud 1 hostiga või mitu hosti, kuid ilma konkurentide taotlemise režiimi lõpp-punktide osas. Teiseks probleemiks oli kõrge hind, alates 50 dollarist ja rohkem iga kiibi kohta. V2-s otsustasime PCI lülititega eksperimenteerimise edasi lükata (me tuleme nende juurde tagasi hiljem arengute käigus) ja läksime iga sõlme funktsiooni määramise teed: esimesed kaks sõlme pakkusid igas sõlmes minit PCIe porti, kolmas sõlm pakkus 2-porti 6 Gbps SATA kontrollerit. Teistest sõlmedest ketastele juurdepääsuks saab kasutada võrgufailisüsteemi klastris. Miks mitte?

Sneakpeek

Otsustasime jagada mõningaid visandeid selle kohta, kuidas minimaalne klastriplokk on aja jooksul arenenud arutelu ja lahtimõtestamise käigus.

Mini ITX klaster Turing Pi 2 koos 32 GB RAM-igaMini ITX klaster Turing Pi 2 koos 32 GB RAM-igaMini ITX klaster Turing Pi 2 koos 32 GB RAM-iga

Tulemuseks saime klastriploki, mis koosneb 4 sõlmest, 260-pin, 2 mini PCIe (Gen 2) porti, 2 SATA (Gen 3) porti. Plaadil on Layer-2 hallatav lüliti VLAN-i toe jaotusega. Esimesest sõlmest on välja toodud mini PCIe port, kuhu saab paigaldada võrgukaardi, et saada veel üks Etherneti port või 5G modem, muutes esimesest sõlmest ruuteri klastrivõrguks ja Etherneti portide jaoks.

Mini ITX klaster Turing Pi 2 koos 32 GB RAM-iga

Klastri bussil on rohkem funktsioone, sealhulgas võimalus moodulite otse kõikidesse pesadesse üles laadida ning loomulikult ka igas sõlmes ventilaatori pistikud kiiruskontrolliga.

Rakendamine

Edge infrastruktuur isehostitud rakenduste ja teenuste jaoks

Me kavandasime V2 eesmärgiga kasutada seda minimaalsete ehitusplokkidena tarbijaklassi / äriklassi edge infrastruktuuri jaoks. V2 võimaldab odavalt algatada kontseptsiooni katsetamise ja laieneda edaspidi, kandes graduaalselt üle rakendused, mida on rahaliselt ja praktiliselt mõistlikum hostida edge'is. Klastriplokke saab omavahel ühendada, luues suuremaid klastreid. Seda saab teha järk-järgult, ilma oluliste riskideta kehtivatele.
protsesside. Juba täna on olemas tohutult rakendusi ettevõtetele, mida saab hostida kohapeal.

ARM Workstation

32 GB RAM mäluga klastris saab esimest sõlme kasutada töölaua versiooni jaoks (näiteks Ubuntu Desktop 20.04 LTS) ja ülejäänud 3 sõlme kompilatsiooniks, testimiseks ja silumiseks, arendamiseks pilvepõhiste lahenduste jaoks ARM klastrites. CI/CD sõlmena ARM külgmenüüs tootmises.

Turing V2 klaster CM4 moodulitega on arhitektuuriliselt peaaegu identne (erinevus väikestes versioonides ARMv8) AWS Graviton instantsidega. CM4 moodulite protsessoris kasutatakse ARMv8 arhitektuuri, mille abil saate luua pilte ja rakendusi AWS Graviton 1 ja 2 instantside jaoks, mis on tuntud oma madalamate hindade poolest võrreldes x86 instantsidega.

Allikas: habr.com

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster