Índice:

Como fazer um supercomputador Raspberry Pi !: 9 etapas (com imagens)
Como fazer um supercomputador Raspberry Pi !: 9 etapas (com imagens)

Vídeo: Como fazer um supercomputador Raspberry Pi !: 9 etapas (com imagens)

Vídeo: Como fazer um supercomputador Raspberry Pi !: 9 etapas (com imagens)
Vídeo: 5 projetos INCRÍVEIS com Raspberry Pi 🔥 2024, Novembro
Anonim
Como fazer um supercomputador Raspberry Pi!
Como fazer um supercomputador Raspberry Pi!

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

Image
Image

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:

  1. 2 ou mais Raspberry Pi's
  2. Cartões SD para cada Pi
  3. Cabos de energia para cada Pi
  4. Hub USB alimentado (opcional)
  5. Cabos de rede
  6. Um hub ou roteador

CUSTO TOTAL: ~ $ 100,00

Etapa 3: Instalando e configurando o Raspbian

Instalando e configurando o Raspbian
Instalando e configurando o Raspbian
Instalando e configurando o Raspbian
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:

  1. Baixe a imagem do Raspbian aqui.
  2. Grave a imagem Raspbian em cada cartão SD que você tiver para cada Raspberry Pi.

    1. Se você tem Windows, pode seguir estas instruções.
    2. Se você tem um Mac, pode seguir estas instruções.
  3. Assim que a imagem for gravada em seu cartão SD, coloque-o em cada um dos Raspberry Pi e inicialize-o.
  4. 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

    1. Expanda o Sistema de Arquivos, se necessário.
    2. Mude o nome do host para Pi01
    3. Mude a opção de boot para CLI (Command Line Interface), já que não usaremos realmente a Desktop Interface.
    4. Relógio na guia "Interfaces" e certifique-se de que o SSH esteja habilitado.
    5. Clique na guia "Overclock" e escolha "Turbo".
    6. Altere a memória GPU para 16 MB.
    7. Clique na guia "Localização" e defina o layout do teclado para corresponder ao de seus países.
    8. Conclua a configuração e reinicie seu Pi.

Etapa 4: Instalando o MPICH

Instalando MPICH
Instalando MPICH
Instalando MPICH
Instalando MPICH
Instalando MPICH
Instalando MPICH
Instalando MPICH
Instalando 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

Instalando MPI4PY
Instalando MPI4PY
Instalando MPI4PY
Instalando MPI4PY
Instalando MPI4PY
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

Copiando a imagem
Copiando 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:

  1. Retire o cartão SD master do Pi e insira-o no computador.
  2. Usando o Win32DiskImager, use o botão "Ler" para salvar o conteúdo do cartão SD em seu computador.
  3. 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.
  4. 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

Configurando o Raspberry Pi restante
Configurando o Raspberry Pi restante
Configurando o Raspberry Pi restante
Configurando o Raspberry Pi restante
Configurando o Raspberry Pi restante
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:

  1. Primeira instalação NMAP

    sudo apt-get update

    sudo apt-get install nmap

  2. Em seguida, obtenha o IP atual para o Pi mestre

    ifconfig

  3. 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:

  1. Estabeleça uma conexão SSH

    ssh [email protected]

  2. Execute raspi-config

    sudo raspi-config

  3. Na interface, role para baixo até a opção Advanced e escolha Hostname.
  4. Para o nome do host, altere Pi01 para o próximo número sequencial, que é Pi02.
  5. 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

Verificando Chaves de Host
Verificando Chaves de Host
Verificando Chaves de Host
Verificando Chaves de Host
Verificando Chaves de Host
Verificando Chaves de 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.

  1. No Master Pi, na pasta de início padrão, crie uma nova chave.

    cd ~

    ssh-keygen

  2. Navegue até a pasta ssh e copie o arquivo da chave para um novo arquivo chamado "pi01"

    cd.ssh

    cp id_rsa.pub pi01

  3. Em seguida, você deseja se conectar via SSH ao Pi02 e repetir as mesmas etapas para criar um arquivo-chave Pi02

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. 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

  5. Com Pi02 pronto, repita todas essas etapas para Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

    scp 192.168.1.2:/home/pi/.ssh/pi01.

    cat pi01 >> authorized_keys

    saída

  6. Repita a última etapa para os Pi's restantes que você tem em sua rede.
  7. 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

  8. (repita para quantos Pi's houver em sua rede)

Etapa 9: executando um programa em seu supercomputador

Executando um programa em seu supercomputador
Executando um programa em seu supercomputador
Executando um programa em seu supercomputador
Executando um programa em seu supercomputador
Executando um programa em seu supercomputador
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:

  1. Baixe e descompacte meu script de teste de quebra de senha em Python.

    wget

    tar -zxf python_test.tar.gz

  2. Edite o hash da senha para um que você gostaria de quebrar.

    nano python_test / md5_attack.py

  3. 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

  4. (repetir para todos os Pi's restantes)
  5. 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!

Raspberry Pi Contest 2016
Raspberry Pi Contest 2016
Raspberry Pi Contest 2016
Raspberry Pi Contest 2016

Terceiro prêmio no Raspberry Pi Contest 2016

Recomendado: