Съдържание:

DEMAC, 3D отпечатан модулен клъстер Beowulf: 23 стъпки (със снимки)
DEMAC, 3D отпечатан модулен клъстер Beowulf: 23 стъпки (със снимки)

Видео: DEMAC, 3D отпечатан модулен клъстер Beowulf: 23 стъпки (със снимки)

Видео: DEMAC, 3D отпечатан модулен клъстер Beowulf: 23 стъпки (със снимки)
Видео: Монтаж мостового крана с LTC 1055 и PPM 530 att / Покадровая анимация 1:50 2024, Ноември
Anonim
DEMAC, 3D отпечатан модулен клъстер Beowulf
DEMAC, 3D отпечатан модулен клъстер Beowulf

Високопроизводителното изчисление (HPC) е способността да се обработват данни и да се извършват сложни изчисления при високи скорости, това е приложението на „суперкомпютри“към изчислителни проблеми, които са или твърде големи за стандартните компютри, или биха отнели твърде много време, за да бъдат изпълнени. Top500 е списък, който се публикува два пъти годишно и класира едни от най -бързите и мощни компютри в света. Държавите и големите организации изразходват милиони ресурси, за да могат тези системи да работят и да работят за учен, който да използва най -съвременните технологии и да решава сложни проблеми.

Преди години компютрите подобряваха производителността си чрез увеличаване на скоростта на процесора. След като се сблъскахме с забавяне в този вид подход, разработчиците решиха, че за да продължат да увеличават производителността на компютрите, множество ядра (или изчислителни единици) трябва да бъдат пакетирани заедно. Агрегирането на множество изчислителни ресурси и механизмите за управление на тези ресурси е това, което наричаме "паралелизъм" в компютърните науки. Наличието на множество ядра, изпълняващи множество задачи, звучи като добър подход за подобряване на производителността на компютър … но това отваря голям въпрос: как да използваме тези ресурси по -ефективно?

Тези въпроси държат компютърния учен зает, има много начини да се каже на компютъра как да прави нещата, има още повече начини да се каже на множество компютри как да правят неща. Този проект има за цел да разработи достъпна платформа, където всеки може да експериментира с много паралелна машина, да тества съществуващи модели, които да прилага в собствените си проекти, да разработва нови и творчески начини за решаване на изчислителни проблеми или просто да го използва като начин да научи другите за компютрите. Надяваме се да се насладите на работата с DEMAC толкова, колкото и ние.

DEMAC

Модулният сглобяем клъстер на Делауеър (DEMAC) е разширяем масив от вградени системи (компютри с размер на карта) и набор от 3D отпечатани рамки за обхващане на платките и допълнителен хардуер, който осигурява захранване, охлаждане и достъп до мрежата.

Всяко устройство или вградена система е малък компютър, Parallella Board, който съчетава ресурсите на двуядрен ARM процесор, 16-ядрен съпроцесор, наречен Epiphany и вградена FPGA с гъвкавостта на пълен стек с отворен код. Монтажът е домашно направена 3D-отпечатана рамка, която позволява евтина реализация и ескалируема структура. Проектиран е да побере 4 единици със стойка със стандартен размер (като тези, които намирате в стаите на компютърни сървъри).

Тази инструкция включва:

- Списък на необходимите материали

- Инструкции за 3D отпечатване на кадрите

- Инструкции за сглобяване и свързване на частите

- Ръководство за изтегляне и инсталиране на необходимия софтуер

- Описание на начина на свързване и взаимодействие с клъстера

- "Защо правим това?" раздел

Кои сме ние?

Ние сме CAPSL (компютърна архитектура и паралелна лаборатория) от университета в Делауеър. Вярваме, че бъдещето на изчисленията трябва да има силна база в теорията на потока от данни (която ще обясним по -късно в тази инструкция, ако се интересувате).

Консумативи

Този списък описва материалите, необходими за изграждането на 4-бордов клъстер

