Re: Any thoughts on BEEP over MPI?
Sam Roberts <[email protected]> Tue, 25 Apr 2006 22:59:08 -0700
| Newsgroups | gmane.ietf.beep |
|---|---|
| Message-ID | <[email protected]> |
Quoting [email protected], on Sun, Apr 09, 2006 at 02:24:59PM -0400: > Marshall Rose wrote: > > >>I'm trying to figure out if MPI is a general enough message passing > >>protocol that you could implement BEEP over it, and whether it would > >>be a good idea. In particular, whether MPI could be faster than TCP. > >> > >>Any pointers or thoughts would be greatly appreciated. > > > > > >MPI = http://www-unix.mcs.anl.gov/mpi/standard.html ??? or something > >else? > > > Very odd thought. > > MPI is used widely as a message-passing API (particularly w/ C,C++ and > Fortran) for high performance computing HPC). The synchronous (2-way) > MPI is used much more widely than the 1-way (remote memory read/write) > enabled version. It supports user-space synchronous message-passing. > (There is also support, using immediate/nonblocking mode for > asynchronous messaging.) The bulk of MPI is oriented towards supporting > collective operations (e.g. all reduce) over a group of such processes > participating in point to point interactions with each other (grouped > together in a communicator). Not sure this is particularly relevant for > BEEP. > Why would you want to do this? Perhaps what you might be after is that > often HPC clusters are built over extremely high-performance > interconnects that are non-IP-based. For instance, ARMCI and LAPI, based > on infiniband/quadrics/myrinet/IBM Federation switches and other > network I/O cards Yes, exactly. Its not me in particular. I was making a "hallway pitch" to consider using BEEP to replace parts of the proprietary inter-machine protocols used by our application, and I got a bit of traction, but I keep hearing about a long-term goal of "using MPI because it will be faster than the TCP we currently use". > http://citeseer.ist.psu.edu/nieplocha99armci.html > http://www.emsl.pnl.gov/docs/global/papers/lapi.pdf > > (There is also GASNet, http://gasnet.cs.berkeley.edu/) > > So you might consider layering on top of these. I think there is some consideration of MPI, because its thought that it will theoretically allow us access in an API independent way to fast system interconnects. > What are you really after? I think its unlikely that MPI is a general purpose "fast" way of getting asynchronous messages between nodes, and I'd like to nip in the bud any suggestion that we can't consider BEEP because we'll be using MPI some time in the future. Or alternatively, be able to say that BEEP could run over MPI if we ever needed it to. Thanks a lot for your comments. Sam