Mini ITX Cluster Turing Pi 2 32 GB RAM-mal

Mini ITX Cluster Turing Pi 2 32 GB RAM-mal

Üdvözlet a Habr közösségnek! Nemrég írtam az első verziójú fürttáblánkról [V1]. És ma szeretném elmondani, hogyan dolgoztunk a verzión Turing V2 32 GB-tal véletlen hozzáférésű memória.

Kedveljük a mini szervereket, amelyek helyi fejlesztésre és helyi hostingra egyaránt használhatók. Ellentétben az asztali számítógépekkel vagy laptopokkal, a szervereinket úgy tervezték, hogy éjjel-nappal működjenek, gyorsan egyesíthetők, például 24 processzor volt egy klaszterben, 7 perc múlva pedig 4 processzor (kiegészítő hálózati felszerelés nélkül) és mindez kompakt kivitelben, csendes és energiatakarékos.

Szervereink architektúrája a cluster felépítés elvén alapul, azaz. cluster kártyákat készítünk, amelyek a kártyán lévő ethernet hálózatot felhasználva több számítási modult (processzort) kötnek össze. Leegyszerűsítve, még nem készítünk saját számítástechnikai modulokat, hanem Raspberry Pi Compute Modules-t használunk, és nagyon reméltük az új CM4 modult. Ám minden a terveknek ellentmondott az új formájukkal, és szerintem sokan csalódottak.

A vágás alatt, hogyan jutottunk a V1-ből a V2-be, és hogyan kellett kijutnunk az új Raspberry Pi CM4 formájú faktorral.

Tehát a 7 csomóponthoz tartozó fürt létrehozása után a következő kérdések merülnek fel: mi a következő lépés? Hogyan lehet növelni egy termék értékét? 8, 10 vagy 16 csomópont? Mely modul gyártók? A termék egészére gondolva rájöttünk, hogy itt nem a csomópontok száma vagy a gyártó a lényeg, hanem a klaszterek, mint építőelemek lényege. Meg kell keresnünk azt a minimális építőelemet, ami

Az első, egy fürt lesz, és egyben képes lemezeket és bővítőkártyákat csatlakoztatni. A fürtblokknak önellátó alapcsomópontnak kell lennie, és széles körű bővítési lehetőséggel kell rendelkeznie.

A második, hogy a minimális fürtblokkok nagyobb méretű klaszterek építésével összekapcsolhatók legyenek, és így költségvetési és skálázási sebesség szempontjából is hatékony legyen. A méretezési sebességnek gyorsabbnak kell lennie, mint a hagyományos számítógépek hálózathoz csatlakoztatása, és sokkal olcsóbbnak kell lennie, mint a szerverhardver.

harmadik, a minimális klaszteregységeknek kellően kompaktnak, mobilnak, energiahatékonynak, költséghatékonynak és a működési feltételeket nem igénylőnek kell lenniük. Ez az egyik legfontosabb különbség a szerver rackekhez és minden hozzájuk kapcsolódó dologhoz képest.

A csomópontok számának meghatározásával kezdtük.

Csomópontok száma

Egyszerű logikai ítéletekkel rájöttünk, hogy a 4 csomópont a legjobb lehetőség a minimális klaszterblokkhoz. 1 csomópont nem klaszter, 2 csomópont nem elég (1 fő 1 dolgozó, nincs lehetőség a skálázásra egy blokkon belül, főleg heterogén opciók esetén), 3 csomópont jól néz ki, de nem a 2-es hatványok többszöröse és a skálázás egy blokk limitált, 6 node olyan áron jön, mint a 7 node (tapasztalataink szerint ez már nagy önköltség), 8 az sok, nem fér bele a mini ITX formába és még drágább PoC megoldás.

Blokonként négy csomópont tekinthető az arany középútnak:

  • kevesebb anyag fürttáblánként, így olcsóbb a gyártás
  • 4 többszöröse, összesen 4 blokk 16 fizikai processzort ad
  • stabil áramkör 1 mester és 3 munkás
  • heterogénebb variációk, általános számítási + gyorsított számítási modulok
  • mini ITX formátum SSD-meghajtókkal és bővítőkártyákkal

Modulok számítása

A második verzió CM4-re épül, úgy gondoltuk, hogy SODIMM-ben fog megjelenni. De…
Úgy döntöttünk, hogy készítünk egy SODIMM-alkotót, és a CM4-et közvetlenül modulokká szereljük össze, hogy a felhasználóknak ne kelljen a CM4-re gondolniuk.

Mini ITX Cluster Turing Pi 2 32 GB RAM-mal
Turing Pi számítási modul, amely támogatja a Raspberry Pi CM4-et

