Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Turing Pi är en lösning för självhostade applikationer byggda på principen om rack i ett datacenter, endast på ett kompakt moderkort. Lösningen syftar till att bygga en lokal infrastruktur för lokal utveckling och hosting av applikationer och tjänster. I grund och botten är det som AWS EC2 bara för kanten.

Vi, ett litet team av utvecklare, bestämde oss för att skapa en lösning för att bygga barmetallkluster på kanten och kallade projektet Turing Pi. Produkten började på "knäet", men nu har den beställts av utvecklingsavdelningar på Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook för att testa deras koncept, och en publik av utvecklare växer till 10K.

Men allt började med en upptäckt.

Produktupptäckt

En gång i tiden gjorde jag en upptäckt för mig själv att vi inte hittar på någonting. Vi upptäcker allt som finns i den här världen. Vi upptäcker att vissa delar kan kombineras och få nya egenskaper hos produkter, eller så upptäcker vi lagar och kombinerar sedan igen. Man kan inte komma på någonting, men man kan upptäcka det under research. Enligt min mening är uppfinning ett resultat av ständiga observationer, experiment och sökning + en kombination av kunskap.

Under det senaste decenniet har jag sett amatörernas homelab-rörelse ta fart (resurs subreddit), självvärd (resurser subreddit и fantastiskt-självvärd), enkortsdatorer, allt eftersom intresset för att köra containrar på enkortsdatorer som Raspberry Pi växer, och en rörelse att sätta ihop kluster av enkelkortsdatorer växer. Idén med Kubernetes flyttar gradvis dit. Dess lätta version k3s, fokuserad på Edge/IoT, har redan dykt upp. Snabbmatsjätten Chick-fil-A är en av de första i världen att distribuera Kubernetes-kluster i sina kök kubectl gör mig en smörgås.

Jag ser det som en snöboll, en teknik som lindas runt en annan för att skapa ett mer komplext system. Det finns inget kaos, det ser mer ut som en fraktal av teknologi. Vid ett av de ganska svåra ögonblicken i mitt liv såg jag värdet i kluster som sattes ihop från enkortsdatorer av hobbyutvecklare och började arbeta med att skapa ett klusterkort.

Idag är vår klustertavla väldigt enkel och riktar sig främst till dem som älskar molnbaserad teknik, lära sig nya saker, experimentera.

Byggstenar

Så, vad är lösningen, vad är essensen? Poängen är att tillhandahålla en konstruktör, byggstenar (Building Blocks) från vilka du kan montera en kantinfrastruktur billigare än på klassiska servrar, mobil utan skrymmande metalllådor, krävande för speciella driftsförhållanden som server, energieffektiv, standardiserad i form av moduler och med möjlighet att snabbt skala till tiotals och hundratals datornoder (processorer).

Clusterboard

Mini ITX-kort ansluter flera beräkningsmoduler via nätverk ombord, ger perifera gränssnitt och kontroll över moduler

Beräkningsmodul

Ett kort i en SO-DIMM-formfaktor som innehåller en processor och RAM, valfritt flashminne för lagring av operativsystemet

Turing Pi - klusterkort för egenvärdiga applikationer och tjänster
En av de planerade konfigurationerna av Turing V2-versionen

Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Genom att kombinera ett klusterkort och datormoduler är det enkelt att skapa en infrastruktur för till exempel 20+ processorer (exempel nedan), tyst och med låg strömförbrukning. Själva klusterkortet ökar effektiviteten för den använda volymen. Exempel på kluster för jämförelse

SBC-baserad*
Turing Pi - klusterkort för egenvärdiga applikationer och tjänster
24 processorer
Författare Afkham Azeez

Turing Pi baserad
Turing Pi - klusterkort för egenvärdiga applikationer och tjänster
21 processorer
Författare th3st0rmtr00p3r

* SBC - Single Board Computer

Medgrundaren av Rancher Labs och författaren till k3s lämnades inte likgiltig av detta tillvägagångssätt

Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Mer information om byggstenar nedan.

Beräkningsmodul

