Turing Pi - Cluster Board für selbst gehostete Anwendungen und Dienste

Bild



Turing Pi ist eine selbst gehostete Anwendungslösung, die auf dem Prinzip der Rack-Racks im Rechenzentrum basiert und nur auf einem kompakten Motherboard basiert. Die Lösung konzentriert sich auf den Aufbau einer lokalen Infrastruktur für die lokale Entwicklung und das Hosting von Anwendungen und Diensten. Im Grunde ist es wie AWS EC2 nur für den Rand.



Wir, ein kleines Entwicklungsteam, haben beschlossen, eine Lösung für den Bau von Bare-Metal-Clustern am Rande zu entwickeln, und das Projekt Turing Pi genannt. Das Produkt begann am Knie, aber jetzt haben die Entwicklungsabteilungen von Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux und Facebook es bestellt, um ihre Konzepte zu testen, und das Publikum von Entwicklern unter 10.000 rekrutiert.



Aber alles begann mit einer Entdeckung.



Produktentdeckung



Einmal habe ich selbst festgestellt, dass wir nichts erfinden. Wir entdecken alle Dinge, die auf dieser Welt existieren. Wir stellen fest, dass einige Teile miteinander kombiniert werden können, um neue Eigenschaften von Produkten zu erhalten oder Gesetze zu entdecken und dann erneut zu kombinieren. Sie können an nichts denken, aber Sie können es während der Recherche öffnen. Meiner Meinung nach ist Erfindung das Ergebnis ständiger Beobachtung, Experimente und Suche + Kombination von Wissen.



In den letzten zehn Jahren habe ich mir das Homelab ( Subreddit- Ressource ) angesehen, das selbst gehostet ( Subreddit und Awesome-Selfhosted) ist), Single-Board-Computer, da das Interesse an der Ausführung von Containern auf Single-Board-Computern wie dem Raspberry Pi wächst, wächst die Bewegung, Cluster von Single-Board-Computern zu sammeln. Allmählich erstreckt sich dort auch die Idee von Kubernetes. Die leichtgewichtige Version von k3s, die sich auf Edge / IoT konzentriert, ist bereits erschienen. Die große Fast-Food-Kette Chick-fil-A war eine der ersten auf der Welt, die Kubernetes-Cluster in ihrem Kubectl einsetzte und mich zu einer Sandwichküche machte .



Ich sehe es als Schneeball, wenn sich eine Technologie um eine andere wickelt und ein komplexeres System schafft. Gleichzeitig gibt es kein Chaos, es sieht eher aus wie ein Fraktal aus der Technologie. In einem der für mich ziemlich schwierigen Momente meines Lebens erkannte ich den Wert von Clustern, die von Amateurentwicklern aus Single-Board-Computern zusammengesetzt wurden, und begann, an der Erstellung eines Cluster-Boards zu arbeiten.



Heute ist unser Cluster Board sehr einfach und richtet sich in erster Linie an diejenigen, die Cloud-native Technologien lieben, neue Dinge lernen und experimentieren.



Bausteine



Also, was ist die Lösung, was ist die Essenz. Das Endergebnis ist, einem Konstrukteur Bausteine ​​zu geben, aus denen Sie die Edge-Infrastruktur billiger als auf klassischen Servern zusammenbauen können, die ohne sperrige Metallboxen mobil sind, keine besonderen Betriebsbedingungen wie Serverräume erfordern, energieeffizient sind, in Bezug auf Module standardisiert sind und schnell arbeiten können Skalierung auf Dutzende und Hunderte von Rechenknoten (Prozessoren).

Die Clusterboard



Mini ITX- Karte verbindet mehrere Computermodule über ein integriertes Netzwerk, bietet periphere Schnittstellen und Modulsteuerung

Compute Module



SO-DIMM Platine enthält , Prozessor und RAM, optional Flash - Speicher für die Betriebssystemspeicher

Bild

Eine der geplanten Konfigurationen der Turing V2-Version

Bild
Durch die Kombination einer Clusterplatine und von Computermodulen ist es einfach, eine Infrastruktur für beispielsweise mehr als 20 Prozessoren (Beispiele unten) zu erstellen, die leise und mit geringem Stromverbrauch ist. Die Clusterplatine selbst erhöht die Effizienz des genutzten Raums. Beispiele für Cluster zum Vergleich

SBC-basierte *

Bild

24 CPUs

Von Afkham Azeez

Turing Pi-basierte

Bild

21 CPUs

Von th3st0rmtr00p3r

* SBC - Single Board Computer



Mitbegründer von Rancher Labs und Autor von k3s. Dieser Ansatz ließ niemanden gleichgültig.



Bild



Lesen Sie weiter, um weitere Informationen zu Bausteinen zu erhalten.



Rechenmodul



