I am very new to the concept of MPI, and have only recently begun researching it. I have a very basic question about the way MPI works.
How exactly does MPI distribute user-created applications (binary code) over a network? Does it actually copy the binary into the local memory of each node, and execute it? If so, doesn't this put serious restrictions on the heterogeneity of the network? For example, in order to run a distributed application (compiled with gcc) over a typical Linux cluster, you'd need to make sure that each node has the same version of glibc, or there could be issues running the binary. Any information would be greatly appreciated.