The difference is that MPI_Barrier or even MPI_Ibarrier is a crude tool for the job. It is likely to leave resources idle that could be doing productive work.
I agree it is part of the tool kit but if this kind of problem is significant enough so a textbook should cover it then I would advocate that people be taught where to look for the problem and to consider which tool to use. The first step is to look for way to improve load balance. The second step is to look for ways to impede as few processes as possible and only when they must be impeded. I am also suggesting that there is a middle class of application that improves with semantically redundant barrier. Applications with a significant design flaw that it would be better to find and fix than to mask. The MPI standard provides for a flow control to prevent eager message flooding but it does not provide a flow control for descriptor flooding. Descriptor flooding may even bring down a job and the standard does not oblige the MPI implementation to prevent that. This problem was understood from the beginning but it cannot be solved within the semantic rules for non-blocking Send/Recv. The options were to give the problem to the application writer or to say "A non-blocking operation will return promptly unless there is a resource shortage". Dick Dick Treumann - MPI Team IBM Systems & Technology Group Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601 Tele (845) 433-7846 Fax (845) 433-8363 users-boun...@open-mpi.org wrote on 09/10/2010 10:27:02 AM: > [image removed] > > Re: [OMPI users] MPI_Reduce performance > > Eugene Loh > > to: > > Open MPI Users > > 09/10/2010 10:30 AM > > Sent by: > > users-boun...@open-mpi.org > > Please respond to Open MPI Users > > Richard Treumann wrote: > > Hi Ashley > > I understand the problem with descriptor flooding can be serious in > an application with unidirectional data dependancy. Perhaps we have > a different perception of how common that is. > Ashley speculated it was a "significant minority." I don't know > what that means, but it seems like it is a minority (most > computations have causal relationships among the processes holding > unbounded imbalances in check) and yet we end up seeing these exceptions. > I think that adding some flow control to the application is a better > solution than semantically redundant barrier. > It seems to me there is no difference. Flow control, at this level, > is just semantically redundant synchronization. A barrier is just a > special case of that._______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users