[Решено] Torque + OpenMPI помогите разобраться
Доброго времени суток.
Создаем кластер. Установлены Torque и OpenMPI (собран с поддержкой pbs).
Один компьютер является сервером (запущен демон pbs_server) и 2 - клиентские машины (запущен pbs_mom)
Параметры сервера:
root @ ~ # qmgr -c 'p s' # # Create queues and set their attributes. # # # Create and define queue batch # create queue batch set queue batch queue_type = Execution set queue batch enabled = True set queue batch started = True # # Set server attributes. # set server scheduling = True set server acl_hosts = fis-215-1 set server operators = set server default_queue = batch set server log_events = 511 set server mail_from = adm set server scheduler_iteration = 600 set server node_check_rate = 150 set server tcp_timeout = 6 set server allow_node_submit = True set server auto_node_np = True set server next_job_number = 110
Определены следующие узлы:
root @ ~ # pbsnodes -a
node2
state = free
np = 2
properties = dualcore
ntype = cluster
status = opsys=linux,uname=Linux fis-215-2 2.6.29-gentoo-r5 #2 SMP Thu Jul 2 12:28:16 MSD 2009 i686,sessions=? 0,nsessions=? 0,nusers=0,idletime=0,totmem=1024464kb,availmem=992556kb,physmem=1024464kb,ncpus=2,loadave=0.00,netload=3032693,state=free,jobs=,varattr=,rectime=1248082297
node3
state = free
np = 2
properties = dualcore
ntype = cluster
status = opsys=linux,uname=Linux fis-215-3 2.6.29-gentoo-r5 #2 SMP Thu Jul 2 12:35:07 MSD 2009 i686,sessions=? 0,nsessions=? 0,nusers=0,idletime=0,totmem=4181228kb,availmem=4151944kb,physmem=1024464kb,ncpus=2,loadave=0.00,netload=2942243,state=free,jobs=,varattr=,rectime=1248082254На сервере пользователь testuser может добавлять задания в очередь по средствам qsub:
testuser @ ~ # echo "sleep 30" | qsub root @ ~ # qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- --------- - ----- 107.fis-215-1 script testuser 0 Q batch 108.fis-215-1 STDIN testuser 0 Q batch
Задания выполняются на нужной машине:
root @ ~ # qrun -H node2 108 root @ ~ # qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- --------- - ----- 107.fis-215-1 script testuser 0 Q batch 108.fis-215-1 STDIN testuser 0 R batch
Откомпилировал следующую программу:
root @ ~ # cat hello_world_mpi.c
#include <stdio.h>
#include <mpi.h>
int main (argc, argv)
int argc;
char *argv[];
{
int rank, size;
MPI_Init (&argc, &argv);
MPI_Comm_rank (MPI_COMM_WORLD, &rank);
MPI_Comm_size (MPI_COMM_WORLD, &size);
printf( "Hello world from process %d of %d\n", rank, size);
MPI_Finalize();
return 0;
}
root @ ~ # mpicc hello_world_mpi.c -o hello_world_mpi -gЗапускаю программу на кластере:
testuser @ ~ # cat script #!/bin/bash #PBS -l nodes=2:ppn=2,walltime=1:00:00 #PBS -S /bin/bash #PBS -o out #PBS -e err #PBS -N linpack cd /home/testuser/ /usr/bin/mpirun -n 2 ./hello_world_mpi testuser @ # qsub script
Задача ставится в очередь, но не при попытке ее запустить выдает ошибку:
root @ ~ # qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- --------- - ----- 109.fis-215-1 linpack testuser 0 Q batch
root @ ~ # qrun 107
qrun: Execution server rejected request MSG=cannot send job to mom, state=PRERUN 107.fis-215-1.vstu.edu.ru[/code]
Подскажите, пожалуйста, как грамотно настроить torque, чтобы openmpi распознавала хосты через него и отправляла эту задачу на выполнение всем свободным машинам?
- Для комментирования войдите или зарегистрируйтесь

Решено
Просто нужно было запустить pbs_sched.
Извините за беспокойство )