Оглавление:

Как сделать суперкомпьютер Raspberry Pi !: 9 шагов (с изображениями)
Как сделать суперкомпьютер Raspberry Pi !: 9 шагов (с изображениями)

Видео: Как сделать суперкомпьютер Raspberry Pi !: 9 шагов (с изображениями)

Видео: Как сделать суперкомпьютер Raspberry Pi !: 9 шагов (с изображениями)
Видео: ЧТО ТАКОЕ СУПЕРКОМПЬЮТЕР? | ФОРМАТ 2024, Ноябрь
Anonim
Как сделать суперкомпьютер Raspberry Pi!
Как сделать суперкомпьютер Raspberry Pi!

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

Шаг 1. Посмотрите видеоверсию

Image
Image

Я также сделал видеоверсию из двух частей того же самого проекта. Так что, если вы не из тех, кто читает, расслабьтесь и посмотрите видео! Обратите внимание, что в видео-версии используется Raspbian Wheezy. Однако приведенные ниже инструкции относятся к текущему дистрибутиву Raspbian, которым на момент написания этой статьи является Джесси.

Шаг 2: что вам понадобится

Чтобы продолжить этот проект, вот детали, которые вам нужно будет приобрести.

Вот что вам понадобится:

  1. 2 или более Raspberry Pi
  2. SD-карты для каждого Пи
  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. Щелкните вкладку «Разгон» и выберите «Турбо».
    6. Измените память GPU на 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 / главная / rpimpi /

sudo mkdir / главная / rpimpi / mpi-install

mkdir / главная / пи / 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

нано.bashrc

ПУТЬ = $ ПУТЬ: / 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

компакт-диск mpi4py-1.3.1

сборка python setup.py

установка python setup.py

экспорт PYTHONPATH = / home / pi / mpi4py-1.3.1

mpiexec -n 5 демонстрация Python / 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-карты, вставьте основную 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-адресов Pi.

    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. В интерфейсе прокрутите вниз до опции Advanced, а затем выберите Hostname.
  4. В качестве имени хоста измените Pi01 на следующий порядковый номер, которым является Pi02.
  5. Затем выйдите из сеанса SSH

    выход

Вы хотите повторить эти шаги для каждого из остальных Pi в сети, переименовав их в Pi03, Pi04 и т. Д.

На вашем главном Pi вы хотите создать новый текстовый файл под названием "machinefile"

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

И в нем вы хотите ввести каждый из IP-адресов Pi (включая главный IP-адрес) в новой строке, а затем сохранить файл.

На этом этапе мы можем запустить тестовый файл, используя

mpiexec -f файл-машины -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.

    кошка pi01 >> authorized_keys

    выход

  5. Когда Pi02 готов, повторите все эти шаги для Pi03.

    ssh [email protected]

    ssh-keygen

    cd.ssh

    cp id_rsa.pub pi03

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

    кошка pi01 >> authorized_keys

    выход

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

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

    кошка pi02 >> authorized_keys

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

    кошка pi03 >> authorized_keys

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

    кошка pi04 >> authorized_keys

  8. (повторите, пока в вашей сети есть Пи)

Шаг 9: Запуск программы на вашем суперкомпьютере

Запуск программы на вашем суперкомпьютере
Запуск программы на вашем суперкомпьютере
Запуск программы на вашем суперкомпьютере
Запуск программы на вашем суперкомпьютере
Запуск программы на вашем суперкомпьютере
Запуск программы на вашем суперкомпьютере

Теперь все должно быть настроено. Находясь на Master Pi, попробуйте снова запустить этот машинный файл:

cd ~

mpiexec -f файл-машины -n 4 имя хоста

Если все было сделано правильно, он должен вернуть IP-адреса всех ваших Raspberry Pi. Теперь, когда мы успешно протестировали наш суперкомпьютер, давайте запустим на нем программу Python:

  1. Загрузите и распакуйте мой тестовый скрипт взлома пароля Python.

    wget

    tar -zxf python_test.tar.gz

  2. Измените хэш пароля на тот, который вы хотите взломать.

    нано 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. (повторить для всех оставшихся Пи)
  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

Рекомендуемые: