[MPICH2-dev] mpd client library and protocol?

Greg Watson gwatson at lanl.gov
Wed May 17 11:39:25 CDT 2006


Bill,

I'm not sure, since I still don't really understand the architecture.  
Can I use PMI to launch and control an MPI program on a cluster? Or  
is that something that will be available in the future? I would  
rather not have to provide a different program for each process  
manager, but cluster support is also essential.

Any information or documentation you can provide on the architecture  
and APIs would be appreciated.

Greg


On May 16, 2006, at 10:21 PM, William Gropp wrote:

> At 11:15 PM 5/16/2006, Greg Watson wrote:
>> Rajeev,
>>
>> Many thanks for your reply. Can you suggest the best approach if I
>> want to write a C program to control mpd? At a minimum, I'd like to
>> be able to spawn/terminate an MPI job using a C program. Is PMI what
>> I'd use to do this?
>>
>> Any documentation you could provide would be appreciated.
>
> An alternative is to not use MPD at all and to use the PMI  
> interface.  A C example of this is the "gforker" process manager;  
> this is built using a set of utility routines in mpich2/src/pm/util  
> that provide the "other" side of the simple PMI interface.  gforker  
> implements all of the PM functions, including spawning MPI jobs.   
> Let me know if this is the direction in which you are interested.
>
> Bill
>
>
>> Thanks,
>>
>> Greg
>>
>> On May 16, 2006, at 7:56 PM, Rajeev Thakur wrote:
>>
>>> Greg,
>>>
>>>> I assume that mpdlib.py is a client library that other applications
>>>> (i.e. other than mpiexec) could potentially use to communicate with
>>>> and/or control mpd.
>>>>
>>>> 1. Is there any API documentation?
>>>
>>> The API is the Process Manager Interface (PMI), which is the  
>>> interface
>>> MPICH2 uses for interacting with process managers. There is some
>>> documentation for it, which I could send you if you like (it may
>>> not be 100%
>>> up to date).
>>>
>>>> 2. Is there a C version of the client library?
>>>
>>> The PMI library is in C. It is implemented in src/pmi/simple/  
>>> simple_pmi.c.
>>>
>>>> 3. Is the mpd protocol documented anywhere?
>>>
>>> Not currently, but the plan is to :-).
>>>
>>>> 4. Is the protocol used by mpd the same as that used by smpd?
>>>
>>> No, they are different.
>>>
>>> Rajeev
>
> William Gropp
> http://www.mcs.anl.gov/~gropp




More information about the mpich2-dev mailing list