Boost logo

Boost Users :

Subject: [Boost-users] boost.mpi: architecture
From: Hicham Mouline (hicham_at_[hidden])
Date: 2010-11-22 16:59:47


Hello,

Following a couple of threads I posted here about MPI, I wish to thank Brian
B, Dave A, Matthias T, James S, Riccardo M for clarifications.
I have reached the following:
1. I am using the openmpi MPI impl.
2. openmpi doesn't allow to mix windows and linux boxes to be part of the
mpi communicator.
3. I have a GUI application. It is better that the GUI code/libs be not part
of the mpi processes at all.
4. Therefore, I need to have the GUI run in a separate process (a 1st
executable) and the mpi processes run a 2nd executable that will run the
calculations.
5. The GUI (on windows) would control a master mpi process which would then
dispatch tasks to the "slaves" mpi processes. slave and master run the same
executable (all on linux). This is cleaner.

This GUI application will need to send, to the master mpi process, the
static data that is loaded once and that the calculations will run on.
The GUI will probably need to launch the mpi runtime (ie. some rsh of
'mpirun -np x -host .... <calculator image>') and then after that connect to
the mpi master. I will need some custom code for this. Here it seems to me I
will have some duplication.

The data types the GUI will send to the master are the same types the mpi
master will send to the slaves.
I will need serialization also, and I guess some library to send messages
over the network (from gui to master mpi) boost::asio?
The objective is to keep the mpi processes clean of the gui code.

Is there a simpler way?

I've asked the same question on the OMPI forum as well:
http://www.open-mpi.org/community/lists/users/2010/11/14866.php

I appreciate any advice you can give,

regards,


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net