Spisu treści:

Jak zrobić Superkomputer Raspberry Pi!: 9 kroków (ze zdjęciami)
Jak zrobić Superkomputer Raspberry Pi!: 9 kroków (ze zdjęciami)

Wideo: Jak zrobić Superkomputer Raspberry Pi!: 9 kroków (ze zdjęciami)

Wideo: Jak zrobić Superkomputer Raspberry Pi!: 9 kroków (ze zdjęciami)
Wideo: Dell Wyse 3040 - cienki klient prawie jak Raspberry Pi 4B 2024, Lipiec
Anonim
Jak zrobić superkomputer Raspberry Pi!
Jak zrobić superkomputer Raspberry Pi!

Samo Raspberry Pi nie może pochwalić się imponującymi specyfikacjami. Ale przy tak niskiej cenie, kupując kilka z nich i łącząc je w celu wykorzystania ich połączonej mocy obliczeniowej, może potencjalnie stworzyć przyzwoity, tani komputer. Zbudowano kilka imponujących platform łączących ze sobą dziesiątki Pi. W tej instrukcji przyjrzyjmy się, jak technologia stojąca za przetwarzaniem klastrowym i stwórzmy własne Bramble Pi!

Krok 1: Obejrzyj wersję wideo

Image
Image

Zrobiłem również dwuczęściową wersję wideo tego samego projektu. Więc jeśli nie lubisz czytać, odpręż się i obejrzyj filmy! Należy pamiętać, że wersja wideo wykorzystuje Raspbian Wheezy. Jednak poniższe instrukcje dotyczą aktualnej dystrybucji Raspbian, czyli Jessie w momencie, gdy to piszę.

Krok 2: Czego będziesz potrzebować

Aby śledzić ten projekt, oto części, które musisz nabyć

Oto, czego będziesz potrzebować:

  1. 2 lub więcej Raspberry Pi
  2. Karty SD dla każdego Pi
  3. Kable zasilające dla każdego Pi
  4. Zasilany koncentrator USB (opcjonalny)
  5. Kable sieciowe
  6. Koncentrator lub router

CAŁKOWITY KOSZT: ~100,00$

Krok 3: Instalacja i konfiguracja Raspbian

Instalacja i konfiguracja Raspbian
Instalacja i konfiguracja Raspbian
Instalacja i konfiguracja Raspbian
Instalacja i konfiguracja Raspbian

Gdy masz już wszystkie części, następnym krokiem jest pobranie i skonfigurowanie Raspbian OS na jednym z Raspberry Pi. To będzie twój mistrz Pi. Oto kroki:

  1. Pobierz obraz Raspbian stąd.
  2. Nagraj obraz Raspbian na każdą kartę SD, którą masz dla każdego Raspberry Pi.

    1. Jeśli masz system Windows, możesz postępować zgodnie z tymi instrukcjami.
    2. Jeśli masz komputer Mac, możesz postępować zgodnie z tymi instrukcjami.
  3. Po wypaleniu obrazu na karcie SD włóż go do każdego Raspberry Pi i uruchom go.
  4. Po pierwszym uruchomieniu powinieneś zobaczyć pulpit Rasbperry Pi. Kliknij ikonę menu w lewym górnym rogu i przejdź do Preferencje > Konfiguracja Raspberry Pi. Oto opcje, które musimy skonfigurować

    1. W razie potrzeby rozwiń system plików.
    2. Zmień nazwę hosta na Pi01
    3. Zmień opcję rozruchu na CLI (interfejs wiersza poleceń), ponieważ tak naprawdę nie będziemy używać interfejsu pulpitu.
    4. Zegar na karcie „Interfejsy” i upewnij się, że SSH jest włączone.
    5. Kliknij zakładkę „Przetaktowanie” i wybierz „Turbo”.
    6. Zmień pamięć GPU na 16 MB.
    7. Kliknij kartę „Lokalizacja” i dostosuj układ klawiatury do swojego kraju.
    8. Zakończ konfigurację i zrestartuj swoje Pi.

Krok 4: Instalowanie MPICH

Instalowanie MPICH
Instalowanie MPICH
Instalowanie MPICH
Instalowanie MPICH
Instalowanie MPICH
Instalowanie MPICH
Instalowanie MPICH
Instalowanie MPICH

Nadal używając tylko jednego Pi jako głównego, musimy teraz zainstalować podstawowe oprogramowanie, które pozwoli nam wykorzystać moc przetwarzania wszystkich Pi w naszej sieci. To oprogramowanie nazywa się MPICH, co jest interfejsem przekazywania wiadomości. Oto, co musisz zrobić, aby go zainstalować:

aktualizacja sudo apt-get

mkdir mpich2

cd ~/mpich2

wget

