title: difference between MPI_Send() and MPI_Ssend()?
body: <p>I know <code>MPI_Send()</code> is a blocking call ,which waits until it is safe to modify the application buffer for reuse. For making the send call synchronous(there should be a handshake with the receiver) , we need to use <code>MPI_Ssend()</code> .
  I want to know the difference between the two. Suppose i need to send fix amount of Bytes among the processes , which one is supposed to take longer time ?<br>
  With me the code works well the MPI_Send() call but waiting indefinitely for MPI_Ssend().
  What could be the possible reasons ?</p>
  
  <p>And the most important thing is , i am pretty sure the data is being received at the receiving process when using <code>MPI_Send()</code> ,so this inference leads nothing in favor to wait for the handshake when using <code>MPI_Ssend()</code> .</p>
  
  <p>Or i can make a conclusion : with <code>MPI_Send()</code> you can send data to the self process but can't using <code>MPI_Ssend()</code> ?</p>