Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] OMPI vs. network socket communcation
From: Terry Dontje (terry.dontje_at_[hidden])
Date: 2011-05-02 08:34:33

On 04/30/2011 08:52 PM, Jack Bryan wrote:
> Hi, All:
> What is the relationship between MPI communication and socket
> communication ?
MPI may use socket communications to do communications between two
processes. Aside from that they are used for different purposes.
> Is the network socket programming better than MPI ?
Depends on what you are trying to do. If you are writing a parallel
program that may run in multiple environments with different types of
performing protocols available for its use then MPI is probably better.
If you are looking to do simple client/server type programming then
socket program might have an advantage.
> I am a newbie of network socket programming.
> I do not know which one is better for parallel/distributed computing ?
> I know that network socket is unix-based file communication between
> server and client.
> If they can also be used for parallel computing, how MPI can work
> better than them ?
There is a lot of stuff that MPI does behind the curtain to make a
parallel applications life a lot easier. As far as performance MPI will
not perform better than sockets if it is using sockets as the underlying
model. However, the performance difference should be negligible which
makes all the other stuff MPI does for you a big win.
> I know MPI is for homogeneous cluster system and network socket is
> based on internet TCP/IP.
What do you mean by homogeneous cluster? There are some MPIs that can
work among different platforms and even different OSes (though some
initial setup may be necessary).

Hope this helps,

Terry D. Dontje | Principal Software Engineer
Developer Tools Engineering | +1.781.442.2631
Oracle *- Performance Technologies*
95 Network Drive, Burlington, MA 01803
Email terry.dontje_at_[hidden] <mailto:terry.dontje_at_[hidden]>