- 4 дъски Parallella (можете да ги получите от DigiKey или други доставчици, можете да намерите повече информация на техния уебсайт

-4 micro-SD карти с поне 16Gb (тук е много евтин 10-пакет или нещо подобно на тези по-гъвкави комбинации)

- 4 микро-USB кабела с минимална дължина 30 см (1 фута) (препоръчвам ги)

- USB зарядно устройство [с поне 4 порта тип A] (препоръчвам този с 6 портове или такъв със същия форм-фактор, тъй като кутията за захранване е предназначена за това)

- Охлаждащ вентилатор [максимален размер 100 mm x 100 mm x 15 mm] (препоръчвам този, защото е евтин и работи, но други с подобен размер и конфигурация на кабела работят)

- Захранване за охлаждащ вентилатор (Ако вашата конфигурация е за повече от 8 платки, препоръчвам този или нещо подобно [AC 100 V/ 240 V до DC 12 V 10 A 120 W], което има хубав метален корпус и може също да бъде прикрепен към превключвателя) (Ако ще включите само два вентилатора или по -малко, можете да използвате всякакви 12 V с поне 1 A изходно захранване, което може да имате)

- 5 Ethernet кабела (4 могат да бъдат къси като тези, в зависимост от разстоянието от превключвателя до платките, и един трябва да е достатъчно дълъг, за да свърже комутатора с вашия компютър или модем за достъп до клъстерната мрежа)

>> Важна забележка: Необходима е охладителна система, в противен случай дъските могат да прегреят! <<<

3D отпечатани части

- 4 тави за дъски (Frame_01)

- 1 корпус на дъската (Frame_02)

- 1 корпус на вентилатора (Frame_03_B & Frame_03_T)

- 1 захранващ корпус (Frame_04)

Стъпка 1: Всичко за DEMAC

Относно DEMAC
Относно DEMAC

DEMAC е част от по -голяма картина, гъвкава и ескалируема платформа, която ни позволява да разработваме и тестваме нови модели за изпълнение на програмиране (PXM) за паралелни изчисления. PXM е повече от начин за описване на изчисленията, той представлява гръбнакът, който осигурява съгласие между начина, по който се изразява една програма, и как тя се превежда на общ език, който може да бъде изпълнен от машината. Описваме набор от елементи, които позволяват на потребителя да генерира програми и начин за организиране на изпълнението на програмата. Програмата може да бъде оптимизирана за насочване към конкретна архитектура от потребителя или автоматизиран инструмент въз основа на тази обща информация.

Можете да научите повече за този проект в края на тази инструкция, можете също да щракнете тук, за да получите повече информация за DEMAC или тук, за да получите повече информация за CAPSL)

Стъпка 2: 3D печат DEMAC

3D печат DEMAC!
3D печат DEMAC!
3D печат DEMAC!
3D печат DEMAC!
3D печат DEMAC!
3D печат DEMAC!

В този раздел можете да намерите ръководство за 3D отпечатване на рамките, които обхващат другите компоненти и осигуряват структурна поддръжка. Дори и да сте майстор на 3D печат, ето няколко съвета, които можете да имате предвид, докато отпечатвате тези рамки. Всички рамки могат да бъдат отпечатани с дюза 0,4 мм с височина на слоя 0,3 или 0,2 (можете да използвате и адаптивна). Отпечатах всичко с PLA, но няма значение дали искате да използвате други материали (стига да осигуряват структурна стабилност и да понасят по -високи или равни температури от PLA).

STL файлове:

www.thingiverse.com/thing:4493780

cults3d.com/bg/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

Сглобете DEMAC!
Сглобете DEMAC!

Сега, когато имате всички необходими части, е време да започнете да сглобявате клъстера.

Не забравяйте да премахнете поддържащия материал, който може да имате върху рамките.

Стъпка 4: Поставете вентилатора върху корпуса

Поставете вентилатора върху корпуса
Поставете вентилатора върху корпуса
Поставете вентилатора върху корпуса
Поставете вентилатора върху корпуса

Просто плъзнете вентилатора вътре в Frame_03_B (с кабела в долния десен ъгъл), долната част трябва да се побере вътре в малките извити стени, които държат вентилатора на място.

Поставете Frame_03_T с малките извити стени обърнати надолу върху Frame_03_B (с вентилатора вече на място). Внимавайте да поставите най -широкия капак на Frame_03_T с лице към по -широката (задната) страна на Frame_03_B. Рамките трябва да щракнат и капаците да ги държат на място.

Стъпка 5: Свържете корпуса на платката с корпуса на захранването

Присъединете се към корпуса на платката с корпуса на захранването
Присъединете се към корпуса на платката с корпуса на захранването
Присъединете се към корпуса на платката с корпуса на захранването
Присъединете се към корпуса на платката с корпуса на захранването

Поставете Frame_02 върху Frame_04, тези два са проектирани да се прилепват заедно. В долната част на Frame_02 има малка вдлъбнатина, която пасва на съединителите отгоре на Frame_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 тави за дъски с вече поставени дъски, по 1 на всяко ниво.

