Съдържание:

Как да си направим суперкомпютър Raspberry Pi!: 9 стъпки (със снимки)
Как да си направим суперкомпютър Raspberry Pi!: 9 стъпки (със снимки)

Видео: Как да си направим суперкомпютър Raspberry Pi!: 9 стъпки (със снимки)

Видео: Как да си направим суперкомпютър Raspberry Pi!: 9 стъпки (със снимки)
Видео: Моята работа е да наблюдавам гората и тук се случва нещо странно. 2024, Юли
Anonim
Как да си направим суперкомпютър Raspberry Pi!
Как да си направим суперкомпютър Raspberry Pi!

Сам по себе си Raspberry Pi не може да се похвали с впечатляващи характеристики. Но с мръсната евтина цена, закупуването на няколко от тях и свързването им към използване на комбинираната им процесорна мощ потенциално биха могли да направят приличен компютър с ниска цена. Има построени няколко впечатляващи платформи, свързващи заедно десетки Pi. Така че в тази инструкция нека да проучим как технологията стои зад клъстерните изчисления и да направим свой собствен Bramble Pi!

Стъпка 1: Гледайте видео версията

Image
Image

Направих и видео част от две части на същия този проект. Така че, ако не сте за четене, отстъпете и гледайте видеоклиповете! Моля, обърнете внимание, че видео версията използва Raspbian Wheezy. Инструкциите по -долу обаче са за текущия Raspbian Distro, който е Джеси по времето, когато пиша това.

Стъпка 2: Какво ще ви трябва

За да следвате този проект, ето частите, които ще трябва да придобиете

Ето какво ще ви трябва:

  1. 2 или повече Raspberry Pi
  2. SD карти за всеки Pi
  3. Захранващи кабели за всеки Pi
  4. Захранван USB хъб (по избор)
  5. Мрежови кабели
  6. Хъб или рутер

ОБЩИ РАЗХОДИ: ~ $ 100.00

Стъпка 3: Инсталиране и конфигуриране на Raspbian

Инсталиране и конфигуриране на Raspbian
Инсталиране и конфигуриране на Raspbian
Инсталиране и конфигуриране на Raspbian
Инсталиране и конфигуриране на Raspbian

След като имате всички части, следващата стъпка е да изтеглите и конфигурирате Raspbian OS на една от Raspberry Pi. Това ще бъде вашият господар Пи. Ето стъпките:

  1. Изтеглете Raspbian изображение от тук.
  2. Запишете изображението на Raspbian на всяка SD карта, която имате за всеки Raspberry Pi.

    1. Ако имате Windows, можете да следвате тези инструкции.
    2. Ако имате Mac, можете да следвате тези инструкции.
  3. След като изображението бъде записано на вашата SD карта, поставете го във всяка от Raspberry Pi и го стартирайте.
  4. При първото зареждане трябва да видите работния плот на Rasbperry Pi. Щракнете върху иконата на менюто в горния ляв ъгъл и отидете на Предпочитания> Конфигурация на Raspberry Pi. Ето опциите, които ще трябва да конфигурираме

    1. Разгънете файловата система, ако е необходимо.
    2. Променете името на хоста на Pi01
    3. Променете опцията за зареждане на CLI (интерфейс на командния ред), тъй като всъщност няма да използваме интерфейса на работния плот.
    4. Часовник в раздела "Интерфейси" и се уверете, че SSH е активиран.
    5. Кликнете върху раздела „Overclock“и изберете „Turbo“.
    6. Променете паметта на графичния процесор на 16mb.
    7. Кликнете върху раздела „Локализация“и задайте подредбата на клавиатурата си така, че да съответства на тази на вашите държави.
    8. Завършете конфигурацията и рестартирайте Pi.

Стъпка 4: Инсталиране на MPICH

Инсталиране на MPICH
Инсталиране на MPICH
Инсталиране на MPICH
Инсталиране на MPICH
Инсталиране на MPICH
Инсталиране на MPICH
Инсталиране на MPICH
Инсталиране на MPICH

