Indipendentemente dalla libreria, dalla lingua o dalle specifiche, le operazioni di invio / scrittura asincrone hanno senso per me, poiché il codice più avanti nel percorso di esecuzione potrebbe non avere alcuna dipendenza dal successo o dall'errore dell'operazione di scrittura.
Tuttavia, le operazioni di ricezione / lettura asincrone non sono motivate per me.
Qualcuno può suggerire situazioni specifiche o schemi generali in cui è utile la ricezione dei messaggi asincroni?
Contesto
La mia domanda è richiesta dalle specifiche MPI, ma più generale è la risposta, meglio è. Nello specifico, ci sono blocchi di chiamate per comunicare tra processi o macchine:
MPI_Send(...)
MPI_Recv(...)
e ci sono analoghe chiamate non bloccanti che accettano un parametro aggiuntivo MPI_Request *
per gestire le operazioni di invio / ricezione in modo asincrono:
MPI_Isend(..., &request)
MPI_Irecv(..., &request)