Jens wrote:
Hi Terry,
I would like to run a paraview-server all time on our cluster (even
though it is not in use 24h) - but this would simply result in some kind
of "heating-thread".
Even though it has (in theory) no impact on the node performace (which
is part of a grid-engine), it would simply result in some kind of
"heating-thread" which is not a nice idea.
Further (and you can test this), it doesn't yield 100% effectively.
E.g., even if you had other processes ready and eager to consume the
CPU, it seems (based on my tests) that a waiting/yielding OMPI process
won't give up the CPU very well. E.g., maybe only 50%.
An MPI implementation could be more cautious. E.g., it could put a
process to sleep and poll only occasionally for in-coming messages or
have some other way of waking up when needed.
The trade-offs are:
*) the more you give up the CPU, the longer it takes to wake up
*) the more control over this trade off you give to the user, the more
the user needs to understand the tradeoffs
*) the more control you want to allow, the more complex the MPI
implementation
Regarding the last one, I think OMPI only allows aggressive or else
yield. No sleep.