• Using nonblocking operations
  • Shifting data around
  • Exchanging data with MPI_Sendrecv