
Turing Pi è una soluzione per applicazioni self-hosted costruita sul principio dei rack in un data center, solo su una scheda madre compatta. La soluzione è focalizzata sulla costruzione di un'infrastruttura locale per lo sviluppo locale e l'hosting di applicazioni e servizi. In generale, è come AWS EC2 solo per edge.
Noi, un piccolo team di sviluppatori, abbiamo deciso di creare una soluzione per la creazione di cluster bare metal in edge e abbiamo chiamato il progetto Turing Pi. Il prodotto è iniziato come un progetto preliminare, ma ora, per testare i loro concetti, è stato ordinato dai dipartimenti di sviluppo di Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook e un pubblico di sviluppatori sotto i 10 anni è essere reclutato.
Ma tutto è iniziato con la scoperta.
Scoperta del prodotto
Una volta ho scoperto che non inventiamo nulla. Scopriamo tutte le cose che esistono in questo mondo. Scopriamo che alcune parti possono essere combinate insieme, ottenendo nuove proprietà di prodotti, oppure scopriamo leggi e poi le combiniamo nuovamente. Non puoi inventare nulla, ma puoi scoprirlo durante la ricerca. Secondo me, un'invenzione è il risultato di costante osservazione, sperimentazione e ricerca + una combinazione di conoscenze.
Negli ultimi dieci anni, ho visto il movimento dei laboratori domestici amatoriali guadagnare slancio (risorsa ), self-hosted (resources и ), computer a scheda singola, man mano che cresce l'interesse per l'esecuzione di contenitori su computer a scheda singola come il Raspberry Pi, si registra un movimento crescente per assemblare cluster di computer a scheda singola. L’idea di Kubernetes si sta gradualmente spostando lì. La sua versione leggera, k3s, focalizzata su Edge/IoT, è già apparsa. La grande catena di fast food Chick-fil-A è una delle prime al mondo a implementare i cluster Kubernetes nelle sue cucine .
Lo vedo come una palla di neve, poiché una tecnologia si avvolge attorno a un'altra, creando un sistema più complesso. Allo stesso tempo, non c'è caos, più simile a un frattale della tecnologia. In uno dei momenti piuttosto difficili della mia vita per me, ho visto il valore dei cluster assemblati da computer a scheda singola da sviluppatori dilettanti e ho iniziato a lavorare sulla creazione di una scheda cluster.
Oggi la nostra cluster board è molto semplice e si rivolge principalmente a chi ama le tecnologie cloud native, impara cose nuove e sperimenta.
Costruzioni
Allora, qual è la soluzione, qual è l'essenza. Il punto è fornire un costruttore, dei building block (Building Blocks) da cui assemblare infrastrutture edge più economiche rispetto ai server classici, mobili senza ingombranti box metallici, che non richiedano condizioni operative particolari come sale server, efficienti dal punto di vista energetico, standardizzate in termini di moduli e con la capacità di scalare rapidamente su decine e centinaia di nodi di elaborazione (processori).
Quadro cluster
La scheda Mini ITX collega più moduli di elaborazione utilizzando una rete integrata, fornisce interfacce periferiche e controllo sui moduli
Modulo di calcolo
Una scheda nel fattore di forma SO-DIMM contenente un processore e una RAM, opzionalmente una memoria flash per la memorizzazione del sistema operativo

Una delle configurazioni previste per Turing V2

Combinando una scheda cluster e moduli di elaborazione, è facile creare un'infrastruttura per, ad esempio, più di 20 processori (esempi di seguito), silenziosa e con un basso consumo energetico. La stessa scheda cluster aumenta l'efficienza del volume utilizzato. Esempi di cluster per il confronto
Basato su SBC*

24 CPU
Inserito da Afkham Azeez
Basato su Turing Pi

21 CPU
autore
* SBC: computer a scheda singola
Il cofondatore di Rancher Labs e autore di k3s non è rimasto indifferente a questo approccio.