Стъпка 9: Поставете захранването вътре в кутията за захранване

Поставете захранването вътре в кутията за захранване
Поставете захранването вътре в кутията за захранване

Поставете USB захранването в Frame_04 с USB портовете навън. От другата страна има малък отвор за захранващия кабел, който захранва главината.

Стъпка 10: Свържете вентилатора към охлаждащото захранване

Сега вентилаторът трябва да бъде свързан към 12 V захранване, което осигурява енергия на охлаждащия блок.

>> Важна забележка: Оставете охладителната система да работи през цялото време, докато платките са свързани към захранването <<<

Стъпка 11: Конфигурирайте операционната система

1. Изтеглете препоръчителната операционна система (Parabuntu) тук

Има две ревизии на чиповете (z7010 [P1600/P1601] и z7020 [P1602/A101040], които изискват различни файлове.

И за двете ревизии има версия без глава (Без графичен потребителски интерфейс) и версия, която осигурява HDMI поддръжка и графичен потребителски интерфейс)

Ако искате да използвате HDMI изхода, не забравяйте да вземете мини-HDMI кабел.

Можете да взаимодействате с версията без глава през мрежата.

Повече информация и подробно обяснение можете да намерите тук на официалния уебсайт.

Ето стъпките за инсталиране на операционната система с помощта на дистрибуция, базирана на Linux. Можете да използвате команди в терминала (без символа $) за следващите стъпки или да проверите други процедури в уебсайта.

2. Инсталирайте

- Поставете micro-SD картата в обикновения си компютър- Разархивирайте изображението на Ubuntu. Променете [releasename] за името на изображението.

$ gunzip -d [releasename].img.gz

3. Проверете пътя на устройството на вашата SD карта

Точният път на устройството към вашата SD карта зависи от вашата дистрибуция на Linux и настройката на компютъра. Използвайки командата по -долу, за да получите правилния път. Ако от изхода не е ясно кой път е правилният, опитайте командата със и без поставена SD карта. В Ubuntu върнатият път може да е нещо като „/dev/mmcblk0p1“.

$ df -h

4. Демонтирайте SD картата Ще трябва да демонтирате всички дялове на SD картите, преди да запишете картата. [Sd-partition-path] идва от командата „df“в стъпка 3.

$ umount [sd-partition-path]

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 на = [sd-partition-path]

6. Уверете се, че всички записи на SD картата са завършени

$ sync

7. Поставете SD картата в слота за SD карта на платката

Стъпка 12: Свържете платката към захранването

Използвайте кабела miniUSB към USB-A, за да свържете една от платките към USB концентратора. Можете да маркирате портовете и кабелите или да определите ред към връзките, в случай че трябва да изключите платка по -късно.

Стъпка 13: Настройване на рутер

Настройване на рутер
Настройване на рутер

Ако инсталирате ОС без глава, докато сте в голяма мрежа, ще трябва да използвате рутер и да го свържете към интернет, дъските Parallella и вашия персонален компютър.

Ако не можете да се свържете с рутера, можете също да свържете платката директно към компютъра си чрез Ethernet кабел, тази процедура може да бъде малко по -сложна и няма да бъде обхваната в тази инструкция.

След като всичко е свързано, отворете интерфейса на вашия рутер, за да разберете какъв IP адрес се дава на вашата Parallella по подразбиране. Потърсете раздел, който казва Мрежа. След това намерете раздел с етикет DHCP Client List. Там трябва да видите вашата платка Parallella и нейния IP адрес.

С този IP адрес можете да SSH в Parallella и да настроите статичен IP адрес.

Стъпка 14: Свързване към Parallella Board със SSH

Забележка: За този раздел [default_IP] е динамичният IP адрес, който сте намерили в DHCP Client List.

Проверете връзката към платката

$ ping [default_IP]

SSH в дъската за първи път (паролата по подразбиране е паралелна)

