Оглавление:
- Запасы
- Шаг 1: О DEMAC
- Шаг 2: 3D-печать DEMAC
- Шаг 3: Соберите DEMAC
- Шаг 4: Поместите вентилятор на кожух
- Шаг 5: Соедините кожух платы с кожухом питания
- Шаг 6: Установите охлаждающее устройство
- Шаг 7. Поместите доски в лотки для картона
- Шаг 8. Вставьте лотки для картона в кожух для картона
- Шаг 9: Поместите блок питания внутрь корпуса питания
- Шаг 10: Подключите вентилятор к источнику питания системы охлаждения
- Шаг 11: Настройте ОС
- Шаг 12: Подключите плату к источнику питания
- Шаг 13: Настройка маршрутизатора
- Шаг 14: Подключение к Parallella Board с помощью SSH
- Шаг 15: Настройка сети
- Шаг 16: Настройка Keygen и доступа без пароля на платах
- Шаг 17: установка Sshfs
- Шаг 18: настройте папку NFS
- Шаг 19: Подключите плату к коммутатору
- Шаг 20: повторите шаги с 11 по 19 для каждой доски
- Шаг 21: Подключите периферийные устройства
- Шаг 22: Подайте питание
- Шаг 23. Программные ресурсы
Видео: DEMAC, модульный кластер Беовульфа с 3D-печатью: 23 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Высокопроизводительные вычисления (HPC) - это способность обрабатывать данные и выполнять сложные вычисления на высоких скоростях, это применение «суперкомпьютеров» для решения вычислительных задач, которые либо слишком велики для стандартных компьютеров, либо требуют слишком много времени для выполнения. Top500 - это список, который публикуется два раза в год и включает в себя одни из самых быстрых и мощных компьютеров в мире. Страны и крупные организации тратят миллионы ресурсов на то, чтобы эти системы работали, чтобы ученые могли использовать современные технологии и решать сложные проблемы.
Много лет назад компьютеры улучшали свою производительность за счет увеличения скорости процессора. После того, как мы столкнулись с замедлением такого подхода, разработчики решили, что для дальнейшего повышения производительности компьютеров несколько ядер (или вычислительных единиц) должны быть упакованы вместе. Агрегация нескольких вычислительных ресурсов и механизмов для управления этими ресурсами - это то, что мы называем «параллелизмом» в информатике. Наличие нескольких ядер, выполняющих несколько задач, звучит как хороший подход к повышению производительности компьютера … но возникает большой вопрос: как мы можем использовать эти ресурсы более эффективно?
Эти вопросы не давали покоя ученым-информатикам, есть несколько способов указать компьютеру, как что-то делать, есть еще больше способов указать нескольким компьютерам, как что-то делать. Этот проект направлен на разработку доступной платформы, на которой каждый может экспериментировать с высокопараллельной машиной, тестировать существующие модели для применения в своих проектах, разрабатывать новые и творческие способы решения вычислительных задач или просто использовать их как способ научить других о компьютерах. Мы надеемся, что вам понравится работать с DEMAC так же, как и нам.
DEMAC
Кластер модульной сборки (DEMAC) в Делавэре представляет собой расширяемый массив встроенных систем (компьютеры размером с карту) и набор рамок с трехмерной печатью для размещения плат и дополнительного оборудования, обеспечивающего питание, охлаждение и доступ к сети.
Каждое устройство или встроенная система - это небольшой компьютер, плата Parallella, сочетающая в себе ресурсы двухъядерного процессора ARM, 16-ядерного сопроцессора под названием Epiphany и встроенной FPGA с гибкостью полного стека с открытым исходным кодом. Крепление представляет собой самодельную раму, напечатанную на 3D-принтере, которая обеспечивает недорогую реализацию и расширяемую конструкцию. Он рассчитан на установку 4 единиц в стойку стандартного размера (например, в серверных комнатах).
Это руководство включает:
- Список необходимых материалов
- Инструкции по 3D-печати рамок
- Инструкция по сборке и соединению деталей
- Руководство по загрузке и установке необходимого программного обеспечения
- Описание того, как подключиться и взаимодействовать с кластером
- А «Зачем мы это делаем?» раздел
Кто мы?
Мы - CAPSL (Лаборатория компьютерной архитектуры и параллелизма) из Университета Делавэра. Мы считаем, что будущее вычислений должно иметь прочную основу в теории потока данных (которую мы объясним позже в этом руководстве, если вам интересно).
Запасы
В этом списке описаны материалы, необходимые для создания кластера из 4 плат.
- 4 доски Parallella (вы можете получить их у DigiKey или других поставщиков, дополнительную информацию можно найти на их веб-сайте
- 4 карты micro-SD объемом не менее 16 ГБ (вот очень дешевая упаковка из 10 или что-то вроде этих более гибких комбинаций)
- 4 кабеля micro-USB длиной не менее 30 см (я рекомендую эти)
- Зарядное устройство USB [как минимум с 4 портами типа A] (я рекомендую это устройство с 6 портами или одно с таким же форм-фактором, поскольку для него предназначен корпус питания)
- Вентилятор охлаждения [максимальный размер 100 мм x 100 мм x 15 мм] (я рекомендую этот, потому что он дешев и работает, но другие с аналогичным размером и конфигурацией кабеля работают)
- Блок питания для охлаждающего вентилятора (если ваша конфигурация рассчитана на более чем 8 плат, я рекомендую эту или что-то подобное [AC 100 В / 240 В до DC 12 В 10 A 120 Вт], который имеет красивый металлический корпус и также может быть прикреплен к переключателю) (Если вы собираетесь подключить только два вентилятора или меньше, вы можете использовать любые 12 В с выходным блоком питания не менее 1 А, который у вас может лежать)
- 5 кабелей Ethernet (4 могут быть такими же короткими, в зависимости от расстояния от коммутатора до плат, и один должен быть достаточно длинным, чтобы подключить коммутатор либо к вашему компьютеру, либо к модему для доступа к сети кластера)
>> Важное примечание: необходима система охлаждения, иначе платы могут перегреться! <<<
Детали, напечатанные на 3D-принтере
- 4 лотка для картона (Frame_01)
- 1 корпус платы (Frame_02)
- 1 кожух вентилятора (Frame_03_B & Frame_03_T)
- 1 силовой кожух (Frame_04)
Шаг 1: О DEMAC
DEMAC является частью более широкой картины, гибкой и расширяемой платформы, которая позволяет нам разрабатывать и тестировать новые модели выполнения программирования (PXM) для параллельных вычислений. PXM - это больше, чем способ описания вычислений, он представляет собой основу, которая обеспечивает согласие между способом выражения программы и тем, как она переводится на общий язык, который может выполняться машиной. Мы описываем набор элементов, которые позволяют пользователю создавать программы, и способ организации выполнения программы. Программа может быть оптимизирована для конкретной архитектуры пользователем или автоматизированным инструментом на основе этого общего фона.
Вы можете узнать больше об этом проекте в конце этой инструкции, вы также можете щелкнуть здесь, чтобы получить больше информации о DEMAC, или здесь, чтобы получить больше информации о CAPSL)
Шаг 2: 3D-печать DEMAC
В этом разделе вы можете найти руководство по 3D-печати рам, которые охватывают другие компоненты и обеспечивают структурную поддержку. Даже если вы являетесь мастером 3D-печати, вот несколько советов, которые вы можете учитывать при печати этих рамок. Все кадры можно распечатать с помощью сопла 0,4 мм с высотой слоя 0,3 или 0,2 (также можно использовать адаптивное приспособление). Я напечатал все, используя PLA, но не имеет особого значения, хотите ли вы использовать другие материалы (если они обеспечивают структурную стабильность и могут выдерживать более высокие или равные температуры, чем PLA).
Файлы STL:
www.thingiverse.com/thing:4493780
cults3d.com/en/3d-model/various/demac-a-mo…
www.myminifactory.com/object/3d-print-dema…
Лоток для досок (Frame_01)
Никаких дополнительных опор не требуется. Это довольно просто, просто поместите его плоской поверхностью к поверхности для печати.
Корпус платы (Frame_02)
Для этого может потребоваться некоторая поддержка в средних балках. Вы можете утверждать, что хорошо настроенная машина / слайсер может печатать эти мосты без дополнительной поддержки. Пожалуйста, сначала попробуйте несколько стресс-тестов моста, если вы хотите печатать без опор, поскольку идея заключалась в том, что они не потребуются. С другой стороны, боковые колонны и стенки обеспечивают достаточную поддержку для печати без дополнительных поддерживающих структур.
Корпус вентилятора (Frame_03_B & Frame_03_T)
Никаких дополнительных опор не требуется. Просто поместите обе части плоской поверхностью к поверхности для печати.
Кожух питания (Frame_04)
Подобно Frame_02, этому может потребоваться некоторая поддержка в средних балках. Вы также можете попробовать распечатать это без дополнительных вспомогательных материалов (как это было задумано). Боковые колонны и стенки обеспечивают достаточную опору для печати без дополнительных опорных конструкций.
Выходной охлаждающий кожух (Frame_05_B и Frame_05_T)
Никаких дополнительных опор не требуется. Просто поместите обе части плоской поверхностью к поверхности для печати.
Шаг 3: Соберите DEMAC
Теперь, когда у вас есть все необходимые детали, пора приступить к сборке кластера.
Не забудьте удалить поддерживающий материал, который может быть на рамах.
Шаг 4: Поместите вентилятор на кожух
Просто вставьте вентилятор внутрь Frame_03_B (с кабелем в правом нижнем углу), нижняя часть должна поместиться внутри небольших изогнутых стенок, удерживающих вентилятор на месте.
Поместите Frame_03_T маленькими изогнутыми стенками вниз поверх Frame_03_B (с уже установленным вентилятором). Следите за тем, чтобы самая широкая крышка Frame_03_T была обращена к более широкой (задней) стороне Frame_03_B. Рамы должны щелкнуть, а крышки должны удерживать их на месте.
Шаг 5: Соедините кожух платы с кожухом питания
Поместите Frame_02 поверх Frame_04, эти два предназначены для привязки друг к другу. В нижней части рамы_02 есть небольшая вмятина, которая подходит для разъемов в верхней части рамы_04. Приложите легкую силу, чтобы соединить их.
Шаг 6: Установите охлаждающее устройство
Frame_03 (B&T) предназначены для защелкивания с Frame_02, расположив вентилятор лицом к платам (воздушный поток должен идти внутрь Frame_02). На столбцах Frame_02 есть небольшие вмятины, которые должны совпадать с отметками в Frame_03_B. Слегка надавите на боковые грани конструкции до щелчка рам.
Шаг 7. Поместите доски в лотки для картона
Frame_01 имеет 4 контакта, которые соответствуют отверстиям в плате Parallella. Доска должна легко помещаться в лоток. В зависимости от калибровки вашего 3D-принтера они могут быть слишком большими или слишком маленькими, вы можете использовать немного жидкого силиконового клея, чтобы удерживать их на месте, или немного прижать их плоскогубцами, чтобы уменьшить диаметр.
>> Важное примечание: не забудьте разместить радиаторы на плате <<<
Шаг 8. Вставьте лотки для картона в кожух для картона
Frame_01 предоставляет слоты, которые подходят к направляющим Frame_02 для каждого уровня. Обратите внимание, что лоток для картона открыт только с одной стороны. Также есть небольшая выпуклость, которая помогает удерживать Frame_01 на месте (честно говоря, в будущей версии может потребоваться некоторое улучшение).
Сдвиньте все 4 лотка для картона с уже установленными досками, по одному на каждый уровень.
Шаг 9: Поместите блок питания внутрь корпуса питания
Поместите блок питания USB внутрь Frame_04 так, чтобы порты USB были обращены наружу. С другой стороны есть небольшое отверстие для кабеля питания, питающего концентратор.
Шаг 10: Подключите вентилятор к источнику питания системы охлаждения
Теперь вентилятор должен быть подключен к источнику питания 12 В, который обеспечивает энергией охлаждающее устройство.
>> Важное примечание: поддерживайте работоспособность системы охлаждения, пока платы подключены к источнику питания <<<
Шаг 11: Настройте ОС
1. Загрузите рекомендованную ОС (Parabuntu) здесь
Существует две версии микросхем (z7010 [P1600 / P1601] и z7020 [P1602 / A101040], для которых требуются разные файлы.
Для обеих версий существует версия без заголовка (без графического пользовательского интерфейса) и версия с поддержкой HDMI и графическим пользовательским интерфейсом)
Если вы хотите использовать выход HDMI, не забудьте купить кабель mini-HDMI.
Вы можете взаимодействовать с версией без головы через сеть.
Более подробную информацию и подробные объяснения можно найти здесь, на официальном сайте.
Вот шаги по установке операционной системы с использованием дистрибутива на основе Linux. Вы можете использовать команды в терминале (без символа $) для следующих шагов или проверить другие процедуры на веб-сайте.
2. Установить
- Вставьте карту micro-SD в свой обычный компьютер - Разархивируйте образ Ubuntu. Измените [releasename] для имени изображения.
$ gunzip -d [название выпуска].img.gz
3. Проверьте путь к устройству вашей SD-карты.
Точный путь устройства к вашей SD-карте зависит от вашего дистрибутива Linux и настроек компьютера. Используя команду ниже, чтобы получить правильный путь. Если из вывода неясно, какой путь является правильным, попробуйте выполнить команду со вставленной SD-картой и без нее. В Ubuntu возвращаемый путь может иметь вид «/ dev / mmcblk0p1».
$ df -h
4. Отключите SD-карту. Вам нужно будет отключить все разделы на SD-картах перед записью карты. [Sd-partition-path] получен из команды «df» на шаге 3.
$ umount [sd-раздел-путь]
5. Запишите образ диска Ubuntu на карту micro-SD.
Запишите образ на SD-карту с помощью утилиты «dd», показанной в примере команды ниже. Будьте осторожны и убедитесь, что вы указали путь правильно, так как эта команда необратима и перезапишет все в пути! Пример команды в Ubuntu: ‘sudo dd bs = 4M if = my_release.img of = / dev / mmcblk0’. Подождите, это может занять некоторое время (много минут) в зависимости от используемого компьютера и SD-карты.
$ sudo dd bs = 4M if = [releasename].img of = [sd-partition-path]
6. Убедитесь, что все записи на SD-карту завершены.
$ sync
7. Вставьте SD-карту в слот для SD-карты на плате.
Шаг 12: Подключите плату к источнику питания
Используйте кабель miniUSB - USB-A для подключения одной из плат к концентратору USB. Вы можете пометить порты и кабели или определить порядок соединений на тот случай, если вам понадобится отключить плату позже.
Шаг 13: Настройка маршрутизатора
Если вы устанавливаете ОС без подключения к компьютеру, находясь в большой сети, вам нужно будет использовать маршрутизатор и подключить его к Интернету, платам Parallella и вашему персональному компьютеру.
Если вы не можете подключиться к маршрутизатору, вы также можете подключить плату непосредственно к компьютеру с помощью кабеля Ethernet, эта процедура может быть немного сложнее и не будет рассматриваться в данной инструкции.
Как только все будет подключено, откройте интерфейс вашего маршрутизатора, чтобы узнать, какой IP-адрес присваивается вашей Parallella по умолчанию. Найдите вкладку с надписью «Сеть». Затем найдите раздел «Список клиентов DHCP». Там вы должны увидеть свою плату Parallella и ее IP-адрес.
С помощью этого IP-адреса вы можете подключиться к Parallella по SSH и настроить статический IP-адрес.
Шаг 14: Подключение к Parallella Board с помощью SSH
Примечание. В этом разделе [default_IP] - это динамический IP-адрес, который вы нашли в списке клиентов DHCP.
Проверить подключение к плате
$ ping [IP-адрес по умолчанию]
SSH в плату в первый раз (пароль по умолчанию - параллель)
$ ssh parallella @ [IP-адрес по умолчанию]
Шаг 15: Настройка сети
- Изменить имя хоста: отредактировать / etc / hostname
Здесь вы можете присвоить любое имя, которое хотите, мы рекомендуем использовать NOPA ##
Где ## обозначает номер платы (например, 01, 02,…)
- Установите IP-адреса других плат: отредактируйте / etc / hosts
Установите статический IP-адрес: добавьте приведенный ниже текст для /etc/network/interfaces.d/eth0
# Основной сетевой интерфейсauto eth0
iface eth0 inet статический
адрес 192.168.10.101 #IP должен быть в пределах диапазона маршрутизатора
маска сети 255.255.255.0
gateway 192.168.10.1 # Это должен быть адрес роутера
сервер имен 8.8.8.8
сервер имен 8.8.4.4
После того, как вы назначили IP-адрес плате, вы можете перезапустить соединение с помощью команды
$ ifdown eth0; ifup eth0
или перезагрузите плату
Шаг 16: Настройка Keygen и доступа без пароля на платах
Настройте пару закрытых открытых ключей на каждом узле (включая головной узел). Создайте временную папку, сгенерируйте новый ключ и сделайте его авторизованным ключом и добавьте все NOPA к известным хостам, как показано ниже.
mkdir tmp_sshcd tmp_ssh ssh-keygen -f./id_rsa
# Дважды нажмите Enter, чтобы установить и подтвердить пустой пароль.
cp id_rsa.pub authorized_keys
для i в "seq 0 24"; do j = $ (echo $ i | awk '{printf "% 02d / n", $ 0}');
ssh-keyscan NOPA $ J >> known_hosts; сделано
Шаг 17: установка Sshfs
- Использование sshfs позволяет обмениваться файлами между досками кластера. Выполните следующую команду:
$ sudo apt-get install -y sshfs
- Проверка / создание группы предохранителей
Проверить наличие группы предохранителей:
$ cat / etc / group | grep 'предохранитель'
Если группа существует, выполните следующую команду
$ bash sudo usermod -a -G fuse parallella
- Если группы не существует, создайте ее и добавьте в нее пользователя.
$ sudo groupadd предохранитель
$ sudo usermod -a -G предохранитель параллельная
- Раскомментируйте строку user_allow_other в файле fuse.config
$ sudo vim /etc/fuse.conf
Шаг 18: настройте папку NFS
- Модифицируйте файл / etc / fstab
$ sudo vim / и т. д. / fstab
- Замените содержимое текстом, показанным ниже
# [файловая система] [точка монтирования] [тип] [параметры]
sshfs # parallella @ NOPA01: / home / parallella / DEMAC_nfs / home / parallella / DEMAC_nfs fuse comment = sshfs, noauto, users, exec, rw, uid = 1000, gid = 1000, allow_other, reconnect, transform_symlinks, BatchMode = yes, nonemptymlinks, BatchMode = yes, nonemptymlinks, _netdev, identityfile = / home / parallella /.ssh / id_rsa, default_permissions 0 0
Шаг 19: Подключите плату к коммутатору
Поместите коммутатор под кластером или где-нибудь поблизости, используйте кабели Ethernet для подключения платы, которую вы уже настроили, к коммутатору. Вы также можете подключить коммутатор и свой компьютер к маршрутизатору, чтобы получить доступ к кластеру.
Вы должны иметь возможность отправлять ping и ssh на плату, которая теперь подключена к коммутатору со статическим IP-адресом.
Вы также можете добавить IP-адрес и имя хоста в свой файл / etc / hosts. Вы сможете использовать имя хоста для подключения вместо того, чтобы вводить весь IP-адрес.
Шаг 20: повторите шаги с 11 по 19 для каждой доски
Следуйте процедуре настройки ОС и сети для каждой платы.
>> Важное примечание: используйте разные имена хостов и IP для каждой платы! Они должны быть уникальными в сети! <<<
Шаг 21: Подключите периферийные устройства
Убедитесь, что вентилятор работает:
Убедитесь, что вентилятор получает питание и воздушный поток направлен внутрь корпуса платы. Связь должна быть стабильной и независимой от других элементов. Помните, что платы могут перегреться, если их неправильно охладить.
Убедитесь, что платы подключены к коммутатору:
На этом этапе вы должны были настроить каждую плату независимо. Платы также должны быть подключены к переключателю. В руководстве по коммутатору должна содержаться информация, которая может быть использована для проверки правильности завершения процесса запуска, могут быть некоторые светодиоды, указывающие состояние.
Подключите платы к источнику питания:
Используйте кабель micro-USB - USB-A для подключения каждой платы к концентратору USB. Вы можете пометить порты или определить порядок, если вам нужно отключить одну плату.
Шаг 22: Подайте питание
1. Вентилятор должен работать.
2. Платы должны быть подключены к коммутатору Ethernet.
3. Убедитесь, что платы подключены к концентратору USB.
4. Подайте питание на концентратор USB.
5. Включите DEMAC!
6. Прибыль!
Шаг 23. Программные ресурсы
MPI (интерфейс передачи сообщений)
MPI - это протокол связи для программирования параллельных компьютеров. Поддерживаются как двухточечная, так и коллективная связь.
www.open-mpi.org/
OpenMP (открытая мультиобработка)
Интерфейс прикладного программирования (API) OpenMP (Open Multi-Processing) поддерживает многоплатформенное многопроцессорное программирование с общей памятью на C, C ++ и Fortran на многих платформах. Он состоит из набора директив компилятора, библиотечных процедур и переменных среды, которые влияют на поведение во время выполнения.
www.openmp.org/
Программное обеспечение Parallella
Разработчики предоставляют стек программного обеспечения с открытым исходным кодом, включая SDK для взаимодействия с ускорителем.
www.parallella.org/software/
Вы также можете найти руководства и более подробную информацию.
У них также есть репозитории GitHub:
github.com/parallella
Не стесняйтесь загружать и запускать некоторые из примеров, одна из моих любимых - это игра жизни, основанная на знаменитой «Игре жизни» Конвея.
Отказ от ответственности: определения могут быть скопированы из Википедии
Рекомендуемые:
MutantC V3 - Модульный и мощный портативный ПК: 9 шагов (с изображениями)
MutantC V3 - модульный и мощный портативный ПК: портативная платформа Raspberry-pi с физической клавиатурой, дисплеем и заголовком расширения для пользовательских плат (например, Arduino Shield). MutantC_V3 является преемником mutantC_V1 и V2. Посмотрите mutantC_V1 и mutantC_V2. Https://mutantc.gitlab.io/https: // gitla
Модульный блок питания синтезатора: 10 шагов (с изображениями)
Модульный источник питания синтезатора: если вы строите модульный синтезатор, вам обязательно понадобится источник питания. Для большинства модульных синтезаторов требуется система с двумя шинами (обычно 0 В, + 12 В и -12 В), и также может быть удобно иметь шину 5 В, если вы планируете
MOLBED - модульный недорогой электронный дисплей Брайля: 5 шагов (с изображениями)
MOLBED - недорогой модульный электронный дисплей со шрифтом Брайля: Описание Целью этого проекта является создание доступной электронной системы Брайля, которая может сделать эту технологию доступной для всех. После первоначальной оценки стало ясно, что, таким образом, дизайн индивидуального персонажа h
Преобразование осветительной арматуры в светодиодный кластер: 7 шагов (с изображениями)
Преобразование осветительной арматуры в светодиодную группу: у меня есть прекрасный старый светильник на передней части моего дома, но лампочка в нем довольно тусклая. Это флуоресцентная лампа, эквивалентная лампе накаливания мощностью 100 Вт. Это также, в основном из-за конструктивного недостатка фитинга, отбрасывает тень прямо на
Модульный держатель для телефона с функцией громкой связи из бумаги: 4 шага (с изображениями)
Модульный держатель для телефона с громкой связью из бумаги: система ошейников и рук, в которой легкие предметы, такие как телефоны, закуски или чашки, можно регулировать в регулируемых положениях. а