Question for CPU utilization while while waiting with MPI_RECV under MS Windows

Question for CPU utilization while while waiting with MPI_RECV under MS Windows

Ritratto di YoungChul C.

Is it natural that an MPI process consumes a CPU (up to 100% of its utilization) under MS Windows while waiting with MPI_RECV?

I think that it should be in the sleep state before it receives a signal from the matching MPI_SEND.

I need some experts' comment on this.

- YoungChul Cho

2 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di Tim Prince

You have environment variables available in Intel MPI to control the time for which the receive wait loop spins before sleeping.  This feature may not be present in the Microsoft or MPICH2 implementations, as some of their experts have been vociferous about stating that wait loops should never be allowed to sleep, as they use spin wait to promote core locality as well as minimizing latency upon completion of receive.  The long spin wait may also help in some performance investigations.

If your cluster consists of single CPU nodes, or your application doesn't depend on data locality for performance, you might prefer a fairly short spin wait.

Accedere per lasciare un commento.