[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