As discussed in Section 6.3.4 the MPI standard allows for two different implementations of the MPI_Send operation - one using buffered-sends and the other using blocked-sends. Discuss some of the potential reasons why MPI allows these two different implementations. In particular, consider the cases of different message-sizes and/or different architectural characteristics.