Variability in Xenode parallelization test results
Since the physical server is shared, any other CPU usage appears as a slower test in my results - sometimes taking 4 times as long as the minimum time. Re-running the same test repeatedly yields varying times, yet with a floor minimum time (presumably when the hardware CPUs are all available).
There seem to be two ways to reduce the testing uncertainty.
1) I repeat the tests many times, taking the minimum test time as the result. This slows down testing and takes away resources from other users, so I don't like this method at all. I can never be sure that I've hit a time when all CPUs were avaiable to me, and the only way to reduce this uncertainty is to repeat the tests more and more often for a greater statistical sampling.
2) Force my share of the Xenode CPU utilization to minimum. This reduces CPU availability uncertainty to zero (they will never run any slower than this), so I only run my tests once. This also has the absolute minimum possible impact on other users. So I like this method.
How can I force my Xenode to minimum CPU share? Is there a way?
James
5 Replies
@zunzun:
How can I force my Xenode to minimum CPU share? Is there a way?
I don't think it's possible; most OSes (including probably Xen) won't leave the CPU idle when there's a runnable domain.
@OverlordQ:
Well your best solution is to use a good testing method, ala not run it on a shared machine.
Can I borrow one of your multi-core servers for testing?
James
@bdonlan:
I don't think it's possible; most OSes (including probably Xen) won't leave the CPU idle when there's a runnable domain.
Allow me to rephrase the question: Could it be set it to use no more than my minimum share?
James