| ||||||||||||||||
Прежде чем начать работу с кластером необходимо сформировать конфигурационный файл, описывающий машины, составляющие кластер и являющийся простым списком адресов компьютеров кластера. Этот файл понадобится команде mpirun при запуске программы. Для автоматического получения этого файла необходимо выполнить команду bccd-snarfhosts. После выполнения этой команды в домашнем каталоге пользователя bccd появится файл machines, который мы и будем использовать для запуска программ.
Для демонстрации/проверки работы кластера попробуем оттранслировать и выполнить простейшую
программу, реализующую алгоритм нахождения числа Для этого создадим в домашнем каталоге пользователя bccd директорию flops и поместим туда исходный текст нашей программы. Программу мы можем взять с винчестера, разделы котрого доступны через каталог /mnt/rw/discs или с дискеты, подмонтировав ее в какой-нибудь каталог. Далее компилируем эту программу:
cd ~/flops Для запуска полученного исполняемого модуля программу следует скопировать на все узлы кластера. Выполнить это можно с помощью команды: bccd-syncdir ~/flops ~/machines Это команда создает в каталоге tmp подкаталог со случайным названием, копирует туда содержимое каталога ~/flops и рассылает этот каталог по всем узлам кластера. В конце работы команда выводит на экран информацию о проделанной работе.
![]() В данном конкретном случае исполняемы модуль нашей программы был перенесен в каталог /tmp/66ec4433. Теперь мы готовы запустить параллельную программу на исполнение. Сделать это можно с помощью следующей команды: mpirun -np 3 -machinefile ~/machines /tmp/66ec4433/flops Этой командой ма запускаем программу на исполнение на трех процессорах из числа тех, что перечислены в файле ~/machines. Результатом работы нашей программы может быть следующее:
HPC Test --------------------------------------------- Number of processors = 3 Total time = 1.93351775 seconds Cluster speed = 930 MFLOPS Node 0 speed = 310 MFLOPS Node 1 speed = 311 MFLOPS Node 2 speed = 539 MFLOPS Из приведенного листинга видно, что мы запустили программу параллельно на трех компьютерах, два из которых - машины класса Intel Celeron 1.8GHz, и третья более мощная класса Pentium IV. Используемые компьютеры показали быстродействие порядка 300 и 540 MFlops (миллионов операций с плавающей точкой в секунду). Эффективное же быстродействие кластера оказалось почти 1 GFlops. Таким образом мы получили трехкратный выйгрыш в скорости. |
| |||||||||||||||