Cuprins:

Cum să faci un supercomputer Raspberry Pi !: 9 pași (cu imagini)
Cum să faci un supercomputer Raspberry Pi !: 9 pași (cu imagini)

Video: Cum să faci un supercomputer Raspberry Pi !: 9 pași (cu imagini)

Video: Cum să faci un supercomputer Raspberry Pi !: 9 pași (cu imagini)
Video: Google’s New TPU Turns Raspberry Pi into a Supercomputer! 2024, Iulie
Anonim
Cum să faci un supercomputer Raspberry Pi!
Cum să faci un supercomputer Raspberry Pi!

În sine Raspberry Pi nu se mândrește cu specificații impresionante. Dar, cu prețul ieftin, cumpărând mai multe dintre acestea și conectându-le pentru a le folosi, puterea de procesare combinată ar putea face un computer decent, cu costuri reduse. Au fost construite câteva platforme impresionante care leagă împreună zeci de Pi. Deci, în acest instructiv, să explorăm modul în care tehnologia din spatele computerului de cluster și să creăm propriul nostru Bramble Pi!

Pasul 1: urmăriți versiunea video

Image
Image

De asemenea, am realizat o versiune video în două părți a acestui proiect. Deci, dacă nu sunteți unul pentru citire, dați-vă înapoi și urmăriți videoclipurile! Rețineți că versiunea video utilizează Raspbian Wheezy. Cu toate acestea, instrucțiunile de mai jos sunt pentru actualul Raspbian Distro, care este Jessie în momentul în care scriu acest lucru.

Pasul 2: De ce veți avea nevoie

Pentru a urmări împreună cu acest proiect, iată părțile pe care va trebui să le achiziționați

Iată de ce veți avea nevoie:

  1. 2 sau mai multe Raspberry Pi
  2. Carduri SD pentru fiecare Pi
  3. Cabluri de alimentare pentru fiecare Pi
  4. Hub USB alimentat (opțional)
  5. Cabluri de rețea
  6. Un hub sau un router

COST TOTAL: ~ 100,00 USD

Pasul 3: Instalarea și configurarea Raspbian

Instalarea și configurarea Raspbian
Instalarea și configurarea Raspbian
Instalarea și configurarea Raspbian
Instalarea și configurarea Raspbian

Odată ce aveți toate părțile, următorul pas este să descărcați și să configurați Raspbian OS pe unul dintre Raspberry Pi. Acesta va fi stăpânul tău Pi. Iată pașii:

  1. Descărcați imaginea Raspbian de aici.
  2. Înregistrați imaginea Raspbian pe fiecare card SD pe care îl aveți pentru fiecare Raspberry Pi.

    1. Dacă aveți Windows, puteți urma aceste instrucțiuni.
    2. Dacă aveți un Mac, puteți urma aceste instrucțiuni.
  3. Odată ce imaginea este arsă pe cardul SD, puneți-o în fiecare Raspberry Pi și porniți-o.
  4. La prima pornire, ar trebui să vedeți desktopul Rasbperry Pi. Faceți clic pe pictograma meniu din colțul din stânga sus și accesați Preferințe> Configurare Raspberry Pi. Iată opțiunile pe care va trebui să le configurăm

    1. Extindeți sistemul de fișiere Dacă este necesar.
    2. Schimbați numele gazdei în Pi01
    3. Schimbați opțiunea de pornire la CLI (Command Line Interface), deoarece nu vom folosi cu adevărat interfața desktop.
    4. Faceți ceas pe fila „Interfețe” și asigurați-vă că SSH este activat.
    5. Faceți clic pe fila „Overclock” și alegeți „Turbo”.
    6. Schimbați memoria GPU la 16mb.
    7. Faceți clic pe fila „Localizare” și setați aspectul tastaturii pentru a se potrivi cu cel al țărilor dvs.
    8. Finalizați din configurație și reporniți Pi.

Pasul 4: Instalarea MPICH

Instalarea MPICH
Instalarea MPICH
Instalarea MPICH
Instalarea MPICH
Instalarea MPICH
Instalarea MPICH
Instalarea MPICH
Instalarea MPICH

Folosind în continuare doar unicul Pi ca master, acum trebuie să instalăm software-ul principal care ne va permite să folosim puterea de procesare a tuturor Pi-urilor din rețeaua noastră. Acest software se numește MPICH, care este o interfață de transmitere a mesajelor. Iată ce trebuie să faceți pentru ao instala:

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

