Alberto Guillén Perales

Departamento de Arquitectura y Tecnología de Computadores

aguillen - atc.ugr.es

How to setup a OpenMPI grid and use it with MATLAB

This is an step-by-step guide to set up your own grid and run your MATLAB programs that call MPI functions (we will use the OpenMPI implementation, however, the tutorial should not differ significantly for other implementations):

1) The hardware


For this tutorial, I will use a mini-cluster: root node connected through a switch with another machine. The root node will share the Internet connection to connect to other root nodes.

2) The OS


As you can imagine, I will use Linux, more concretly, Ubuntu 10.10 in the three machines I will connect. The differences with Fedora-like distribution is the tool to install the packages: apt-get for Ubuntu, yum for Fedora.

3) Configuring the firewall


This a quick guide so, in other to keep safe our grid since it will be connected to the world, we must use a firewall. I recomend firestarter for Ubuntu (Fedora has its own firewall manager). This program manipulates the ip-table files in a very fast and simple way.

Install firestarter in the machines: sudo apt-get install firestarter
Make the traffic restrictive by default
Share the connection with other machines (use DCHP)

In the local nodes, install firestarter as well and allow all connections from the root node (use IP addresses). If you have problems going "outside" edit your /etc/resolve.conf file and include the DNS servers that the root node has.

Install openssh-server on all machines (openMPI will use ssh connections)
Generate rsa key
ssh-key-gen rsa (revisar)
copy key to the machines: -> no password is asked
ssh-copy-id -i id_rsa.pub NODEIP

STILL WORKING... I HAVE A DEADELINE IN 9 DAYS!!!!!