On Tue, Dec 11, 2007 at 08:36:42AM -0800, Andrew Friedley wrote: > Possibly, though I have results from a benchmark I've written indicating > the reordering happens at the sender. I believe I found it was due to > the QP striping trick I use to get more bandwidth -- if you back down to > one QP (there's a define in the code you can change), the reordering > rate drops. Ah, OK. My assumption was just from looking into code, so I may be wrong.
> > Also I do not make any recursive calls to progress -- at least not > directly in the BTL; I can't speak for the upper layers. The reason I > do many completions at once is that it is a big help in turning around > receive buffers, making it harder to run out of buffers and drop frags. > I want to say there was some performance benefit as well but I can't > say for sure. Currently upper layers of Open MPI may call BTL progress function recursively. I hope this will change some day. > > Andrew > > Gleb Natapov wrote: > > On Tue, Dec 11, 2007 at 08:03:52AM -0800, Andrew Friedley wrote: > >> Try UD, frags are reordered at a very high rate so should be a good test. > > Good Idea I'll try this. BTW I thing the reason for such a high rate of > > reordering in UD is that it polls for MCA_BTL_UD_NUM_WC completions > > (500) and process them one by one and if progress function is called > > recursively next 500 completion will be reordered versus previous > > completions (reordering happens on a receiver, not sender). > > > >> Andrew > >> > >> Richard Graham wrote: > >>> Gleb, > >>> I would suggest that before this is checked in this be tested on a > >>> system > >>> that has N-way network parallelism, where N is as large as you can find. > >>> This is a key bit of code for MPI correctness, and out-of-order operations > >>> will break it, so you want to maximize the chance for such operations. > >>> > >>> Rich > >>> > >>> > >>> On 12/11/07 10:54 AM, "Gleb Natapov" <gl...@voltaire.com> wrote: > >>> > >>>> Hi, > >>>> > >>>> I did a rewrite of matching code in OB1. I made it much simpler and 2 > >>>> times smaller (which is good, less code - less bugs). I also got rid > >>>> of huge macros - very helpful if you need to debug something. There > >>>> is no performance degradation, actually I even see very small performance > >>>> improvement. I ran MTT with this patch and the result is the same as on > >>>> trunk. I would like to commit this to the trunk. The patch is attached > >>>> for everybody to try. > >>>> > >>>> -- > >>>> Gleb. > >>>> _______________________________________________ > >>>> devel mailing list > >>>> de...@open-mpi.org > >>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel > >>> _______________________________________________ > >>> devel mailing list > >>> de...@open-mpi.org > >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel > >> _______________________________________________ > >> devel mailing list > >> de...@open-mpi.org > >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > > -- > > Gleb. > > _______________________________________________ > > devel mailing list > > de...@open-mpi.org > > http://www.open-mpi.org/mailman/listinfo.cgi/devel > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Gleb.