Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Zdravíme komunitu Habr! Nedávno jsem psal o naší první verzi clusterové desky [V1]. A dnes vám chci říct, jak jsme pracovali na verzi Turing V2 s 32 GB RAM

Jsme nadšení pro mini servery, které lze použít jak pro místní vývoj, tak pro místní hosting. Na rozdíl od stolních počítačů nebo notebooků jsou naše servery navrženy tak, aby fungovaly 24/7, lze je rychle připojit do federace, například v clusteru byly 4 procesory a po 5 minutách bylo 16 procesorů (bez dalšího síťového vybavení) a to vše v kompaktním provedení, tiché a energeticky účinné.

Architektura našich serverů je založena na clusterovém principu konstrukce, tzn. Vyrábíme cluster desky, které spojují několik výpočetních modulů (procesorů) pomocí ethernetové sítě na desce. Pro zjednodušení zatím nevyrábíme vlastní výpočetní moduly, ale používáme výpočetní moduly Raspberry Pi a opravdu jsme doufali v nový modul CM4. Ale všechno šlo proti plánům s jejich novým tvarovým faktorem a myslím, že mnozí jsou zklamáni.

Níže je uvedeno, jak jsme přešli z V1 na V2 a jak jsme se museli vyrovnat s novým tvarovým faktorem Raspberry Pi CM4.

Po vytvoření clusteru se 7 uzly tedy vyvstávají otázky: co dál? Jak zvýšit hodnotu produktu? 8, 10 nebo 16 uzlů? Kteří výrobci modulů? Při přemýšlení o produktu jako celku jsme si uvědomili, že hlavní zde není počet uzlů nebo kdo je výrobcem, ale samotná podstata clusterů jako stavebního kamene. Musíme hledat minimální stavební kámen

První, bude cluster a zároveň bude mít možnost připojení disků a rozšiřujících karet. Clusterová jednotka musí být soběstačný základní uzel s širokými možnostmi rozšíření.

Druhý, aby bylo možné vzájemně propojovat minimální bloky clusterů vytvářením větších clusterů a aby to bylo efektivní z hlediska rozpočtu a rychlosti škálování. Rychlost škálování by měla být vyšší než při připojení běžných počítačů k síti a mnohem levnější než serverové zařízení.

TřetíMinimální klastrové jednotky musí být poměrně kompaktní, mobilní, energeticky efektivní, nákladově efektivní a nenáročné na provozní podmínky. To je jeden z klíčových rozdílů od serverových racků a všeho s nimi spojeného.

Začali jsme určením počtu uzlů.

Počet uzlů

Pomocí jednoduchých logických úsudků jsme si uvědomili, že 4 uzly jsou nejlepší volbou pro minimální blok clusteru. 1 uzel není cluster, 2 uzly nestačí (1 master 1 pracovník, není možnost škálování v rámci bloku, zejména u heterogenních možností), 3 uzly vypadají v pořádku, ale ne násobek mocnin 2 a škálování uvnitř blok je omezený, 6 uzlů přijde za cenu téměř jako 7 uzlů (z naší zkušenosti je to už vysoká cena), 8 je hodně, nevejde se do formátu mini ITX a ještě dražší řešení pro PoC.

Za zlatý střed považujeme čtyři uzly na blok:

  • méně materiálů na desku clusteru, proto levnější výroba
  • dělitelné 4, pouze 4 bloky dávají 16 fyzických procesorů
  • schéma stáje 1 mistr a 3 dělníci
  • více heterogenní varianty, moduly obecných výpočtů + zrychlených výpočtů
  • Formát mini ITX s SSD disky a rozšiřujícími kartami

Výpočetní moduly

Druhá verze je založena na CM4, mysleli jsme, že bude vydána ve formátu SODIMM. Ale…
Rozhodli jsme se vyrobit dceřinou desku SODIMM a sestavit CM4 přímo do modulů, aby uživatelé o CM4 neuvažovali.

Mini ITX Cluster Turing Pi 2 s 32 GB RAM
Turing Pi Compute Module s podporou Raspberry Pi CM4

