[MPICH] Mixing MPI
John Robinson
jr at vertica.com
Wed Dec 21 09:05:27 CST 2005
Our application forks new processes off a normal TCP socket
connnect/fork listener process, which then MPI_Init and connect to a
cluster over MPI using connect/accept calls. Multiple of these frontend
processes talk to the cluster at the same time (multi-threaded
processes). So we have in effect a client/server model within the
cluster. The connect/merge semamtics are an adequate model of a TCP
listen/fork model for cluster communication. We have the client as
process 0 after the MPI merge and it sequences the cluster protocol with
broadcast commands.
I found it quite easy to get this working.
/jr
---
David Minor wrote:
> What I did is create a server that communicates with it's clients using
> sockets. It is also the MPI rank 0 process. It has a separate thread
> that handles the sockets from the threads that handle the MPI calls.
> This is over simplistic but MPI wasn't really designed for this kind of
> work (unfortunately).
> David
>
> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of andy
> Sent: Monday, December 19, 2005 12:32 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] Mixing MPI
>
> I am writing a server program using MPI and other packages which use
> sockets and pipes and the like. I have had a ponder and a google but
> cannot see how to introduce MPI to the server using something like the
> unix select() to avoid polling. Can I get hold of file descriptors? Or
> am I simply looking at what must be a fairly common task in the wrong
> way? Thanks for any suggestions.
>
More information about the mpich-discuss
mailing list