
Turing Pi is a solution for self-hosted applications built on the principle of racks in data centers, but on a compact motherboard. The solution is aimed at building local infrastructure for local development and hosting of applications and services. In general, it's like AWS EC2, but for edge environments.
We are a small team of developers who decided to create a solution for building bare-metal clusters at the edge and named the project Turing Pi. The product started as a grassroots initiative, but now it has been ordered by development departments at Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, and is attracting a developer audience nearing 10K.
But it all started with a discovery.
The Product Discovery
I once made a discovery for myself that we do not invent anything. All the things that exist in this world, we discover. We discover that some parts can be combined together, gaining new properties of products, or we uncover laws and then combine them again. Nothing can be invented, but discoveries can be made during research. In my opinion, invention is the result of constant observations, experiments, and seeking + the combination of knowledge.
Over the last decade, I have observed how the homelab movement has been gaining momentum (resource ), self-hosted (resources in ), single-board computers, and how interest in running containers on single-board computers like Raspberry Pi is growing, as well as the movement of building clusters from single-board computers. Gradually, the idea of Kubernetes is also drawing attention. A lightweight version, k3s, focused on Edge/IoT, has already emerged. One of the world's largest fast food chains, Chick-fil-A, was among the first to deploy Kubernetes clusters in their kitchens. .
I see this as a snowball effect, how one technology wraps around another, creating a more complex system. There is no chaos; it resembles a fractal of technologies. At one of the more complicated moments in my life, I saw value in clusters built from single-board computers by hobbyist developers and started working on creating a cluster board.
Today, our cluster board is very simple and primarily aimed at those who love cloud-native technologies, eager to learn new things and experiment.
Building Blocks
Torej, kaj točno je rešitev in kakšna je njena bistvo. Bistvo je v tem, da ponudi konstruktor, gradbene bloke (Building Blocks), s katerimi lahko zgradite robno infrastrukturo ceneje kot na klasičnih strežnikih, prenosno in brez obsežnih kovinskih omar, ki ne zahtevajo posebnih pogojev okolja, energijsko učinkovito, standardizirano v smislu modulov in z možnostjo hitrega širjenja na desetine in stotine računalniških enot (procesorjev).
Clusterboard
Mini ITX plošča povezuje več računalniških modulov prek omrežja na plošči, nudi periferni vmesnik in nadzor nad moduli
Računalniški modul
Plošča v formatu SO-DIMM, ki vsebuje procesor in pomnilnik, opcijsko bliskovna pomnilnika za shranjevanje operacijskega sistema

Ena izmed načrtovanih konfiguracij različice Turing V2

S kombiniranjem clusterboard in računalniških modulov je enostavno ustvariti infrastrukturo na 20+ procesorjih (primeri spodaj), brezšumno in z nizko porabo energije. Sama clusterboard povečuje učinkovitost uporabljenega prostora. Primeri grozdov za primerjavo
Na osnovi SBC*

24 CPU-jev
Avtor Afkham Azeez
Na osnovi Turing Pi

21 CPU-jev
Avtor
* SBC — Samostojna računalniška plošča
Sodelavca Rancher Labs in avtor k3s, ta pristop ni ostal nepazljen

O nadaljnjih gradbenih blokih podrobneje.
Računalniški Modul
Za preverjanje koncepta smo izbrali Raspberry Pi Compute Module, kar je idealna konfiguracija za začetek. Skupnost RPi je aktivna, ni težav s programsko opremo, sam modul je v formatu SO-DIMM (6 x 3 cm), cenovno dostopen, vsebuje 4-jedrni procesor, 1 GB RAM in opcijsko bliskovno pomnilnik 8, 16 ali 32 GB za OS in druge sistemske potrebe. Podoben format pogosto uporabljajo v industrijskih IoT rešitvah.
Raspberry Pi 1/3/3+ Compute Module

Vendar pa ima model CM3 tudi resne omejitve — max. 1 GB RAM in Ethernet preko USB HUB-a z maksimalno hitrostjo do 100 Mbps. Zato bo druga različica Turing podpirala Raspberry Pi 4 in do 8 GB operativnega pomnilnika na modul. Spodaj je primer Nvidia Jetson modulov za pospešeno računalništvo. Morda bo njihova podpora v drugi različici, če rešimo nekatere tehnične izzive, takrat bomo lahko mešali module.
Nvidia Jetson Compute Modules

V modulih se skriva najboljša možnost, ki na prvi pogled ni očitna. Možnost ustvarjanja drugih modulov v podobnem formatu z različnimi nabori CPU, RAM in eMMC, za različne vrste nalog, od splošnega računalništva do intenzivnih izračunov za strojno učenje. To je zelo podobno AWS EC2 instancam, vendar le za edge. Pri tem pa klasterska plošča ostaja nespremenjena ali z manjšimi spremembami.
Clusterboard
Lahko jo imenujemo tudi matična plošča ali osnovna plošča, kar je dokaj nova smer, proizvajalcev takšnih rešitev pa danes ni veliko in so še vedno na začetni ravni, med njimi so Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (SBC klasteri). Klusterska plošča povezuje module z omrežjem, zagotavlja napajanje in nudi vodilo za upravljanje klasterja (Cluster Management Bus), vsaj to vodilo smo se odločili dodati in se je očitno prijelo.
Spredaj

Zadaj

Bandwith zadnje plošče 12 Gbps
SD reže za module brez eMMC, na primer, lahko zadržimo nekaj modulov z SD za hiter dostop do podatkov vozlišča
V središču klasterske plošče je mikročip stikala za zagotavljanje omrežne povezave modulov in izhoda v zunanje omrežje. V trenutni različici uporabljamo unmanaged switch, ker nismo imeli časa za temeljito R&D, toda za drugo različico smo izbrali dokaj dobro managed switch. Možna je konfiguracija v načinu 'master vozlišče kot usmerjevalnik' za delitev omrežja na ploščo, če je potrebna višja stopnja varnosti in izolacije delavcev od zunanjega dostopa, v tem primeru je tudi na master vozlišču potrebno imeti DHCP strežnik.
Uporaba
Trenutna različica je eksperimentalna in jo pozicioniramo kot začetno rešitev za raziskovanje, kaj so klasterji, delo s programsko opremo ali kot preverjanje hipotez v organizacijah, iskanje novih idej, preprosto v takšni Lite različici.
Za začetek priporočamo serijo odličnega Jeffa Geerlinga, ki je o nas slišal na Y Combinator, je avtor bestselerja Ansible for DevOps. Tako se je navdušil, da je naredil 6-delni pregled, ki se začne z idejo klasterizacije na splošno do praktičnih primerov dela s ploščo, učenja Kubernetes in katere programske opreme lahko namestimo.
Serija o namestitvi k3s na klaster

Priporočam, da začnete s prvo, tam je splošno o klasterizaciji in Kubernetes z dostopnim jezikom. In nekaj slik iz skupnosti.

Kaj zdaj?
Prvič, res upam, da je bilo zanimivo. To je popolnoma avtorske vsebine, poskus vpogleda v prihodnost. Drugič, načrtujem napisati drugi del o zasnovi Turing V2. Kako je potekalo iskanje proizvoda, logične dedukcije, iskanje osnovnih lastnosti, ki so pomembne. Članek bo vseboval skice proizvoda od najzgodnejših do končnih. Drugi članek bo še posebej zanimiv za produktne menedžerje, ki so odgovorni za proizvode in njihov razvoj v podjetjih.
In verjetno bo to res dolg članek.
Izvor: habr.com