tar xfz mpich-3.1.tar.gz

sudo mkdir /home/rpimpi/

sudo mkdir /home/rpimppi/mpi-install

mkdir /home/pi/mpi-build

cd /home/pi/mpi-build

sudo apt-get zainstaluj gfortran

sudo /home/pi/mpich2/mpich-3.1/configure -prefix=/home/rpimpi/mpi-install

sudo zrobić

sudo dokonać instalacji

nano.bashrc

PATH=$PATH:/home/rpimpi/mpi-install/bin

ponowne uruchomienie sudo

mpiexec -n 1 nazwa hosta

Te polecenia pobiorą i zainstalują MPICH, a także dodadzą go jako ścieżkę do pliku rozruchowego BASHRC. Ostatnie polecenie uruchamia test, aby sprawdzić, czy działa. Jeśli ostatnia komenda zwraca „Pi01”, to wszystko zrobiłeś pomyślnie.

Krok 5: Instalacja MPI4PY

Instalowanie MPI4PY
Instalowanie MPI4PY
Instalowanie MPI4PY
Instalowanie MPI4PY
Instalowanie MPI4PY
Instalowanie MPI4PY

W obecnej sytuacji MPICH może uruchamiać programy w językach C i Fortran. Ale ponieważ Raspberry Pi ma wstępnie zainstalowane środowisko kodowania Python, najłatwiej byłoby zainstalować interpreter Python na MPI. Oto polecenia, aby to zrobić:

sudo aptitude zainstaluj python-dev

wget

tar -zxf mpi4py-1.3.1

cd mpi4py-1.3.1

python setup.py build

python setup.py zainstalować

eksportuj PYTHONPATH=/home/pi/mpi4py-1.3.1

mpiexec -n 5 python demo/helloworld.py

To ostatnie polecenie powinno zwrócić pięć odpowiedzi. Każdy z nich jest innym procesem na Pi01, uruchamiającym program Pythona „Hello World”, który właśnie stworzyliśmy.

Krok 6: Kopiowanie obrazu

Kopiowanie obrazu
Kopiowanie obrazu

Teraz, gdy pomyślnie skonfigurowaliśmy nasze główne Pi, musimy skopiować obraz karty SD tego Pi do wszystkich innych Pi. Oto, jak możesz to zrobić w systemie Windows:

  1. Wyjmij główną kartę SD z Pi i włóż ją do komputera.
  2. Korzystając z Win32DiskImager, użyj przycisku „Odczytaj”, aby zapisać zawartość karty SD na komputerze.
  3. Wyjmij główną kartę SD i włóż kartę SD dla jednego z pozostałych Pi. Następnie użyj opcji Win32DiskImager „Write”, aby zapisać obraz, który zapisaliśmy na nowej karcie SD.
  4. Powtarzaj krok 3, aż obraz wzorcowy zostanie zapisany na wszystkich kartach SD.

Krok 7: Konfiguracja pozostałych Raspberry Pi

Konfiguracja pozostałych Raspberry Pi
Konfiguracja pozostałych Raspberry Pi
Konfiguracja pozostałych Raspberry Pi
Konfiguracja pozostałych Raspberry Pi
Konfiguracja pozostałych Raspberry Pi
Konfiguracja pozostałych Raspberry Pi

Teraz, gdy mamy przygotowane wszystkie karty SD, włóż kartę Master SD z powrotem do Master Pi, podłącz ją do routera i uruchom ponownie. Następnie dla pozostałych Raspberry Pi włóż karty SD do wszystkich z nich, podłącz je do tego samego routera, co twój Master Pi, a następnie uruchom je wszystkie. Żadna z drugorzędnych Pi nie musi mieć klawiatur, myszy ani monitorów.

Gdy wszystkie Pi są włączone, używając naszego Master Pi, powinniśmy być w stanie uzyskać adresy IP każdego Pi w sieci. Oto jak:

  1. Pierwsza instalacja NMAP

    aktualizacja sudo apt-get

    sudo apt-get zainstaluj nmap

  2. Następnie uzyskaj aktualny adres IP dla głównego Pi

    ifconfig

  3. Teraz możesz przeskanować podsieć routerów w poszukiwaniu innych adresów IP Pi

    sudo nmap -sn 192.168.1.*