För vårt proof of concept valde vi Raspberry Pi Compute Module, som är den perfekta installationen för att komma igång. RPi-communityt är aktivt, det finns inga problem med mjukvaran, själva modulen är i SO-DIMM-format (6 x 3 cm), är prisvärd, innehåller en 4-kärnig CPU, 1 GB RAM och valfritt flashminne på 8, 16 eller 32 GB för OS och andra systembehov. Denna formfaktor används ofta i industriella IoT-lösningar.

Raspberry Pi 1/3/3+ beräkningsmodul

Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Men CM3-modellen har också allvarliga begränsningar - max. 1 GB RAM och Ethernet via USB HUB med maximal hastighet upp till 100 Mbps. Därför kommer den andra versionen av Turing att stödja Raspberry Pi 4 och upp till 8 GB RAM per modul. Nedan är ett exempel på Nvidia Jetson-moduler för Accelerated Computing-uppgifter. Kanske kommer de att stödjas i den andra versionen om vi löser några tekniska problem, då kan vi blanda moduler.

Nvidia Jetson Compute Modules

Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Modulerna innehåller den viktigaste möjligheten, vilket inte är självklart vid första anblicken. Möjligheten att skapa andra moduler i en liknande formfaktor med en annan uppsättning CPU, RAM och eMMC, för olika typer av uppgifter från allmän datoranvändning till intensiv datorinlärning. Detta är väldigt likt AWS EC2-instanser, men för kanten. I det här fallet förblir klusterkortet oförändrat eller med mindre ändringar.

Clusterboard

Det kan också kallas moderkort eller baskort, en ganska ny inriktning och det finns inte många tillverkare av sådana lösningar idag och de är fortfarande på en ganska grundläggande nivå, bland dem Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC-kluster). Klusterkortet kopplar ihop modulerna med ett nätverk, ger ström och ger en klusterhanteringsbuss (Cluster Management Bus), vi bestämde oss åtminstone för att lägga till denna buss och den verkar ha slagit rot.

Front
Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Rygg
Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Bakplanets bandbredd 12 Gbps
SD-platser för moduler utan eMMC, till exempel kan du hålla ett par moduler med SD för snabb åtkomst till noddata

Klusterkortet är baserat på en switchmikrokrets för att ge nätverksanslutning av moduler och tillgång till ett externt nätverk. I den nuvarande versionen använder vi unmanaged switch eftersom det inte fanns tid att göra fullfjädrad FoU, men för den andra versionen valde vi en bra hanterad switch. Konfiguration i 'masternoden som en router'-läge för att distribuera nätverket till kortet är möjlig om en högre säkerhetsnivå och isolering av arbetare från extern åtkomst krävs, i vilket fall en DHCP-server också måste hållas på masternoden.

Ansökan

Den nuvarande versionen är experimentell och vi positionerar den som en nybörjarlösning för att lära oss vad kluster är, arbeta med programvara eller som ett sätt att testa hypoteser i organisationer, söka efter nya idéer, i allmänhet en Lite-version.

För att komma igång rekommenderar vi en serie från underbara Jeff Girling, som läst om oss på Y Combinator och är författare till den bästsäljande boken Ansible for DevOps. Han blev så inspirerad att han gjorde en 6-delad recension, med start från idén om klustring i allmänhet till praktiska exempel på att arbeta med styrelsen, studera Kubernetes och vilken programvara som kan installeras.

Serie om att installera k3s på ett kluster

Spela upp video

I allmänhet rekommenderar jag att du tittar på den första, den handlar om klustring och Kubernetes i allmänhet på ett tillgängligt språk. Och några bilder från samhället

Turing Pi - klusterkort för egenvärdiga applikationer och tjänster

Vad händer nu?

Först och främst hoppas jag verkligen att det var intressant. Detta är ett absolut originalinnehåll, ett försök att se bortom horisonten. För det andra planerar jag att skriva en andra del om designen av Turing V2. Hur sökningen efter produkten gick till, logiska bedömningar, sökning efter de viktigaste egenskaperna som är viktiga. Artikeln kommer att innehålla produktskisser från de tidigaste till de sista. Den andra artikeln kommer att vara av särskilt intresse för produktchefer som ansvarar för produkter och deras utveckling i företag.

Och troligtvis blir det en riktigt lång läsning.

Källa: will.com