Obecně se při hledání modulů otevřel celý trh s výpočetními moduly, od malých modulů se 128 MB RAM až po 8 GB RAM. Před námi jsou moduly s 16 GB RAM nebo více. Pro edge hostingové aplikace založené na cloudových nativních technologiích již 1 GB RAM nestačí a nedávný nástup modulů s 2, 4 a dokonce 8 GB RAM poskytuje dobrý prostor pro růst. Zvažovali jsme dokonce možnosti s moduly FPGA pro aplikace strojového učení, ale jejich podpora byla odložena, protože nebyl vyvinut softwarový ekosystém. Při studiu trhu modulů jsme přišli na nápad vytvořit univerzální rozhraní pro moduly a ve V2 začínáme sjednocovat rozhraní výpočetních modulů. To umožní majitelům verze V2 připojit moduly jiných výrobců a smíchat je pro konkrétní úkoly.

V2 podporuje celou řadu Raspberry Pi 4 Compute Module (CM4), včetně verzí Lite a modulů s 8 GB RAM

Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Periferie

Po určení dodavatele modulů a počtu uzlů jsme přistoupili k PCI sběrnici, na které jsou periferie umístěny. Sběrnice PCI je standardem pro periferní zařízení a nachází se téměř ve všech výpočetních modulech. Máme několik uzlů a v ideálním případě může každý uzel sdílet zařízení PCI v režimu konkurenčního požadavku. Pokud se například jedná o disk připojený ke sběrnici, pak je dostupný všem uzlům. Začali jsme hledat PCI přepínače s podporou multihostingu a zjistili jsme, že žádný z nich nesplňuje naše požadavky. Všechna tato řešení byla převážně omezena na 1 hostitele nebo více hostitelů, ale bez režimu souběžných požadavků na koncové body. Druhým problémem je vysoká cena 50 USD nebo více za čip. Ve verzi 2 jsme se rozhodli odložit experimenty s PCI přepínači (vrátíme se k nim později, jak budeme vyvíjet) a vydali se cestou přiřazení role pro každý uzel: první dva uzly odhalily mini PCI express port na uzel, třetí uzel odkryl 2portový řadič SATA 6 Gbps. Pro přístup k diskům z jiných uzlů můžete použít síťový souborový systém v rámci clusteru. Proč ne?

Sneakpeek

Rozhodli jsme se podělit se o několik náčrtů toho, jak se minimální klastrový blok vyvíjel v průběhu času prostřednictvím diskuse a reflexe.

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

Výsledkem je klastrová jednotka se 4 260-pinovými uzly, 2 mini PCIe (Gen 2) porty, 2 SATA (Gen 3) porty. Deska má Layer-2 Managed Switch s podporou VLAN. První uzel má mini PCIe port, do kterého můžete nainstalovat síťovou kartu a získat další ethernetový port nebo 5G modem a z prvního uzlu udělat router pro síť na clusteru a ethernetové porty.

Mini ITX Cluster Turing Pi 2 s 32 GB RAM

Clusterová sběrnice má více funkcí, včetně možnosti flashovat moduly přímo přes všechny sloty a samozřejmě konektory FAN na každém uzlu s regulací rychlosti.

přihláška

Okrajová infrastruktura pro aplikace a služby s vlastním hostitelem

Navrhli jsme V2 s cílem použít jej jako minimální stavební blok pro spotřebitelskou/komerční okrajovou infrastrukturu. S V2 je levné začít s ověřováním konceptu a škálováním, jak rostete, a postupně migrovat aplikace, které mají ekonomičtější a praktičtější smysl hostovat na hraně. Bloky klastrů lze vzájemně propojovat a vytvářet tak větší klastry. To lze provést postupně bez zvláštních rizik
procesy. Dnes existuje obrovské množství aplikací pro podnikání, které mohou být hostovány lokálně.

Pracovní stanice ARM

S až 32 GB RAM na cluster lze první uzel použít pro desktopovou verzi operačního systému (například Ubuntu Desktop 20.04 LTS) a zbývající 3 uzly pro úlohy kompilace, testování a ladění a vývoj cloudového nativního řešení pro clustery ARM. Jako uzel pro CI/CD na periferní infrastruktuře ARM ve výrobě.

Cluster Turing V2 s moduly CM4 je architekturou téměř identický (rozdíl je v menších verzích ARMv8) s clusterem založeným na instancích AWS Graviton. Procesor modulu CM4 využívá architekturu ARMv8; můžete shromažďovat obrázky a aplikace pro instance AWS Graviton 1 a 2, o kterých je známo, že jsou mnohem levnější než instance x86.

Zdroj: www.habr.com