reporniți sudo

mpiexec -n 1 nume de gazdă

Aceste comenzi vor descărca și instala MPICH, precum și o vor adăuga ca o cale către fișierul de boot BASHRC. Ultima comandă execută un test pentru a vedea dacă funcționează. Dacă ultima comandă returnează „Pi01”, atunci ați făcut totul cu succes.

Pasul 5: Instalarea MPI4PY

Instalarea MPI4PY
Instalarea MPI4PY
Instalarea MPI4PY
Instalarea MPI4PY
Instalarea MPI4PY
Instalarea MPI4PY

Într-adevăr, MPICH poate rula programe C și Fortran. Dar, din moment ce Raspberry Pi are mediul de codare Python preinstalat, ar fi cel mai ușor să instalați un interpretor Python către MPI. Iată comenzile pentru a face acest lucru:

sudo aptitude instalează python-dev

wget

tar -zxf mpi4py-1.3.1

cd mpi4py-1.3.1

python setup.py build

instalare python setup.py

export PYTHONPATH = / home / pi / mpi4py-1.3.1

mpiexec -n 5 python demo / helloworld.py

Ultima comandă ar trebui să returneze cinci răspunsuri. Fiecare este un proces diferit pe Pi01 care rulează programul python „Hello World” pe care tocmai l-am făcut.

Pasul 6: Copierea imaginii

Copierea imaginii
Copierea imaginii

Acum că ne-am configurat cu succes masterul Pi, trebuie să copiem imaginea cardului SD al Pi pe toate celelalte Pi. Iată cum puteți face acest lucru pe Windows:

  1. Scoateți cardul SD master din Pi și introduceți-l în computer.
  2. Folosind Win32DiskImager, utilizați butonul „Citire” pentru a salva conținutul cardului SD pe computer.
  3. Scoateți cardul SD master și introduceți un card SD pentru unul dintre celelalte Pi. Apoi utilizați opțiunea „Scrie” Win32DiskImager pentru a scrie imaginea pe care am salvat-o pe noul card SD.
  4. Repetați pasul 3 până când aveți imaginea principală scrisă pe toate cardurile SD.

Pasul 7: Configurarea restului de Raspberry Pi

Configurarea restului de Raspberry Pi
Configurarea restului de Raspberry Pi
Configurarea restului de Raspberry Pi
Configurarea restului de Raspberry Pi
Configurarea restului de Raspberry Pi
Configurarea restului de Raspberry Pi

Acum, că avem toate cardurile SD pregătite, introduceți cardul SD Master în Master Pi, conectați-l la un router și porniți-l înapoi. Apoi, pentru celelalte Raspberry Pi, introduceți carduri SD în toate, conectați-le la același router ca Master Pi și apoi porniți-le pe toate. Niciunul dintre Pi secundar nu are nevoie de tastaturi, șoareci sau monitoare.

Odată ce toate Pi-urile sunt pornite, folosind Master Pi-ul nostru, ar trebui să putem obține adresele IP ale fiecărui Pi din rețea. Iată cum:

  1. Mai întâi instalați NMAP

    sudo apt-get update

    sudo apt-get install nmap

  2. Apoi, obțineți IP-ul curent pentru masterul Pi

    ifconfig

  3. Acum puteți scana subrețeaua routerelor pentru a găsi celelalte adrese IP Pi

    sudo nmap -sn 192.168.1. *

Copiați toate adresele IP care aparțin celorlalte Raspberry Pi din rețea. Apoi vom putea folosi acele IP-uri pentru a ne conecta la fiecare dintre celelalte Pi folosind SSH. Ceea ce trebuie să facem mai întâi este redenumirea fiecărui Pi secundar într-un nume unic de rețea. În acest moment, toate sunt setate la Pi01. Presupunând că una dintre adresele IP secundare Pi este 192.168.0.3, iată cum vă puteți conecta la ea și schimba numele acesteia:

  1. Stabiliți o conexiune SSH

    ssh [email protected]

  2. Rulați raspi-config

    sudo raspi-config

  3. În interfață, derulați în jos până la opțiunea Advanced, apoi alegeți Hostname.
  4. Pentru numele gazdei, schimbați Pi01 cu următorul număr secvențial, care este Pi02.
  5. Apoi ieșiți din sesiunea SSH

    Ieșire

