Оптимизация кластерной системы на базе PVM

Описание оборудования и предыдущей конфигурации программного обеспечения кластера.

Парк оборудования компьютеризированной лаборатории физического факультета состоит из 10 машин с процессорами: AMD ATHLON-64 X2 4200+, оперативной памятью: 2 ГБ, сетевым адаптером: 10/100/1000 Мб/с.

Процессор: ATHLON-64 X2 4200+ - является суперскалярным, содержит 3 декодера команд, теоретически позволяющих достичь пиковой производительности до 3-х операций за 1 такт в каждом ядре. Таким образом, для данного процессора, имеющего в своём составе 2 ядра и работающего на частоте 2.2 ГГц теоретический предел производительности составляет 3х2х2.2=13.2 GFlops. В данную кластерную систему входи всего 9 компьютеров, значит теоретически предел всего кластера равен 13.2х9=118.8 GFlops.

Предыдущая конфигурация программного обеспечения кластерной системы позволяла использовать пропускную способность сетевого интерфейса лишь на 10 Мб/с, что плохо сказывалось на производительности установки, когда на ней считались сильно связные задачи, требующие большого количества синхронизаций друг с другом.

Старая конфигурация программного обеспечения:

· Операционная система: Ubuntu Linux v.8.10

· Механизм коммуникации: внутренние механизмы связи PVM, основанные на стандартном транспортном протоколе.

· Интерфейс управления кластером: консоль PVM 3.4.2, GNU bash, version 3.2.48.

· Компилятор: GCC (GNU Compiler Collection) v.4.3.

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

1) Переустановка операционной системы.

Старая операционная система была заменена на более новую Ubuntu 9.10, с более новым ядром.

2) Установка и настройка PVM.

PVM версии 3.4.5. была скачана с официального сайта: http://www.netlib.org/pvm3/index.html. Распаковав скачанный архив в домашнюю папку пользователя (~/pvm3/). В конфигурационный файл командного интерпретатора bash (/etc/bash.bashrc) добавлены следующие строчки:

#pvm configuration

export PVM_ROOT=/home/root/pvm3

if [ -z $PVM_ROOT ]; then

if [ -d ~/pvm3 ]; then

   export PVM_ROOT=~/pvm3

else

   echo "Warning - PVM_ROOT not defined"

   echo "To use PVM, define PVM_ROOT and rerun your.bashrc"

fi

fi

if [ -n $PVM_ROOT ]; then

export PVM_ARCH=`$PVM_ROOT/lib/pvmgetarch`

export PATH=$PATH:$PVM_ROOT/lib/$PVM_ARCH # arch-specific

export PATH=$PATH:$PVM_ROOT/bin/$PVM_ARCH

fi

export PVM_PATH=$PVM_ROOT/bin/$PVM_ARCH

export PVM_DPATH=pvm3/lib/pvmd

export PVMHOSTFILE=/home/root2/.rhosts

       В системе установлен SSH. Для коммуникаций, PVM использует RSH или SSH, по умолчанию в файле конфигурационном файле для каждой операционной системы в PVM (например, для Linux 64-bit: ~/pvm3/conf/LINUX64.def), стоит RSH, но лучше использовать SSH. Для этого в этом файле нужно прописать значение переменной ARCHCFLAGS, параметр RSHCOMMAND должен содержать путь к команде SSH, например DRSHCOMMAND=\"/usr/bin/ssh\".

В каталоге /pvm3 выполняем команду для сборки и установки:

Make

По окончании ее работы PVM будет готова к использованию. (На одном из этапов выполнения, команда завершилась выходом с ошибкой из-за отсутствия библиотеки m4_1.4.13-2_amd64, которая необходимо было скачать через sudo apt-get install m4 из интернета.)

На этом процесс установки и настройки PVM завершен. Для удобства работы, данная конфигурация была скопирована на все узлы кластера.

Следующие действия проводились только на главном узле кластера.

       Выполнена процедура создания беспарольного доступа пользователя root2 с консоли кластера на узлы кластера по протоколу SSH. Беспарольный доступ обеспечит более комфортную работу в PVM. Так, отпадет необходимость вводить пароли доступа при добавлении каждого нового узла и при копировании исполняемых модулей в локальные файловые системы узлов кластера. Алгоритм обеспечения беспарольного доступа следующий:

а) Логинимся к консоли кластера: ssh root2@server

б) Переходим в каталог ssh: cd ~/.ssh

в) Генерируем rsa-ключи: ssh-keygen -t rsa

г) На вопрос задать имя файла жмем Enter - остается имя по умолчанию id_rsa.

д) На просьбу задать пароль жмем Enter два раза (второй раз для проверки).

е) Копируем публичный ключ на узел кластера: scp id_rsa.pub

ж) root2@phys1:~/.ssh

з) Логинимся к узлу phys1: ssh root2@phys1

и) Переходим в каталог ssh: cd ~/.ssh

к) Копируем публичный ключ: cat id_rsa.pub >> authorized_keys2

л) Отключаемся от узла phys1

м) Повторяем пункты 6-10 для остальных узлов кластера (phys2... physN).

После проведения вышеописанной процедуры пользователь "root2" сможет подключаться к узлам кластера с консоли кластера, не вводя свой пароль. Следует отметить, таким образом, обеспечивается беспарольный доступ только для одного пользователя и только в одном направлении: консоль кластера -> узлы кластера. И только для случая, когда root2 подключается к узлам кластера под своим именем.

    Также был установлен CSSH, для более комфортного управления всеми узлами кластера.

           Для автоматического подключения узлов кластера в PVM в файле ~.rhosts были указаны имена всех хостов, которые должны входить в кластер и подключаться автоматически при старте PVM. В данном файле они указываются по принципу одно имя хоста - одна строчка, также в этом же файле можно указать дополнительные особенности конфигурации PVM на узлах кластера, за более подробным описанием данного файла рекомендуется обратиться к руководству PVM.

           Для автоматической проверки конфигурации кластера в файл ~.pvmrc была введена команда conf. Данный файл PVM считывает построчно при запуске и исполняет все команды стоящие каждой строке, если она не начинается с символа комментария(#).

3) Установка и настройка XPVM.

Установка графической консоли проводилась только на главном узле кластера командой: sudo apt-get install xpvm.

Для автоматической регистрации хостов в XPVM в файл ~.xpvm_host необходимо добавить также как и в файл.rhosts имена хостов по тому же принципу.

Таким образом, новая конфигурация программного обеспечения:

· Операционная система: Ubuntu Linux v. 9.10 kernel 2.6.31-14

· Механизм коммуникации: внутренние механизмы связи PVM, основанные на стандартном транспортном протоколе.

· Интерфейс управления кластером: консоль PVM 3.4.5, GNU bash, version 4.0.33(1), SSH, CSSH, XPVM 1.2.5.

· Компилятор: GCC (GNU Compiler Collection) v. 4.1.1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: