title: simultaneous send and receive using MPI
body: <p>I have a network where processes sends a random message to its neighbours and simultaneously receive messages from its neighbours.
  I'm able to do it using sockets and threads. One thread receives messages and another sends messages to a neighbour chosen randomly. Is it possible to achieve this using MPI_SEND and MPI_RECV?</p>