[mpich-discuss] Some questions on mpdman and sock channel

Chit-Kwan Lin cklin at eecs.harvard.edu
Tue Mar 11 18:24:06 CDT 2008


Hi folks,

I'm a newbie to MPICH2 and have been trying to get familiar with the
code.  I've got some questions and am hoping some kind soul will
enlighten me.

I'm working off the stable version 1.0.6p1 on Linux.

MPDMAN:

1.  I'm confused about why there is a sock pair between MPD and
MPDMAN.   What is this used for?
2.  There seems to be some relationship between MPDMAN and the ring
formed by the MPDs, but I am unclear what's going on.  Is the MPDMAN
somehow inserting itself into the MPD ring?  If so, is it taking the
lhs of its parent MPD and connecting it as its rhs; what happens to
its lhs?  It seems as though MPDMAN can send messages on the MPD ring?
3.  What's the intended meaning of entry_ifhn/entry_port?  What's
connected to the two ends?  I see that MPDMAN's lhsIfhn and lhsPort
are set to these, but why?
4.  Why is there a self.ring instance inside of MPDMAN?

I feel like a diagram of what is connected to what would really help
me understand this.

Sock channel:

I'm fundamentally confused about how MPI communication calls go
through the channel abstraction.  My understanding is that an MPI
program on one host can talk directly to another MPI program on
another host.  But if the MPI program only has a notion of "rank", how
does this get translated into IP address/port in the sock channel?
There must be some translation table somewhere, but I can't find it.

Can someone point me to where this is in the code? Alternately, if my
understanding is wrong, could someone please correct me?

Thanks much!
CK




More information about the mpich-discuss mailing list