blob: 691ae78c413b9e4050381e17457ece01ac1bfa18 [file] [log] [blame]
Mesos MPICH2 framework readme
--------------------------------------------
Table of Contents:
1) Installing MPICH2
2) Running the Mesos MPICH2 framework
=====================
1) INSTALLING MPICH2:
=====================
- This framework was developed for MPICH2 1.2 (mpd was deprecated
starting 1.3) on Linux(Ubuntu 11.10) and OS X Lion.
WARNING: MPICH2 later than 1.2 may not run on Mesos.
(You can configure newer version to include mpd,
but then mpdtrace may still be missing and
the executor script used for Mesos relies on it.)
- You can install MPICH2 from scratch. You can get MPICH2 as well as
installation directions here:
http://www.mcs.anl.gov/research/projects/mpich2/. This tutorial
follows the latter. Unpack the tar.gz and...
- To use MPI with Mesos, make sure to have MPICH2 installed on every
machine in your cluster.
Setting up:
-> Install and configure:
mac : ./configure --prefix=/Users/_your_username_/mpich2-install
ubuntu : ./configure --prefix=/home/_your_username_/mpich2-install
Then...
sudo make
sudo make install
-> Optional: add mpich binaries to PATH. You can specify the path to
installed MPICH2 binaries using mpiexec-meso's '--path' option
mac : sudo vim ~/.bash_profile
export PATH=/Users/_your_username_/mpich2-install/bin:$PATH
ubuntu : sudo vim ~/.bashrc
export PATH=/home/_your_username_/mpich2-install/bin:$PATH
-> Create .mpd conf file in home directory:
echo "secretword=nil" > ~/.mpd.conf
chmod 600 .mpd.conf
-> Check installation - these should all return the PATH's set above
which mpd
which mpiexec
which mpirun
=====================================
2) RUNNING THE MESOS MPICH2 FRAMEWORK
=====================================
Using/testing mpiexec-mesos:
-> Start a Mesos master and slaves
-> How to run a Hello, World! program (pass the -h flag to see help options):
mpicc helloworld.c -helloworld
./mpiexec-mesos 127.0.0.1:5050 ./helloworld
Paths to mesos, protobuf, and distribute eggs can be specified by setting
respective environment variables in mpiexec-mesos.