Doriți să repetați acești pași pentru fiecare dintre celelalte Pi din rețea, redenumindu-le în Pi03, Pi04 etc.

Pe masterul dvs. Pi, doriți să creați un nou fișier text numit „fișier mașină”

nano machinefile

Și în acesta, doriți să introduceți fiecare dintre adresele IP ale Pi (inclusiv adresa IP principală) pe o nouă linie și apoi să salvați fișierul.

În acest moment, am putea rula un fișier de testare folosind

mpiexec -f machinefile -n 4 hostname

dar va erora spunând că a existat o „eroare de verificare a cheii gazdă”. Deci, în pasul următor, să remediem asta.

Pasul 8: Verificarea cheilor de gazdă

Verificarea tastelor gazdă
Verificarea tastelor gazdă
Verificarea tastelor gazdă
Verificarea tastelor gazdă
Verificarea tastelor gazdă
Verificarea tastelor gazdă

Pentru a remedia problema, astfel încât comunicarea cu fiecare Pi să nu aibă ca rezultat o eroare de verificare a cheii gazdă, trebuie să creăm și să schimbăm cheile pentru fiecare dintre Raspberry Pi. Această parte poate deveni ușor complicată, dar sperăm că puteți rămâne cu mine.

  1. Pe Master Pi, în folderul de start implicit, creați o nouă cheie.

    cd ~

    ssh-keygen

  2. Navigați la folderul ssh și copiați fișierul cheie într-un fișier nou numit „pi01”

    cd.ssh

    cp id_rsa.pub pi01

  3. Apoi doriți să vă conectați prin SSH la Pi02 și repetați aceiași pași pentru a crea un fișier cheie Pi02

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. Înainte de a ieși din Pi02, trebuie să copiem fișierul cheie Pi01 pe acesta și să îl autorizăm.

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

    cat pi01 >> chei_autorizate

    Ieșire

  5. Cu Pi02 terminat, repetați acești pași pentru Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

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

    cat pi01 >> chei_autorizate

    Ieșire

  6. Repetați ultimul pas pentru restul de Pi-uri pe care le aveți în rețea.
  7. După ce ați generat chei pentru fiecare dintre Pi, ieșiți înapoi la Master Pi și copiați toate cheile generate pe fiecare dintre Pi.

    cp 192.168.1.3:/home/pi/.ssh/pi02

    cat pi02 >> chei_autorizate

    cp 192.168.1.4:/home/pi/.ssh/pi03

    cat pi03 >> chei_autorizate

    cp 192.168.1.5:/home/pi/.ssh/pi02

    cat pi04 >> chei_autorizate

  8. (repetați cât mai multe Pi sunt în rețeaua dvs.)

Pasul 9: Rularea unui program pe supercomputer

Rularea unui program pe supercomputer
Rularea unui program pe supercomputer
Rularea unui program pe supercomputerul dvs
Rularea unui program pe supercomputerul dvs
Rularea unui program pe supercomputerul dvs
Rularea unui program pe supercomputerul dvs

Acum totul ar trebui să fie configurat. În timp ce vă aflați încă pe Master Pi, încercați să rulați din nou acest fișier mașină:

cd ~

mpiexec -f machinefile -n 4 hostname

Dacă totul a fost făcut corect, ar trebui să returneze adresele IP ale tuturor Raspberry Pi. Acum, că am testat cu succes supercomputerul nostru, permite să rulăm un program python pe acesta:

  1. Descărcați și dezarhivați scriptul meu de testare a parolei Python.

    wget

    tar -zxf python_test.tar.gz

  2. Editați hash-ul parolei pe unul pe care doriți să îl spargeți.

    nano python_test / md5_attack.py

  3. Copiați fișierul Python în toate Pi-urile dvs.

    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. (repetați pentru toate Pi-urile rămase)
  5. Rulați scriptul Python.

    mpiexec -f machinefile -n 5 python python_test / md5_attack.py

Scriptul va rula folosind puterea de procesare a tuturor Pi-urilor din rețeaua dvs.! Simțiți-vă liber să-l testați folosind propriul script python!

Concursul Raspberry Pi 2016
Concursul Raspberry Pi 2016
Concursul Raspberry Pi 2016
Concursul Raspberry Pi 2016

Premiul III la Concursul Raspberry Pi 2016

Recomandat: