
Philippe Vaucher wrote:
Then I saw this sentence from boost::mpi talking about it can work across several computers, and I wondered wether it could be possible to use it instead of rolling my own protocol for communication between the computers. For example, mpi would be of no use if there's no runtime-way to talk to a process on another computer... which is what the api *looks* like as I don't see any connect() or monitor_machine() or whatever api which would allow me to get the processes from another computer.
Thank you. Philippe
MPI based solutions are probably not the tool for what you want to do. Whether using boost.mpi or the underlying MPI libraries, your description of your problem does not sound like what MPI is designed to do. What MPI does is allow one computer to run processes on a cluster of computers. It starts those processes and facilitates communication between the processes. The typical usage is to have the same code running on each computer in the cluster, though it is also possible to runn different code on different boxes. These processes all run to completion during the MPI session. If I understand what you want to do, this is not a good match. I think you want to connect with and communicate with already running processes on other computers. Probably you also want to be able to end your session without ending the processes on the remote machines. This is not the usage MPI is built to do, so I don't think MPI (with boost.mpi, or by itself) is the tool for you. John Phillips