Guides Avoiding Unintended Synchronization Ensuring Progress for MPI Nonblocking Operations Minimizing Thread Contention using Communicator Objects Dynamic Sparse Data Exchange with MPI_IBARRIER