Asynchronous non-blocking MPI communications