Maggiori informazioni sugli elementi costitutivi di seguito.
Modulo di calcolo
Per la prova di concetto, abbiamo scelto il modulo di calcolo Raspberry Pi: questa è la configurazione ideale con cui iniziare. La comunità RPi è attiva, non ci sono problemi con il software, il modulo stesso è in formato SO-DIMM (6 x 3 cm), è conveniente, contiene a bordo una CPU a 4 core, 1 GB di RAM e memoria flash opzionale di 8, 16 o 32 GB per sistema operativo e altre esigenze di sistema. Questo fattore di forma viene spesso utilizzato nelle soluzioni IoT industriali.
Modulo di elaborazione Raspberry Pi 1/3/3+

Ma il modello CM3 presenta anche seri limiti: max. 1 GB di RAM ed Ethernet tramite HUB USB con una velocità massima fino a 100 Mbps. Pertanto, la seconda versione di Turing supporterà Raspberry Pi 4 e fino a 8 GB di RAM per modulo. Di seguito è riportato un esempio di moduli Nvidia Jetson per attività di calcolo accelerato. Forse saranno supportati nella seconda versione, se risolviamo alcuni problemi tecnici, allora potremo mescolare i moduli.
Moduli di elaborazione Nvidia Jetson

I moduli contengono la caratteristica più importante, che a prima vista non è evidente. La possibilità di creare altri moduli in un fattore di forma simile con un set diverso di CPU, RAM ed eMMC, per diversi tipi di attività, dall'informatica generale all'elaborazione ad alta intensità di machine learning. Questo è molto simile alle istanze AWS EC2, ma solo per edge. In questo caso la scheda cluster rimane invariata o con piccole modifiche.
Quadro cluster
Può anche essere chiamata scheda madre o scheda base, una direzione abbastanza nuova e oggi non ci sono molti produttori di tali soluzioni e sono ancora abbastanza al livello base, tra cui Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (cluster SBC ). La scheda cluster collega i moduli con una rete, fornisce alimentazione e fornisce un bus di gestione del cluster (Cluster Management Bus), almeno abbiamo deciso di aggiungere questo bus e sembra aver messo radici.
Anteriore

Di ritorno

Larghezza di banda del backplane 12 Gbps
Slot SD per moduli senza eMMC, ad esempio, puoi mantenere un paio di moduli con SD per un rapido accesso ai dati del nodo
La scheda cluster si basa su un chip switch per garantire la connessione di rete dei moduli e l'accesso a una rete esterna. Nella versione attuale utilizziamo uno switch non gestito perché Non c'era tempo per condurre una ricerca e sviluppo completa, ma per la seconda versione abbiamo scelto un buon passaggio gestito. È possibile configurarlo nella modalità 'nodo master come router' per distribuire la rete alla scheda; questo nel caso in cui sia richiesto un maggiore livello di sicurezza e isolamento degli operatori dagli accessi esterni, nel qual caso è necessario anche mantenere un server DHCP sul nodo master.
applicazione
La versione attuale è sperimentale e la stiamo posizionando come soluzione entry-level per apprendere cosa sono i cluster, lavorare con il software o come test di ipotesi nelle organizzazioni, alla ricerca di nuove idee, in generale, questa è una versione Lite.
Per iniziare, consigliamo una serie del meraviglioso Jeff Girling, che ha letto di noi su Y Combinator ed è l'autore del libro più venduto Ansible for DevOps. Era così ispirato che ha fatto una recensione in 6 parti, partendo dall'idea del clustering in generale fino ad esempi pratici di lavoro con la scheda, studiando Kubernetes e quale software può essere installato
Serie sull'installazione di k3s su un cluster

In generale, consiglio di guardare dal primo, lì in generale sul clustering e Kubernetes in un linguaggio accessibile. E alcune foto dalla community

Quali sono le prospettive?
Innanzitutto spero davvero che sia stato interessante. Si tratta di contenuti assolutamente originali, un tentativo di guardare oltre l'orizzonte. In secondo luogo, ho intenzione di scrivere una seconda parte sul design di Turing V2. Come è avvenuta la ricerca del prodotto, giudizi logici, ricerca delle principali proprietà importanti. L'articolo conterrà gli schizzi dei prodotti dai primi a quelli finali. Il secondo articolo sarà di particolare interesse per gli scienziati di prodotto, responsabili dei prodotti e del loro sviluppo nelle aziende.
E molto probabilmente la lettura sarà davvero lunga.
Fonte: habr.com
