MPI кластер состоит из master узла и N
slave узлов.
Как создавать узлы, написано в ./images/README.txt
После того как N+1
виртуальная машина поднята, нужно настроить
MPI кластер. Для этого нужно заранее сформировать список из
IP адресов каждой виртуальной машине в кластере и представить
его в следующем виде:
<master node IP address>,<slave1 node IP address>, ...,<slaveN node IP address>
Далее по ssh нужно зайти на каждый узел MPI кластера и запустить
из папки scripts скрипт node_setup.sh
с двумя параметрами:
первый - это master или slaveM (где M - это номер slave узла),
а второй параметр - это описанный выше список IP адресов.
Исходный код скрипта node_setup.sh
находится данном репозитории в ./scripts/vm_configure/node_setup.sh
.
Заходим по ssh на master узел, помещаем MPI программу в
папку /home/mpiuser/cloud
(эта папка расшарена между всеми узлами
MPI кластера), компилируем программу в данной папке и запускаем на выполнение
следующей командой:
$ mpirun -np <number of processes> -hosts <list with domain names of cluster nodes> <name of MPI program>
В master образе есть пример MPI программы -> hello_world
.
См. README.md
в ./scripts/cluster
.
В папке tests можно найти примеры MPI программ, который запускались и проверялись на MPI кластере, состоящем из 2 виртуальных машин.