
Turing Pi é uma solução para aplicações auto-hospedadas construídas com base no princípio de racks em um data center, apenas em uma placa-mãe compacta. A solução está focada na construção de uma infraestrutura local para desenvolvimento local e hospedagem de aplicações e serviços. Em geral, é como o AWS EC2 apenas para borda.
Nós, uma pequena equipe de desenvolvedores, decidimos criar uma solução para construir clusters bare-metal no edge e chamamos o projeto de Turing Pi. O produto começou como um projeto zero, mas agora, para testar seus conceitos, foi encomendado pelos departamentos de desenvolvimento da Red Hat, Rancher (SUSE), Toyota Connected, Sony, Electrolux, Facebook, e um público de desenvolvedores com menos de 10K é sendo recrutado.
Mas tudo começou com a descoberta.
Descoberta de produto
Era uma vez descobri que não inventamos nada. Descobrimos todas as coisas que existem neste mundo. Descobrimos que algumas partes podem ser combinadas, obtendo novas propriedades de produtos, ou descobrimos leis e depois as combinamos novamente. Você não pode descobrir nada, mas pode descobrir durante a pesquisa. Na minha opinião, uma invenção é o resultado de constante observação, experimentação e pesquisa + uma combinação de conhecimentos.
Na última década, observei o movimento amador de homelab ganhar impulso (recurso ), auto-hospedado (recursos и ), computadores de placa única, à medida que cresce o interesse em executar contêineres em computadores de placa única, como o Raspberry Pi, há um movimento crescente para montar clusters de computadores de placa única. A ideia do Kubernetes está gradualmente se movendo para lá. Sua versão leve, k3s, focada em Edge/IoT, já apareceu. A grande rede de fast food Chick-fil-A é uma das primeiras no mundo a implantar clusters Kubernetes em suas cozinhas .
Vejo isso como uma bola de neve, à medida que uma tecnologia envolve outra, criando um sistema mais complexo. Ao mesmo tempo, não há caos, é mais como um fractal da tecnologia. Em um dos momentos mais difíceis da minha vida, vi o valor dos clusters montados a partir de computadores de placa única por desenvolvedores amadores e comecei a trabalhar na criação de uma placa de cluster.
Hoje nosso cluster board é muito simples e é voltado principalmente para quem ama tecnologias nativas da nuvem, aprende coisas novas e experimenta.
Blocos de construção
Então, qual é a solução, qual é a essência. O objetivo é fornecer um construtor, blocos de construção (Building Blocks) a partir dos quais você possa montar infraestrutura de ponta mais barata do que em servidores clássicos, móveis sem caixas metálicas volumosas, não exigindo condições operacionais especiais, como salas de servidores, energeticamente eficientes, padronizados em termos de módulos e com a capacidade de escalar rapidamente em dezenas e centenas de nós de computação (processadores).
Painel de aglomerado
A placa Mini ITX conecta vários módulos de computação usando uma rede integrada, fornece interfaces periféricas e controle sobre os módulos
Módulo de computação
Uma placa no formato SO-DIMM contendo um processador e RAM, opcionalmente memória flash para armazenar o sistema operacional

Uma das configurações projetadas para Turing V2

Ao combinar uma placa cluster e módulos computacionais, é fácil criar uma infraestrutura para, por exemplo, mais de 20 processadores (exemplos abaixo), silenciosa e com baixo consumo de energia. A própria placa do cluster aumenta a eficiência do volume utilizado. Exemplos de clusters para comparação
Baseado em SBC*

24 CPUs
Escrito por Afkham Azeez
Baseado em Turing Pi

21 CPUs
autor
* SBC - Computador de Placa Única
O cofundador do Rancher Labs e autor do k3s não ficou indiferente a esta abordagem.

