[Решено] 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.
Извините за беспокойство )