бесконечное ожидание во время запуска openMPI на кластере серверов?

Я успешно установил ssh без пароля между серверами и моим компьютером. Существует простая программа openMPI, которая хорошо работает на одном компьютере. Но, к сожалению, когда я пытаюсь это сделать в кластере, я не получаю запрос пароля (поскольку я настроил авторизацию ssh), и выполнение не продвигается вперед.

Hostfile выглядит так,

# The Hostfile for Open MPI

# The master node, 'slots=8' is used because it has 8 cores
  localhost slots=8
# The following slave nodes are single processor machines:
  [email protected] slots=8 
  gautam@srvgrm04 slots=160

Я запускаю программу Hello World MPI в кластере,

int main(int argc, char *argv[]) {
  int numprocs, rank, namelen;
  char processor_name[MPI_MAX_PROCESSOR_NAME]; 
  double t;
  MPI_Init(&argc, &argv);
  t=MPI_Wtime();    
  MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
  MPI_Get_processor_name(processor_name, &namelen);

  printf("Process %d on %s out of %d\n", rank, processor_name, numprocs);
  MPI_Finalize();
}

а я так бегаю mpirun -np 16 --hostfile hostfile ./hello

при использовании опции -d журнал выглядит следующим образом:

[gautam@pcys33:~/LTE/check ]% mpirun -np 16 --hostfile hostfile -d ./hello
[pcys33.grm.polymtl.ca:02686] procdir: /tmp/[email protected]_0/60067/0/0
[pcys33.grm.polymtl.ca:02686] jobdir: /tmp/[email protected]_0/60067/0
[pcys33.grm.polymtl.ca:02686] top: [email protected]_0
[pcys33.grm.polymtl.ca:02686] tmp: /tmp
[srvgrm04:77812] procdir: /tmp/openmpi-sessions-gautam@srvgrm04_0/60067/0/1
[srvgrm04:77812] jobdir: /tmp/openmpi-sessions-gautam@srvgrm04_0/60067/0
[srvgrm04:77812] top: openmpi-sessions-gautam@srvgrm04_0
[srvgrm04:77812] tmp: /tmp

по логам можно сделать вывод?


person Ankur Gautam    schedule 11.07.2013    source источник
comment
Может быть, попробовать от -d до mpirun, чтобы понять, что происходит.   -  person Zulan    schedule 12.07.2013
comment
я отредактировал, чтобы содержать журнал, когда я попробовал опцию -d с запуском!   -  person Ankur Gautam    schedule 12.07.2013
comment
Вы уверены, что hello существует на всех узлах и находится по одному и тому же пути файловой системы? Судя по всему, демон ORTE успешно запускается на втором узле, хотя отсутствие pcys13.grm.polymtl.ca в журнале может указывать на проблему с подключением к нему (или это псевдоним для srvgrm04?). Кстати, вам не нужно указывать имена пользователей в файле хоста, если они совпадают с именами на главном хосте.   -  person Hristo Iliev    schedule 20.07.2013
comment
поскольку каждый узел имеет одну и ту же файловую систему с одинаковой аутентификацией, я думаю, привет будет существовать на всех из них. У меня включен ssh без пароля, и я могу получить доступ к другим компьютерам через ssh. Я также пробовал с хост-файлом, не имеющим имени пользователя с соответствующим узлом.   -  person Ankur Gautam    schedule 20.07.2013
comment
Предполагаю ли я что-либо изменить в коде, чтобы он работал на кластере серверов? Я использовал 32 процесса на одном сервере и работает хорошо. Или нужно что-то указать для балансировки нагрузки между узлами? Пожалуйста помоги   -  person Ankur Gautam    schedule 22.07.2013
comment
У меня есть некоторые выводы относительно проблемы. Не могли бы вы взглянуть на это? stackoverflow.com/questions/17820445/   -  person Ankur Gautam    schedule 24.07.2013


Ответы (1)


Вам просто нужно отключить брандмауэр каждой машины

person user3109816    schedule 17.12.2013
comment
Это должен быть комментарий - person insomniac; 17.12.2013