Als Proof of Concept haben wir das Raspberry Pi Compute Module ausgewählt, das die perfekte Konfiguration für den Einstieg darstellt. Die RPi-Community ist aktiv, es gibt keine Probleme mit der Software, das Modul selbst ist im SO-DIMM-Format (6 x 3 cm), erschwinglich, enthält eine 4-Core-CPU, 1 GB RAM und optional 8, 16 oder 32 GB Flash-Speicher für Betriebssystem und andere Systemanforderungen. Dieser Formfaktor wird häufig in industriellen IoT-Lösungen verwendet.



Raspberry Pi 1/3/3 + Rechenmodul



Bild



Das CM3-Modell weist jedoch auch gravierende Einschränkungen auf - max. 1 GB RAM und Ethernet über USB HUB mit einer maximalen Geschwindigkeit von bis zu 100 Mbit / s. Daher unterstützt die zweite Version von Turing Raspberry Pi 4 und bis zu 8 GB RAM pro Modul. Unten finden Sie ein Beispiel für Nvidia Jetson-Module für Accelerated Computing-Aufgaben. Vielleicht werden sie in der zweiten Version unterstützt. Wenn wir einige technische Probleme lösen, können wir die Module mischen.



Nvidia Jetson-Rechenmodule



Bild



Das wichtigste Merkmal liegt in den Modulen, was auf den ersten Blick nicht ersichtlich ist. Die Fähigkeit, andere Module in einem ähnlichen Formfaktor mit einem anderen Satz von CPU, RAM und eMMC für verschiedene Arten von Aufgaben zu erstellen, vom allgemeinen Rechnen bis zum maschinell lernintensiven Rechnen. Dies ist AWS EC2-Instanzen sehr ähnlich, jedoch nur für Edge. In diesem Fall bleibt die Clusterplatine unverändert oder mit geringfügigen Änderungen.



Clusterboard



Es kann auch als Motherboard oder Baseboard bezeichnet werden, eine ziemlich neue Richtung, und es gibt heute nicht viele Hersteller solcher Lösungen, die sich noch im Einstiegsbereich befinden, darunter Pine64, MiniNodes, Clover Pi, Bitscope Blade und PicoCluster (SBC-Cluster). Die Cluster-Karte verbindet die Module mit einem Netzwerk, liefert Strom und stellt einen Cluster-Management-Bus bereit. Zumindest haben wir beschlossen, diesen Bus hinzuzufügen, und er scheint Wurzeln geschlagen zu haben.

Vorderseite

Bild

Zurück

Bild

Backplane-Bandbreite 12 Gbit / s SD-Steckplätze für Module ohne eMMC Sie können beispielsweise mehrere Module mit SD für den schnellen Zugriff auf Knotendaten halten
Die Clusterplatine basiert auf einem Switch-Chip, um die Netzwerkverbindung von Modulen und den Zugriff auf ein externes Netzwerk bereitzustellen. In der aktuellen Version verwenden wir einen nicht verwalteten Switch, weil Es war keine Zeit für vollwertige Forschung und Entwicklung, aber für die zweite Version haben wir einen gut verwalteten Switch gewählt. Es ist möglich, im Modus "Masterknoten als Router" die Verteilung des Netzwerks auf die Karte zu konfigurieren. Dies ist der Fall, wenn ein höheres Maß an Sicherheit und Isolation der Mitarbeiter vom externen Zugriff erforderlich ist. In diesem Fall muss auch ein DHCP-Server auf dem Masterknoten verbleiben.



Anwendung



Die aktuelle Version ist experimentell und wir positionieren sie als Einstiegslösung, um zu untersuchen, was Cluster sind, mit Software zu arbeiten oder als Hypothesentest in Organisationen nach neuen Ideen zu suchen, im Allgemeinen nach einer solchen Lite-Version.



Um Ihnen den Einstieg zu erleichtern, empfehlen wir eine Episode des wundervollen Jeff Geerling, der auf Y Combinator über uns gelesen hat und der Autor des meistverkauften Ansible for DevOps ist. Er war so begeistert, dass er eine 6-teilige Überprüfung durchführte, angefangen von der Idee des Clustering im Allgemeinen bis hin zu praktischen Beispielen für die Arbeit mit dem Board, das Erlernen von Kubernetes und welche Software installiert werden kann.



Eine Reihe über die Installation von k3s in einem Cluster





Im Allgemeinen empfehle ich, von Anfang an nach Clustering und Kubernetes in einer zugänglichen Sprache zu suchen. Und ein paar Bilder aus der Community



Bild



Was weiter?



Erstens hoffe ich wirklich, dass es interessant war. Dies ist absolut der Inhalt des Autors, ein Versuch, über den Horizont hinauszuschauen. Zweitens habe ich vor, den zweiten Teil über das Entwerfen von Turing V2 zu schreiben. Wie war die Suche nach einem Produkt, logische Urteile, die Suche nach den wichtigsten Eigenschaften, die wichtig sind. Der Artikel enthält Skizzen des Produkts von den frühesten bis zu den letzten. Der zweite Artikel ist von besonderem Interesse für Produktingenieure, die für Produkte und deren Entwicklung in Unternehmen verantwortlich sind.



Und höchstwahrscheinlich wird es eine wirklich lange Lektüre geben.



All Articles