Newsgroups: comp.parallel.mpi
From: lusk@mcs.anl.gov (Rusty Lusk)
Subject: Re: MPI listener
Organization: Math and Computer Science, Argonne.
Date: 28 Oct 1995 03:32:04 GMT
Message-ID: <46s87k$dn0@milo.mcs.anl.gov>

In article <46po23$n24@azure.acsu.buffalo.edu>, xinchen@acsu.buffalo.edu (Xin
Chen) writes:
|> Hi, 
|> 
|> I have a question about the MPI listeners. Why MPI needs a
|> listener there all the time as long as the application
|> processes are running?   Do MPI listeners monitor the port
|> and check if there are some incomming messages? If it is
|> true, how the listeners communicate with the application
|> processes? i.e. how to pass the incomming messages to the
|> application processes? If not, what is the purpose of MPI listener? 
|> I checked the p4_sock_list.c and listener_p4.c, but I
|> cannot find any clue. I hope you can help me. Thank you!
|> 

The "listener" processes you are referring to are not a feature of MPI, or
even of MPICH, but only of one of the many devices that MPICH can be
configured for.  The ch_p4 device, which is the current heterogeneous
workstation network version, uses "listener" processes with known network
addresses to allow dynamic establishment of connections during run time, to
conserve socket resources.  They have no other job, and so consume little if
any time.  A new device under development now will arrange things so that they
consume less swap space.  (Currently they are forked from the user's program,
and so can be large.)  Listeners communicate with their client processes
through interrupts and a pipe.  They are used only to establish new socket
connections, not for processing messages.

Rusty