$ ssh paralella@[default_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

шлюз 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 оторизирани_ключове

за i в `seq 0 24`; do j = $ (ехо $ i | awk '{printf "%02d / n", $ 0}');

ssh-keyscan NOPA $ J >> известни_хостове; Свършен

Стъпка 17: Инсталиране на Sshfs

- Използването на sshfs позволява споделяне на файлове между дъските в клъстера. Изпълнете следната команда:

$ sudo apt -get install -y sshfs

- Проверка за / Създаване на група предпазители

Проверете дали съществува група предпазители:

$ cat /etc /group | grep "предпазител"

Ако групата съществува, изпълнете следната команда

$ bash sudo usermod -a -G предпазител паралела

- Ако групата не съществува, създайте я и добавете потребителя към нея

$ sudo groupadd предпазител

$ sudo usermod -a -G предпазител паралела

- Декомментирайте реда user_allow_other във файла fuse.config

$ sudo vim /etc/fuse.conf

Стъпка 18: Конфигурирайте NFS папка

- Променете файла /etc /fstab

$ sudo vim /etc /fstab

- Заменете съдържанието с текста, показан по -долу

# [файлова система] [точка на монтиране] [тип] [опции]

sshfs#parallella@NOPA01:/home/parallella/DEMAC_nfs/home/parallella/DEMAC_nfs fuse comment = sshfs, noauto, потребители, exec, rw, uid = 1000, gid = 1000, allow_other, повторно свързване, transform_symlinks, BatchMode = да, непразно, _netdev, identityfile =/home/parallella/.ssh/id_rsa, default_permissions 0 0

Стъпка 19: Свържете платката към превключвателя

Поставете превключвателя под клъстера или някъде наблизо, използвайте Ethernet кабели, за да свържете платката, която вече сте конфигурирали към превключвателя. Можете също да свържете превключвателя и компютъра си към рутера, за да получите достъп до клъстера.

Трябва да можете да пингвате и ssh в платката, която сега е свързана към превключвателя със статичен IP.

Можете също да добавите IP и име на хост към вашия /etc /hosts файл. Ще можете да използвате името на хоста за свързване, вместо да въвеждате целия IP адрес.

Стъпка 20: Повторете стъпки 11 до 19 за всяка дъска

Следвайте процедурата за конфигуриране на операционната система и мрежата за всяка платка.

>> Важна забележка: Използвайте различни хостове и IP за всяка дъска! Те трябва да бъдат уникални чрез мрежата! <<<

Стъпка 21: Свържете периферни устройства

Свържете периферни устройства!
Свържете периферни устройства!

Уверете се, че вентилаторът работи:

Уверете се, че вентилаторът се захранва и въздушният поток навлиза навътре в корпуса на платката. Връзката трябва да бъде стабилна и независима от други елементи. Не забравяйте, че дъските могат да прегреят, ако не се охлаждат правилно.

Уверете се, че платките са свързани към превключвателя:

На този етап трябва да сте конфигурирали всяка платка независимо. Платките също трябва да бъдат свързани към превключвателя. Ръководството на превключвателя трябва да предоставя информация, която може да се използва за проверка дали процесът на стартиране е завършен правилно, може да има някои светодиоди, които показват състоянието.

Свържете дъските към захранването:

Използвайте кабела micro-USB към USB-A, за да свържете всяка от платките към USB концентратора. Можете да маркирате портовете или да дефинирате ред в случай, че трябва да изключите една платка.

Стъпка 22: Приложете Power

1. Вентилаторът трябва да работи.

2. Платките трябва да бъдат свързани към Ethernet превключвателя.

3. Проверете дали платките са свързани към USB концентратора.

4. Осигурете захранване на USB концентратора.

5. Активирайте DEMAC!

6. Печалба!

Стъпка 23: Софтуерни ресурси

MPI (интерфейс за предаване на съобщения)

MPI е комуникационен протокол за програмиране на паралелни компютри. Поддържат се комуникация от точка до точка и колективна.

www.open-mpi.org/

OpenMP (Open Multi-Processing)

Интерфейсът за програмиране на приложения (API) OpenMP (Open Multi-Processing) поддържа многоплатформено многопроцесорно програмиране със споделена памет в C, C ++ и Fortran на много платформи. Състои се от набор от директиви на компилатора, библиотечни процедури и променливи на средата, които влияят върху поведението по време на изпълнение.

www.openmp.org/

Софтуер на Parallella

Разработчиците предоставят софтуерен стек с отворен код, включително SDK за взаимодействие с ускорителя.

www.parallella.org/software/

Можете също да намерите Ръководства и по -подробна информация.

Те също имат хранилища на GitHub:

github.com/parallella

Чувствайте се свободни да изтеглите и стартирате някои от примерите, един от любимите ми е играта на живота, базирана на известната игра на живота на Конуей.

Отказ от отговорност: Определенията могат да бъдат копирани от wikipedia

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