Программное обеспечение можно скачать здесь: http://linux-cluster.org.ru/download/
Tux Tux

Кластер
Практическое руководство по параллельным вычислениям

Предыдущая страница Следующая страница
ЗАПУСК SLAVE-ПРОЦЕССОВ НА УЗЛАХ КЛАСТЕРА

Вне зависимости от того, написана ли параллельная программа в виде одного исполняемого модуля, содержащего программные ветки для родительского процесса и ветки для slave-процессов, которые будут исполняться на дополнительных узлах кластера, или slave-процессы оформлены в виде отдельных программ, существует одно общее правило, выполнение которого необходимо для успешного запуска параллельной задачи. Копии скомпилированных исполняемых файлов задачи должны иметься на всех узлах кластера и располагаться в одном и том же месте (для нашего случая в каталоге /pvm3/bin/LINUX/).

В наиболее простом случае, когда на всех узлах кластера установлена одна и та же копия операционной системы (одинаковые версии ядра, библиотек и т.д.), выполнить это условие можно следующим образом. Компиляция программы из исходных кодов осуществляется на главном компьютере кластера (консоли кластера), после чего происходит копирование исполняемых модулей в файловые системы узлов кластера. Поскольку узлы кластера уже связаны друг с другом по протоколу SSH (помните, при настройке PVM мы сделали замену rsh на ssh?), видится разумным использовать для копирования именно этот протокол. Использование SSH для копирования позволит нам не устанавливать дополнительное программное обеспечение тип NFS или распределенной файловой системы. Для автоматизации процесса копирования требуется обеспечить возможность беспарольного доступа по SSH к узлам кластера с консоли кластера. Рассмотрим случай, когда кластер состоит из консоли кластера и четырех узлов (node1, node2, node3 и node4), система PVM установлена в каталог /pvm3 и названия узлов прописаны в файле /etc/hosts:

# file /etc/hosts
192.168.1.1	server.mydomain.com	server
192.168.1.2	node1.mydomain.com	node1
192.168.1.3	node2.mydomain.com	node2
192.168.1.4	node3.mydomain.com	node3
192.168.1.5	node4.mydomain.com	node4

В этом случае для копирования можно предложить следующий простой скрипт:

#!/bin/sh
#
#  Скрипт clcopy.sh
#  Копирование исполняемых модулей на узлы кластера
#
user=`whoami`
for node in node1 node2 node3 node4; do
     scp $1 $user@$node:/pvm3/bin/LINUX/ >/dev/null 2>&1
     echo "File $1 sent to node $node"
done
echo "All done"

При наличии этого скрипта пересылка исполняемого файла на все узлы кластера выполняется следующей командой:

yuri@server>clcopy.sh myprog

Предыдущая страница Следующая страница

Оглавление

Download

Полезные ссылки

 

Rambler's Top100

Cчетчик

УралWeb. Регион в интернете