Pull to refresh

Eclipse, MPICH и PTP для администратора. Настраиваем связку для работы с кластером

Reading time 2 min
Views 2.7K
Если блог не подходящий, подскажите, куда можно перенести

Для программирования «под кластер» существует определённое множество технологий, в которое входят такие гранды, как коммерческая Visual Studio, в версии 2010 которой программистами Microsoft была проведена гигантская работа, и свободно-распространяемый Eclipse, о котором и пойдёт речь.

Так, для Eclipse команда разработчиков активно развивает связку PTP & PLDT, всю информацию о которой можно найти на сайте.
Примечания для интересующихся:
* Рассмотрена компиляция проекта на C. Проект на С++ настраивается аналогично. Для Java не тестировалось.
* Руководство для администратора.

Вкратце, до хабраката:
* Eclipse должен быть соответствующим образом собран с необходимыми плагинами (PTP & PLDT);
* должна быть собрана имплементация MPI (в данном случае MPICH, но можно использовать и OpenMPI);
* MPICH запустит своего демона на вычислительных узлах (включая головной)


 Итак, для начала соберём необходимое ПО. Работать мы будем в Linux. 
Предварительно необходимо расшарить по NFS место, откуда будет запускаться MPICH, на все узлы. Это необходимо, так как MPICH должен запускать своего демона на всех узлах.

wget www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.2.1p1/mpich2-1.2.1p1.tar.gz
tar xvf mpich2-1.2.1p1.tar.gz
cd mpich2-1.1.1p1
./configure --prefix=/home/mpich
make
make install

Скачиваем Eclipse с eclipse.org, в данном случае Eclipse Galileo. Распаковываем в произвольное место и запускаем. 

Eclipse для работы с кластером использует Parallel Tools Platform (PTP) + Parallel Language Development Tool (PLDT). Их мы и установим с помощью Help->Install New Software.

Update site для PTP: download.eclipse.org/tools/ptp/releases/galileo

Выбираем необходимые опции (а необходимы на данном этапе только PTP, PLDT и Support For MPICH2) и устанавливаем плагин. Для окончания настройки плагина нужно установить ещё родной дебаггер, что и делаем:

cd /distr/soft/eclipse/plugins/org.eclipse.ptp.linux.x86_64_3.0.1.201002011019
sh BUILD

Если дебаггер установился (появилась подпапка bin), то переходим к следующему этапу — настройке MPICH2.

Создадим файл .mpd.conf и впишем в него секретное слово для организации «кольца» демонов MPICH2, которое будет использоваться демоном с узлов для коннекта к демону на головном узле
touch /etc/mpd.conf
Вписываем слово: MPD_SECRETWORD=someword
chmod 0700 /etc/mpd.conf
/home/mpich/bin/mpd -n --daemon
/home/mpich/bin/mpdtrace -l
С помощью mpdtrace получаем номер порта, на котором «повис» наш демон. Его мы и будем использовать для образования «кольца» MPICH2.
Распинаем файл с секретным словом на все узлы:
for i in `seq 1 []`; do scp /etc/.mpd.conf [name]$i:/etc/; done;
Запустим демонов:
/home/mpich/bin/mpd -h sblade -p [порт, который показал mpdtrace] --daemon

Проверим на головном узле, как прошла настройка:

sblade:~# /home/mpich/bin/mpdtrace -l 255/pts/5 [17:27:11]
sblade_44222 (192.168.101.101)
node2_33135 (192.168.101.2)
node3_43780 (192.168.101.3)
node1_36588 (192.168.101.1)

Если всё так, то настройка Eclipse, MPICH и PTP закончена. Для администратора.
Tags:
Hubs:
+4
Comments 6
Comments Comments 6

Articles