Általánosságban elmondható, hogy a modulok keresése során a számítási modulok egész piacát nyitották meg a 128 MB RAM-mal rendelkező kis moduloktól a 8 GB RAM-ig. A 16 GB RAM-mal és még ennél is több modullal készülnek. A felhőalapú natív technológiákra épülő szélső alkalmazástároláshoz 1 GB RAM már nem elég, és a közelmúltban megjelent 2, 4, sőt 8 GB RAM-os modulok is jó teret biztosítanak a növekedéshez. Még az FPGA-modulokkal kapcsolatos lehetőségeket is fontolgatták a gépi tanulási alkalmazásokhoz, de támogatásuk késik, mert a szoftver-ökoszisztéma nincs kidolgozva. A modulpiac tanulmányozása során felmerült az ötlet, hogy hozzunk létre egy univerzális interfészt a modulokhoz, és a V2-ben elkezdjük egységesíteni a számítási modulok interfészét. Ez lehetővé teszi a V2-es verzió tulajdonosai számára, hogy más gyártók moduljait csatlakoztassák, és meghatározott feladatokhoz keverjék őket.

A V2 támogatja a Raspberry Pi 4 Compute Module (CM4) teljes vonalát, beleértve a Lite verziókat és a 8 GB RAM modulokat

Mini ITX Cluster Turing Pi 2 32 GB RAM-mal

Periféria

A modulok szállítójának és a csomópontok számának meghatározása után megközelítettük a PCI buszt, amelyen a perifériák találhatók. A PCI busz a perifériák szabványa, és szinte minden számítástechnikai modulban megtalálható. Több csomópontunk van, és ideális esetben mindegyik csomópontnak képesnek kell lennie a PCI-eszközök megosztására egyidejű kérés módban. Például, ha a buszhoz csatlakoztatott lemezről van szó, akkor minden csomópont számára elérhető. Elkezdtünk több gazdagépes támogatással rendelkező PCI switcheket keresni, és úgy találtuk, hogy egyik sem felel meg a követelményeinknek. Mindezek a megoldások többnyire 1 vagy több gazdagépre korlátozódtak, de a végpontokhoz intézett egyidejű kérések módja nélkül. A második probléma a magas, 50 dolláros vagy több chipes költség. A V2-ben úgy döntöttünk, hogy elhalasztjuk a PCI-kapcsolókkal végzett kísérleteket (a fejlesztés során később visszatérünk rájuk), és végigjártuk az egyes csomópontok szerepének kijelölését: az első két csomópont csomópontonként mini PCI expressz portot tett ki, a harmadik csomópont 2 portos 6 Gbps SATA vezérlő. Más csomópontok lemezeinek eléréséhez használhatja a fürtön belüli hálózati fájlrendszert. Miért ne?

Bepillantás

Úgy döntöttünk, hogy megosztunk néhány vázlatot arról, hogyan fejlődött a minimális klaszterblokk az idők során, megbeszélések és elmélkedések révén.

Mini ITX Cluster Turing Pi 2 32 GB RAM-malMini ITX Cluster Turing Pi 2 32 GB RAM-malMini ITX Cluster Turing Pi 2 32 GB RAM-mal

Ennek eredményeként egy fürt egységhez jutottunk, 4 db 260 tűs csomóponttal, 2 mini PCIe (Gen 2) porttal, 2 SATA (Gen 3) porttal. Az alaplapon van egy Layer-2 Managed Switch VLAN támogatással. Az első csomópontból kikerült egy mini PCIe port, amelybe hálózati kártyát telepítve kaphatunk még egy Ethernet portot vagy 5G modemet, illetve az első csomópontból egy routert készíthetünk a hálózathoz a clusteren és az Ethernet portokon.

Mini ITX Cluster Turing Pi 2 32 GB RAM-mal

A fürtbusz több funkcióval is rendelkezik, beleértve a modulok közvetlen flash-megjelenítését az összes nyíláson keresztül, és természetesen az egyes csomópontokon található FAN-csatlakozók sebességszabályozással.

Alkalmazás

Edge infrastruktúra saját üzemeltetésű alkalmazásokhoz és szolgáltatásokhoz

A V2-t úgy terveztük, hogy a minimális építőelem legyen a fogyasztói/kereskedelmi szintű infrastruktúra számára. A V2-vel olcsón elkezdheti a koncepció bizonyítását és a méretezést, ahogy fejlődik, fokozatosan áthelyezve azokat az alkalmazásokat, amelyek költséghatékonyabbak és praktikusabbak az élen. A fürtblokkok összekapcsolhatók nagyobb klaszterek kialakításához. Ez fokozatosan megtehető anélkül, hogy nagy kockázatot jelentene
folyamatokat. Már ma is rengeteg üzleti alkalmazás létezik, amely helyben fogadható.

ARM munkaállomás

Fürtenként akár 32 GB RAM-mal az első csomópont használható az operációs rendszer asztali verziójához (például Ubuntu Desktop 20.04 LTS), a maradék 3 csomópont pedig fordítási, tesztelési és hibakeresési feladatokhoz, valamint felhőalapú natív megoldások fejlesztéséhez az ARM számára klaszterek. Csomópontként a CI / CD számára az ARM élinfrastruktúrán a prod.

A CM2 modulokkal rendelkező Turing V4-fürt felépítésében (az ARMv8 kisebb verzióiban való eltérés) majdnem teljesen megegyezik az AWS Graviton-példányokon alapuló fürttel. A CM4 modul processzor az ARMv8 architektúrát használja, így képeket és alkalmazásokat készíthet az AWS Graviton 1 és 2 példányokhoz, amelyekről ismert, hogy sokkal olcsóbbak, mint az x86 példányok.

Forrás: will.com