1 1 Конфигурация кластера MPICH

В отличие от PVM описание кластера выполняется не командами системы, а посредством редактирования соответствующего конфигурационного файла. Для Linux-системы это файл /usr/local/mpich-1.2.6/ch_p4/share/machines.LINUX. Этот файл содержит простое перечисление компьютеров, входящих в кластер и может выглядеть следующим образом:

server
node1
node2.mydomain.com
192.168.1.33
node4:2

То есть, может использоваться либо краткое имя узла, либо доменное имя узла, либо его ip-адрес. Правило: одни узел - одна строчка. В описании узла "node4" в примере был использован модификатор ":2". Это означает, что в качестве четвертого узла используется двухпроцессорная (SMP) машина.

Файл machines.LINUX должен быть одинаковым на всех узлах кластера. (В действительности это не так. Различием этого файла можно задавать более сложную структуру кластера, но в данной книге мы будем рассматривать наиболее простые варианты использования виртуальных параллельных машин.)

Для проверки работоспособности MPI необходимо запустить скрипт /usr/local/mpich-1.2.6/ch_p4/sbin/testmachines:

/usr/local/mpich-1.2.6/ch_p4/sbin/testmachines -v LINUX

В качестве единственного параметра должна быть указана архитектура проверяемых машин кластера (в нашем случае LINUX). В случае нормального завершения всех тестов вывод на консоль должен иметь примерно следующий вид:

[yuri@server sbin]# ./tstmachines -v LINUX
Trying true on server ...
Trying ls on   server   ...
Trying user program on   server   ...
Trying true on node1 ...
Trying ls on  node1  ...
Trying user program on  node1  ...
Trying true on node2 ...
Trying ls on  node2  ...
Trying user program on  node2  ...
[yuri@server sbin]#

Скрипт tstmachines, пытаясь проверить доступность узла кластера, последовательно пытается запустить на нем программы /bin/true, /bin/ls и некую пользовательскую программу /usr/local/mpich-1.2.6/ch_p4/sbin/tstfoo. Когда я устанавливал MPI на своих компьютерах, у меня неожиданно возникли проблемы с этой программой. Система ее попросту не находила. Мне пришлось самостоятельно скомпилировать эту программу и положить полученный исполняемый файл в каталог /usr/local/mpich-1.2.6/ch_p4/sbin/ на всех узлах кластера. Исходный текст программы tstfoo на языке C выглядит так:

main() {return 0;}


Copyright © 1998-2011 Юрий Сбитнев