Índice:
- Etapa 1: Assistir à versão em vídeo
- Etapa 2: O que você precisa
- Etapa 3: Instalando e configurando o Raspbian
- Etapa 4: Instalando o MPICH
- Etapa 5: Instalando MPI4PY
- Etapa 6: Copiar a imagem
- Etapa 7: Configurando o Raspberry Pi restante
- Etapa 8: Verificar as chaves do host
- Etapa 9: executando um programa em seu supercomputador
Vídeo: Como fazer um supercomputador Raspberry Pi !: 9 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Por si só, o Raspberry Pi não possui especificações impressionantes. Mas, com o preço muito barato, comprar vários desses e conectá-los para usar o poder de processamento combinado pode gerar um computador decente de baixo custo. Tem havido várias plataformas impressionantes construídas conectando dezenas de Pi's. Portanto, neste instrutível, vamos explorar como a tecnologia por trás da computação em cluster e fazer nosso próprio Bramble Pi!
Etapa 1: Assistir à versão em vídeo
Também fiz uma versão em vídeo em duas partes desse mesmo projeto. Então, se você não gosta de ler, relaxe e assista aos vídeos! Observe que a versão em vídeo usa Raspbian Wheezy. No entanto, as instruções abaixo são para a distribuição Raspbian atual, que é Jessie no momento em que estou escrevendo isto.
Etapa 2: O que você precisa
Para acompanhar este projeto, aqui estão as peças que você precisará adquirir
Aqui está o que você precisa:
- 2 ou mais Raspberry Pi's
- Cartões SD para cada Pi
- Cabos de energia para cada Pi
- Hub USB alimentado (opcional)
- Cabos de rede
- Um hub ou roteador
CUSTO TOTAL: ~ $ 100,00
Etapa 3: Instalando e configurando o Raspbian
Depois de ter todas as partes, a próxima etapa é baixar e configurar o Raspbian OS em um dos Raspberry Pi. Este será o seu mestre Pi. Estas são as etapas:
- Baixe a imagem do Raspbian aqui.
-
Grave a imagem Raspbian em cada cartão SD que você tiver para cada Raspberry Pi.
- Se você tem Windows, pode seguir estas instruções.
- Se você tem um Mac, pode seguir estas instruções.
- Assim que a imagem for gravada em seu cartão SD, coloque-o em cada um dos Raspberry Pi e inicialize-o.
-
Na primeira inicialização, você deve ver o Rasbperry Pi Desktop. Clique no ícone do menu no canto superior esquerdo e vá para Preferências> Configuração do Raspberry Pi. Aqui estão as opções que precisamos configurar
- Expanda o Sistema de Arquivos, se necessário.
- Mude o nome do host para Pi01
- Mude a opção de boot para CLI (Command Line Interface), já que não usaremos realmente a Desktop Interface.
- Relógio na guia "Interfaces" e certifique-se de que o SSH esteja habilitado.
- Clique na guia "Overclock" e escolha "Turbo".
- Altere a memória GPU para 16 MB.
- Clique na guia "Localização" e defina o layout do teclado para corresponder ao de seus países.
- Conclua a configuração e reinicie seu Pi.
Etapa 4: Instalando o MPICH
Ainda usando apenas um Pi como mestre, agora precisamos instalar o software principal que nos permitirá usar o poder de processamento de todos os Pi's em nossa rede. Esse software é denominado MPICH, que é uma interface de passagem de mensagens. Aqui está o que você precisa fazer para instalá-lo:
sudo apt-get update
mkdir mpich2
cd ~ / mpich2
wget
tar xfz mpich-3.1.tar.gz
sudo mkdir / home / rpimpi /
sudo mkdir / home / rpimpi / mpi-install
mkdir / home / pi / mpi-build
cd / home / pi / mpi-build
sudo apt-get install gfortran
sudo /home/pi/mpich2/mpich-3.1/configure -prefix = / home / rpimpi / mpi-install
sudo make
sudo make install
nano.bashrc
PATH = $ PATH: / home / rpimpi / mpi-install / bin
sudo reboot
mpiexec -n 1 hostname
Esses comandos irão baixar e instalar o MPICH, bem como adicioná-lo como um caminho para o arquivo de inicialização do BASHRC. O último comando executa um teste para ver se funciona. Se o último comando retornar “Pi01”, você fez tudo com sucesso.
Etapa 5: Instalando MPI4PY
Como está, MPICH pode executar programas C e Fortran. Mas, como o Raspberry Pi tem o ambiente de codificação Python pré-instalado, seria mais fácil instalar um interpretador Python para MPI. Aqui estão os comandos para fazer isso:
sudo aptitude install python-dev
wget
tar -zxf mpi4py-1.3.1
cd mpi4py-1.3.1
compilação python setup.py
python setup.py install
export PYTHONPATH = / home / pi / mpi4py-1.3.1
mpiexec -n 5 python demo / helloworld.py
Esse último comando deve retornar cinco respostas. Cada um é um processo diferente no Pi01 executando o programa python "Hello World" que acabamos de criar.
Etapa 6: Copiar a imagem
Agora que configuramos com sucesso nosso Pi mestre, precisamos copiar a imagem do cartão SD desse Pi para todos os outros Pi. Veja como você pode fazer isso no Windows:
- Retire o cartão SD master do Pi e insira-o no computador.
- Usando o Win32DiskImager, use o botão "Ler" para salvar o conteúdo do cartão SD em seu computador.
- Ejete o cartão SD mestre e insira um cartão SD para um dos outros Pi's. Em seguida, use a opção "Gravar" do Win32DiskImager para gravar a imagem que salvamos no novo cartão SD.
- Repita a etapa 3 até que você tenha a imagem mestre gravada em todos os cartões SD.
Etapa 7: Configurando o Raspberry Pi restante
Agora que temos todos os cartões SD preparados, insira o cartão SD mestre de volta no Pi mestre, conecte-o a um roteador e inicialize-o novamente. Em seguida, para os Raspberry Pi restantes, insira cartões SD em todos eles, conecte-os ao mesmo roteador que o seu Master Pi e, em seguida, inicialize todos eles. Nenhum dos Pi secundários precisa ter teclados, mouses ou monitores.
Uma vez que todos os Pis estejam ligados, usando nosso Master Pi, devemos ser capazes de obter os endereços IP de cada Pi na rede. Veja como:
-
Primeira instalação NMAP
sudo apt-get update
sudo apt-get install nmap
-
Em seguida, obtenha o IP atual para o Pi mestre
ifconfig
-
Agora você pode escanear sua sub-rede de roteadores para os outros endereços IP de Pi
sudo nmap -sn 192.168.1. *
Copie todos os endereços IP pertencentes aos outros Raspberry Pi na rede. Então, poderemos usar esses IPs para nos conectarmos a cada um dos outros Pis usando SSH. O que precisamos fazer primeiro é renomear cada um dos Pis secundários com um nome de rede exclusivo. No momento, eles estão configurados para Pi01. Supondo que um dos endereços IP do Pi secundário seja 192.168.0.3, veja como você pode se conectar a ele e alterar seu nome:
-
Estabeleça uma conexão SSH
-
Execute raspi-config
sudo raspi-config
- Na interface, role para baixo até a opção Advanced e escolha Hostname.
- Para o nome do host, altere Pi01 para o próximo número sequencial, que é Pi02.
-
Em seguida, saia da sessão SSH
saída
Você deseja repetir essas etapas para cada um dos outros Pi's na rede, renomeando-os para Pi03, Pi04, etc.
No seu Pi mestre, você deseja criar um novo arquivo de texto chamado "arquivo de máquina"
nano arquivo de máquina
E nele, você deseja digitar cada um dos endereços IP do Pi (incluindo o endereço IP mestre) em uma nova linha e, em seguida, salvar o arquivo.
Neste ponto, poderíamos executar um arquivo de teste usando
mpiexec -f machinefile -n 4 hostname
mas será exibido um erro informando que houve uma "falha na verificação da chave do host". Então, na próxima etapa, vamos consertar isso.
Etapa 8: Verificar as chaves do host
Para corrigir isso de forma que a comunicação com cada Pi não resulte em uma falha na verificação da chave do host, precisamos criar e trocar as chaves para cada um de nossos Raspberry Pi. Esta parte pode ficar um pouco complicada, mas espero que você possa ficar comigo.
-
No Master Pi, na pasta de início padrão, crie uma nova chave.
cd ~
ssh-keygen
-
Navegue até a pasta ssh e copie o arquivo da chave para um novo arquivo chamado "pi01"
cd.ssh
cp id_rsa.pub pi01
-
Em seguida, você deseja se conectar via SSH ao Pi02 e repetir as mesmas etapas para criar um arquivo-chave Pi02
ssh-keygen
cd.ssh
cp id_rsa.pub pi02
-
Antes de sair do Pi02, precisamos copiar o arquivo-chave Pi01 para ele e autorizá-lo.
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> authorized_keys
saída
-
Com Pi02 pronto, repita todas essas etapas para Pi03
ssh-keygen
cd.ssh
cp id_rsa.pub pi03
scp 192.168.1.2:/home/pi/.ssh/pi01.
cat pi01 >> authorized_keys
saída
- Repita a última etapa para os Pi's restantes que você tem em sua rede.
-
Depois de gerar as chaves para cada um dos Pi, volte para o seu Pi Mestre e copie todas as chaves geradas em cada um dos Pi.
cp 192.168.1.3:/home/pi/.ssh/pi02
cat pi02 >> authorized_keys
cp 192.168.1.4:/home/pi/.ssh/pi03
cat pi03 >> authorized_keys
cp 192.168.1.5:/home/pi/.ssh/pi02
cat pi04 >> authorized_keys
- (repita para quantos Pi's houver em sua rede)
Etapa 9: executando um programa em seu supercomputador
Agora tudo deve ser configurado. Ainda em seu Master Pi, tente executar este arquivo de máquina novamente:
cd ~
mpiexec -f machinefile -n 4 hostname
Se tudo foi feito corretamente, ele deve retornar os endereços IP de todos os seus Raspberry Pi. Agora que testamos com sucesso nosso supercomputador, vamos executar um programa Python nele:
-
Baixe e descompacte meu script de teste de quebra de senha em Python.
wget
tar -zxf python_test.tar.gz
-
Edite o hash da senha para um que você gostaria de quebrar.
nano python_test / md5_attack.py
-
Copie o arquivo Python para todos os seus Pi's.
scp -r python_test 192.168.1.3:/home/pi
scp -r python_test 192.168.1.4:/home/pi
scp -r python_test 192.168.1.5:/home/pi
- (repetir para todos os Pi's restantes)
-
Execute o script Python.
mpiexec -f machinefile -n 5 python python_test / md5_attack.py
O script será executado usando o poder de processamento de todos os Pi's em sua rede! Sinta-se à vontade para testá-lo usando seu próprio script Python!
Terceiro prêmio no Raspberry Pi Contest 2016
Recomendado:
Faça você mesmo como fazer um relógio legal - StickC - Fácil de fazer: 8 etapas
DIY Como fazer um relógio legal - StickC - Fácil de fazer: neste tutorial, aprenderemos como programar ESP32 M5Stack StickC com Arduino IDE e Visuino para exibir uma hora no LCD e também definir a hora usando os botões StickC
Como fazer: fazer uma obra-prima incrível em Animal Jam! (NOTA: ATUALIZADO EM 2020): 3 etapas
Como fazer: fazer uma obra-prima incrível em Animal Jam! (NOTA: ATUALIZADO EM 2020): Animal jam é um mundo virtual sobre animais. Você pode comprar animais com gemas ou diamantes e personalizá-los com roupas que compra em lojas virtuais! Eu nunca realmente " jogo " Animal Jam, eu só gosto de fazer obras-primas! Hoje vou te mostrar
Como fazer seu servo motor fazer rotação completa: 5 etapas
Como fazer seu servo motor fazer rotação completa: O que é um servo motor? Um servo motor é um dispositivo elétrico que pode empurrar ou girar um objeto com grande precisão. Se você quiser girar e se opor a alguns ângulos ou distâncias específicos, use o servo motor. É composto apenas de um motor simples w
Como fazer um robô jogador de basquete autônomo usando um IRobot Crie como base: 7 etapas (com imagens)
Como fazer um robô jogador de basquete autônomo usando um IRobot Create como base: Esta é a minha entrada para o desafio iRobot Create. A parte mais difícil de todo esse processo para mim foi decidir o que o robô faria. Eu queria demonstrar os recursos interessantes do Create, ao mesmo tempo em que adicionava um toque de robo. Todo o meu
Como fazer um calendário para os avós & Álbum de recortes (mesmo que você não saiba fazer recortes): 8 etapas (com imagens)
Como fazer um calendário para os avós & Álbum de recortes (mesmo que você não saiba fazer): Este é um presente de Natal muito econômico (e muito apreciado!) Para os avós. Fiz 5 calendários este ano por menos de US $ 7 cada. Materiais: 12 ótimas fotos de seu filho, filhos, sobrinhas, sobrinhos, cachorros, gatos ou outros parentes12 peças diferentes