[mvapich-discuss] MV2_USE_BLOCKING

Alex Breslow abreslow at cs.ucsd.edu
Tue Apr 8 22:57:23 EDT 2014


Hi Hari,

Yes.  I have the following scenario.  I am developing distributed system of
daemons targeted at supercomputers with infiniband interconnects and have
implemented it using a mix of C++ and MPI (MVAPICH2 IB v. 1.9).  The
daemons are launched as a single cohesive MPI program.  However, the
daemons are designed to share the compute nodes and time slice on cores
with production applications, and therefore must have the lowest possible
overhead in terms of CPU consumption.  For this reason, I have used
MV2_USE_BLOCKING parameter because I want the daemons to use as little CPU
time as possible, so polling is undesirable.

By contrast, for the production applications, I want them to run as fast as
possible, and so polling while awaiting a message is okay.  Thus, for the
applications, MV2_USE_BLOCKING=1.  Currently, I launch the production
applications from rank 0 of the distributed system of daemons.  I launch
the daemons with MV2_USE_BLOCKING=0, and then within rank 0 of the
distributed daemons I create a clean shell process per production
application, which calls mpirun_rsh with MV2_USE_BLOCKING=0.

This whole process appears to work, but I was thinking there might be an
easier way to do it.  Specifically,  I was thinking that I could use a
single mpirun_rsh invocation, whereby I spawn both the daemons and
production jobs in one go.  I would split the MPI_COMM_WORLD communicator
in to subcommunicators, one for the daemons and then one for each
application.  This would be accomplished by linking in a library.  However,
in this case, then according to what you have stated, I would have to
choose one value for MV2_USE_BLOCKING.

-Alex


On Tue, Apr 8, 2014 at 6:53 PM, Hari Subramoni <subramoni.1 at osu.edu> wrote:

> Hello Alex,
>
> Unfortunately, this is not possible. The setting is a global one across
> all processes.
>
> Could you please let us know your exact use case that makes such a
> behavior necessary?
>
> Regards,
> Hari.
>
>
> On Tue, Apr 8, 2014 at 7:49 PM, Alex Breslow <abreslow at cs.ucsd.edu> wrote:
>
>> Hi all,
>>
>> I had another question regarding MV2_USE_BLOCKING.  Is there anyway to
>> set it so that some ranks exhibit blocking behavior while others do not?
>>  For instance, I would like to specify that ranks 0-3 behave as if
>> MV2_USE_BLOCKING=0 while 4 - n behave as if MV2_USE_BLOCKING=1.  Let me
>> know if this is possible.
>>
>> Thanks,
>> Alex
>>
>> --
>> Alex Breslow
>> PhD student in computer science at UC San Diego
>> Email: abreslow at cs.ucsd.edu
>> Website: cseweb.ucsd.edu/~abreslow
>>
>> _______________________________________________
>> mvapich-discuss mailing list
>> mvapich-discuss at cse.ohio-state.edu
>> http://mailman.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>>
>>
>


-- 
Alex Breslow
PhD student in computer science at UC San Diego
Email: abreslow at cs.ucsd.edu
Website: cseweb.ucsd.edu/~abreslow
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cse.ohio-state.edu/pipermail/mvapich-discuss/attachments/20140408/42621034/attachment.html>


More information about the mvapich-discuss mailing list