Leia mais sobre blocos de construção abaixo.
Módulo de computação
Para a prova de conceito, escolhemos o Raspberry Pi Compute Module – esta é a configuração ideal para começar. A comunidade RPi está ativa, não há problemas com o software, o módulo em si está no formato SO-DIMM (6 x 3 cm), é acessível, contém uma CPU de 4 núcleos integrada, 1 GB de RAM e memória flash opcional de 8, 16 ou 32 GB para sistema operacional e outras necessidades do sistema. Esse formato é frequentemente usado em soluções industriais de IoT.
Módulo de computação Raspberry Pi 1/3/3+

Mas o modelo CM3 também tem sérias limitações - máx. 1 GB de RAM e Ethernet via USB HUB com velocidade máxima de até 100 Mbps. Portanto, a segunda versão do Turing terá suporte para Raspberry Pi 4 e até 8 GB de RAM por módulo. Abaixo está um exemplo de módulos Nvidia Jetson para tarefas de computação acelerada. Talvez sejam suportados na segunda versão, se resolvermos alguns problemas técnicos podemos misturar módulos.
Módulos de computação Nvidia Jetson

Os módulos contêm o recurso mais importante, que não é óbvio à primeira vista. A capacidade de criar outros módulos em um formato semelhante com um conjunto diferente de CPU, RAM e eMMC, para diferentes tipos de tarefas, desde computação geral até computação com uso intensivo de aprendizado de máquina. Isso é muito semelhante às instâncias AWS EC2, mas apenas para borda. Neste caso, a placa do cluster permanece inalterada ou com pequenas alterações.
Painel de aglomerado
Também pode ser chamada de placa-mãe ou placa base, uma direção relativamente nova e hoje não existem muitos fabricantes dessas soluções e ainda estão no nível básico, entre eles Pine64, MiniNodes, Clover Pi, Bitscope Blade, PicoCluster (clusters SBC ). A placa do cluster conecta os módulos a uma rede, fornece energia e fornece um barramento de gerenciamento de cluster (Cluster Management Bus), pelo menos decidimos adicionar esse barramento e parece que ele criou raízes.
Frente

Voltar

Largura de banda do backplane 12 Gbps
Slots SD para módulos sem eMMC, por exemplo, você pode manter alguns módulos com SD para acesso rápido aos dados do nó
A placa do cluster é baseada em um chip switch para garantir a conexão dos módulos em rede e o acesso a uma rede externa. Na versão atual usamos switch não gerenciado porque Não houve tempo para realizar P&D completo, mas para a segunda versão escolhemos um bom switch gerenciado. É possível configurá-lo no modo 'nó mestre como roteador' para distribuir a rede à placa; isto se for necessário um maior nível de segurança e isolamento dos trabalhadores do acesso externo, caso em que também é necessário manter um servidor DHCP no nó mestre.
Aplicação
A versão atual é experimental e estamos posicionando-a como uma solução de entrada para aprender o que são clusters, trabalhar com o software, ou como testar hipóteses nas organizações, em busca de novas ideias, em geral, esta é uma versão Lite.
Para começar, recomendamos uma série do maravilhoso Jeff Girling, que leu sobre nós no Y Combinator e é autor do livro best-seller Ansible for DevOps. Ele ficou tão inspirado que fez uma revisão em 6 partes, partindo da ideia de clustering em geral até exemplos práticos de como trabalhar com a placa, estudando Kubernetes e quais softwares podem ser instalados
Série sobre instalação de k3s em um cluster

Em geral, recomendo assistir desde o primeiro, lá em geral sobre clustering e Kubernetes em uma linguagem acessível. E algumas fotos da comunidade

Qual é o próximo?
Em primeiro lugar, espero realmente que tenha sido interessante. Este é um conteúdo absolutamente original, uma tentativa de olhar além do horizonte. Em segundo lugar, pretendo escrever uma segunda parte sobre o design do Turing V2. Como ocorreu a busca pelo produto, julgamentos lógicos, busca pelas principais propriedades que são importantes. O artigo conterá esboços de produtos, desde os primeiros até os finais. O segundo artigo será de particular interesse para os cientistas de produto, responsáveis pelos produtos e pelo seu desenvolvimento nas empresas.
E provavelmente haverá uma leitura muito longa.
Fonte: habr.com