Все още използвайки само един Pi като главен, сега трябва да инсталираме основния софтуер, който ще ни позволи да използваме процесорната мощ на всички Pi в нашата мрежа. Този софтуер се нарича MPICH, който е интерфейс за предаване на съобщения. Ето какво трябва да направите, за да го инсталирате:

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 рестартиране

mpiexec -n 1 име на хост

Тези команди ще изтеглят и инсталират MPICH, както и ще го добавят като път към вашия зареждащ файл BASHRC. Последната команда изпълнява тест, за да види дали работи. Ако последната команда връща „Pi01“, значи сте направили всичко успешно.

Стъпка 5: Инсталиране на MPI4PY

Инсталиране на MPI4PY
Инсталиране на MPI4PY
Инсталиране на MPI4PY
Инсталиране на MPI4PY
Инсталиране на MPI4PY
Инсталиране на MPI4PY

Както е, MPICH може да изпълнява програми на C и Fortran. Но тъй като Raspberry Pi има предварително инсталирана среда за кодиране на Python, би било най-лесно да инсталирате интерпретатор на Python към MPI. Ето командите за това:

sudo aptitude инсталирате python-dev

wget

tar -zxf mpi4py -1.3.1

cd mpi4py-1.3.1

python setup.py build

python setup.py install

експортиране на PYTHONPATH =/home/pi/mpi4py-1.3.1

mpiexec -n 5 python demo/helloworld.py

Последната команда трябва да върне пет отговора. Всеки от тях е различен процес на Pi01, изпълняващ програмата на Python „Hello World“, която току -що направихме.

Стъпка 6: Копиране на изображението

Копиране на изображението
Копиране на изображението

Сега, когато успешно конфигурирахме нашия главен Pi, трябва да копираме изображението на SD картата на Pi на всички останали Pi. Ето как можете да направите това в Windows:

  1. Извадете основната SD карта от Pi и я поставете в компютъра си.
  2. Използвайки Win32DiskImager, използвайте бутона "Четене", за да запазите съдържанието на SD картата на вашия компютър.
  3. Извадете основната SD карта и поставете SD карта за една от другите Pi. След това използвайте опцията "Запис" на Win32DiskImager, за да запишете изображението, което сме запазили на новата SD карта.
  4. Повторете стъпка 3, докато главното изображение бъде записано на всички SD карти.

Стъпка 7: Конфигуриране на останалите Raspberry Pi

Конфигуриране на останалите Raspberry Pi
Конфигуриране на останалите Raspberry Pi
Конфигуриране на останалите Raspberry Pi
Конфигуриране на останалите Raspberry Pi
Конфигуриране на останалите Raspberry Pi
Конфигуриране на останалите Raspberry Pi

Сега, когато сме подготвили всички SD карти, поставете Master SD картата обратно в Master Pi, свържете я с рутер и я стартирайте отново. След това за останалите Raspberry Pi поставете SD карти във всички тях, свържете ги към същия рутер като вашия Master Pi и след това ги стартирайте. Никой от второстепенните Pi не трябва да има клавиатури, мишки или монитори.

След като всички Pi са включени, използвайки нашия Master Pi, би трябвало да можем да получим IP адресите на всеки Pi в мрежата. Ето как:

  1. Първо инсталирайте NMAP

    sudo apt-get update

    sudo apt-get install nmap

  2. След това вземете текущия IP за главния Pi

    ifconfig

  3. Сега можете да сканирате подмрежата на рутерите си за другите IP IP адреси

    sudo nmap -sn 192.168.1.*

Копирайте всички IP адреси, които се отнасят до другите Raspberry Pi в мрежата. След това ще можем да използваме тези IP адреси, за да се свържем към всеки от другите Pi, използвайки SSH. Това, което първо трябва да направим, е да преименуваме всеки от вторичните Pi на уникално мрежово име. В момента всички са настроени на Pi01. Ако приемем, че един от вторичните IP адреси на Pi е 192.168.0.3, ето как можете да се свържете с него и да промените името му:

  1. Установете SSH връзка

    ssh [email protected]

  2. Стартирайте raspi-config

    sudo raspi-config

  3. В интерфейса превъртете надолу до опцията Разширени и след това изберете Име на хост.
  4. За името на хоста променете Pi01 на следващия пореден номер, който е Pi02.
  5. След това излезте от SSH сесията

    изход

Искате да повторите тези стъпки за всеки от другите Pi в мрежата, като ги преименувате на Pi03, Pi04 и т.н.

На вашия master Pi искате да създадете нов текстов файл, наречен "machinefile"

нано машинен файл

И в него искате да въведете всеки от IP адресите на Pi (включително главния IP адрес) на нов ред и след това да запишете файла.

На този етап можем да стартираме тестов файл, използвайки

mpiexec -f machinefile -n 4 име на хост

но ще греши, като казва, че е имало „неуспешна проверка на ключа на хоста“. Така че в следващата стъпка нека поправим това.

Стъпка 8: Проверка на хост ключовете

Проверка на хостовите ключове
Проверка на хостовите ключове
Проверка на хостовите ключове
Проверка на хостовите ключове
Проверка на хост ключовете
Проверка на хост ключовете

За да го поправим, така че комуникацията с всеки Pi да не доведе до грешка при проверка на хост ключ, трябва да създадем и разменим ключове за всеки от нашите Raspberry Pi. Тази част може да се усложни леко, но се надявам, че можете да останете с мен.

  1. На Master Pi, в началната папка по подразбиране, създайте нов ключ.

    cd ~

    ssh-keygen

  2. Придвижете се до папката ssh и копирайте ключовия файл в нов файл, наречен "pi01"

    cd.ssh

    cp id_rsa.pub pi01

  3. След това искате да се свържете чрез SSH към Pi02 и да повторите същите стъпки, за да създадете ключов файл Pi02

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi02

  4. Преди да излезем от Pi02, трябва да копираме ключовия файл Pi01 към него и да го оторизираме.

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

    cat pi01 >> оторизирани_ключове

    изход

  5. С Pi02 готово, повторете всички тези стъпки за Pi03

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

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

    cat pi01 >> оторизирани_ключове

    изход

  6. Повторете последната стъпка за останалите Pi, които имате в мрежата си.
  7. След като генерирате ключове за всеки от Pi, излезте обратно към вашия Master Pi и копирайте всички ключове, генерирани на всеки от Pi.

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

    котка pi02 >> оторизирани_ключове

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

    cat pi03 >> оторизирани_ключове

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

    cat pi04 >> оторизирани_ключове

  8. (повторете за толкова много Pi в мрежата ви)

Стъпка 9: Стартиране на програма на вашия суперкомпютър

Стартиране на програма на вашия суперкомпютър
Стартиране на програма на вашия суперкомпютър
Стартиране на програма на вашия суперкомпютър
Стартиране на програма на вашия суперкомпютър
Стартиране на програма на вашия суперкомпютър
Стартиране на програма на вашия суперкомпютър

Сега всичко трябва да бъде настроено. Докато все още сте на вашия Master Pi, опитайте да стартирате този машинен файл отново:

cd ~

mpiexec -f machinefile -n 4 име на хост

Ако всичко е направено правилно, то трябва да върне IP адресите на всичките ви Raspberry Pi. Сега, когато успешно изпробвахме нашия суперкомпютър, нека стартираме програма на python:

  1. Изтеглете и разархивирайте моя тестов скрипт за разбиване на парола на Python.

    wget

    tar -zxf python_test.tar.gz

  2. Редактирайте хеша на паролата на такъв, който искате да пропуснете.

    nano python_test/md5_attack.py

  3. Копирайте файла Python във всичките си 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. (повторете за всички останали Pi)
  5. Стартирайте скрипта на python.

    mpiexec -f машинен файл -n 5 python python_test/md5_attack.py

Скриптът ще работи, използвайки процесорната мощ на всички Pi във вашата мрежа! Чувствайте се свободни да го тествате, като използвате свой собствен скрипт на python!

Конкурс Raspberry Pi 2016
Конкурс Raspberry Pi 2016
Конкурс Raspberry Pi 2016
Конкурс Raspberry Pi 2016

Трета награда в конкурса Raspberry Pi 2016

Препоръчано: