Design patterns in MPI: sleep root process on blocking send and proper load balancing

437 views
Skip to first unread message

kevin....@gmail.com

unread,
Sep 14, 2014, 3:59:30 PM9/14/14
to mpi...@googlegroups.com
Hi All,

Please see the post I just made to Stack Overflow for the problem description [0].

After thinking on this some more, I thought it appropriate to message this list as well. Particularly with regard to sleeping the root process while waiting to make a blocking Send/Recv.

How often does the root process poll the destination process for availability to make a blocking Send? Is there a parameter I can pass Send() to tell it to sleep for N seconds before retrying to Send() again? Am I looking at this problem incorrectly?

Thanks,
Kevin

[0] https://stackoverflow.com/questions/25837051/design-patterns-in-mpi-sleep-root-process-on-blocking-send-and-proper-load-bala

Lisandro Dalcin

unread,
Sep 15, 2014, 4:11:39 AM9/15/14
to mpi4py
On 14 September 2014 22:59, <kevin....@gmail.com> wrote:
> Hi All,
>
> Please see the post I just made to Stack Overflow for the problem
> description [0].
>
> After thinking on this some more, I thought it appropriate to message this
> list as well.

Well, you question is not really related to mpi4py, but anyway...

>
> How often does the root process poll the destination process for
> availability to make a blocking Send?

This depends on the backend MPI implementation. Some implementations
have configure or runtime options outside the scope of the MPI
standard to tune the behavior.

> Is there a parameter I can pass Send()
> to tell it to sleep for N seconds before retrying to Send() again? Am I
> looking at this problem incorrectly?
>

No, there is no such API.

>
> [0]
> https://stackoverflow.com/questions/25837051/design-patterns-in-mpi-sleep-root-process-on-blocking-send-and-proper-load-bala
>

I think the answer there is basically the right thing to do. However,
I would sleep much less than a second, let say 0.01 seconds or even 1
millisecond. Moreover, perhaps you can manage to do some processing in
the root instead of sleeping.


--
Lisandro Dalcin
============
Research Scientist
Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)
Numerical Porous Media Center (NumPor)
King Abdullah University of Science and Technology (KAUST)
http://numpor.kaust.edu.sa/

4700 King Abdullah University of Science and Technology
al-Khawarizmi Bldg (Bldg 1), Office # 4332
Thuwal 23955-6900, Kingdom of Saudi Arabia
http://www.kaust.edu.sa

Office Phone: +966 12 808-0459
Reply all
Reply to author
Forward
0 new messages