Even when "idle", MPI processes use all the CPU. I thought I remember
someone saying that they will be low priority, and so not pose much of
an obstacle to other uses of the CPU.
At any rate, my question is whether, if I have processes that spend most
of their time waiting to receive a message, I can put more of them than
I have physical cores without much slowdown?
E.g. With 8 cores and 8 processes doing real work, can I add a couple
extra processes that mostly wait?
Does it make any difference if there's hyperthreading with, e.g., 16
virtual CPUs based on 8 physical ones? In general I try to limit to the
number of physical cores.