Skopiuj wszystkie adresy IP, które odnoszą się do innych Raspberry Pi w sieci. Będziemy wtedy mogli użyć tych adresów IP, aby połączyć się z każdym innym Pi za pomocą SSH. To, co musimy najpierw zrobić, to zmienić nazwę każdego z drugorzędnych Pi na unikalną nazwę sieci. W tej chwili wszystkie są ustawione na Pi01. Zakładając, że jeden z dodatkowych adresów IP Pi to 192.168.0.3, oto jak możesz się z nim połączyć i zmienić jego nazwę:

  1. Nawiąż połączenie SSH

    ssh [email protected]

  2. Uruchom raspi-config

    sudo raspi-config

  3. W interfejsie przewiń w dół do opcji Zaawansowane, a następnie wybierz Nazwa hosta.
  4. Jako nazwę hosta zmień Pi01 na następny numer sekwencyjny, którym jest Pi02.
  5. Następnie wyjdź z sesji SSH

    Wyjście

Chcesz powtórzyć te kroki dla każdego z pozostałych Pi w sieci, zmieniając ich nazwy na Pi03, Pi04 itp.

Na swoim głównym Pi chcesz utworzyć nowy plik tekstowy o nazwie „plik maszynowy”

plik maszyny nano

W nim chcesz wpisać każdy z adresów IP Pi (w tym główny adres IP) w nowej linii, a następnie zapisać plik.

W tym momencie możemy uruchomić plik testowy za pomocą

mpiexec -f plik_maszynowy -n 4 nazwa hosta

ale wyświetli błąd, informując, że wystąpił „niepowodzenie weryfikacji klucza hosta”. Więc w następnym kroku naprawmy to.

Krok 8: Weryfikacja kluczy hosta

Weryfikacja kluczy hosta
Weryfikacja kluczy hosta
Weryfikacja kluczy hosta
Weryfikacja kluczy hosta
Weryfikacja kluczy hosta
Weryfikacja kluczy hosta

Aby to naprawić, aby komunikacja z każdym Pi nie powodowała niepowodzenia weryfikacji klucza hosta, musimy utworzyć i zamienić klucze dla każdego z naszych Raspberry Pi. Ta część może się nieco skomplikować, ale mam nadzieję, że zostaniesz ze mną.

  1. Na Master Pi, w domyślnym folderze domowym, utwórz nowy klucz.

    cd~

    ssh-keygen

  2. Przejdź do folderu ssh i skopiuj plik klucza do nowego pliku o nazwie „pi01”

    cd.ssh

    cp id_rsa.pub pi01

  3. Następnie chcesz połączyć się przez SSH z Pi02 i powtórzyć te same kroki, aby utworzyć plik klucza Pi02

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. Przed wyjściem z Pi02 musimy skopiować do niego plik klucza Pi01 i autoryzować go.

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

    kot pi01 >> autoryzowane_klucze

    Wyjście

  5. Po zakończeniu Pi02 powtórz wszystkie te kroki dla Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

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

    kot pi01 >> autoryzowane_klucze

    Wyjście

  6. Powtórz ostatni krok dla pozostałych Pi, które masz w swojej sieci.
  7. Po wygenerowaniu kluczy dla każdego z Pi wróć do swojego Master Pi i skopiuj wszystkie klucze wygenerowane na każdym z Pi.

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

    kot pi02 >> autoryzowane_klucze

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

    kot pi03 >> autoryzowane_klucze

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

    kot pi04 >> autoryzowane_klucze

  8. (powtórz dla tylu Pi w Twojej sieci)

Krok 9: Uruchamianie programu na superkomputerze

Uruchamianie programu na superkomputerze
Uruchamianie programu na superkomputerze
Uruchamianie programu na superkomputerze
Uruchamianie programu na superkomputerze
Uruchamianie programu na superkomputerze
Uruchamianie programu na superkomputerze

Teraz wszystko powinno być ustawione. Będąc nadal na swoim Master Pi, spróbuj ponownie uruchomić ten plik maszyny:

cd ~

mpiexec -f plik_maszynowy -n 4 nazwa hosta

Jeśli wszystko zostało zrobione poprawnie, powinien zwrócić adresy IP wszystkich Raspberry Pi. Teraz, gdy pomyślnie przetestowaliśmy nasz superkomputer, uruchommy na nim program Pythona:

  1. Pobierz i rozpakuj mój testowy skrypt łamania haseł w Pythonie.

    wget

    tar -zxf python_test.tar.gz

  2. Zmień skrót hasła na taki, który chcesz złamać.

    nano python_test/md5_attack.py

  3. Skopiuj plik Pythona do wszystkich swoich Pi.

    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. (powtórz dla wszystkich pozostałych Pi)
  5. Uruchom skrypt Pythona.

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

Skrypt będzie działał z wykorzystaniem mocy obliczeniowej wszystkich Pi w Twojej sieci! Przetestuj go za pomocą własnego skryptu Pythona!

Konkurs Raspberry Pi 2016
Konkurs Raspberry Pi 2016
Konkurs Raspberry Pi 2016
Konkurs Raspberry Pi 2016

III nagroda w konkursie Raspberry Pi 2016

Zalecana: