-   Linux - General (
-   -   Difference In Speed Among Several Distributions (

kaplan71 01-21-2009 08:27 AM

Difference In Speed Among Several Distributions
Hi there --

We are running a clustering solution that employs twelve blades. The first four blades are running CentOS 4.1, while the second group of four are running SuSE 10.3, and the the last four are running the SuSE 11.0 distribution.

The hardware platform for all systems are x86_64 and all but three of the blades are running dual multi-core processors. The majority are dual-core systems, while the last group are quad-core.

Users have been complaining about the quad-core systems running much slower than there single and dual-core counterparts. Here is an excerpt from one e-mail concerning this issue:


> Here is an example, if that helps. I ran identical simulations on [the] quad-core, dual-core, and single nodes. Here is the time breakdown for each:

real 1703m52.999s
user 1675m43.748s
sys 0m32.974s

real 2434m28.059s
user 2429m19.497s
sys 0m15.125s

real 2985m26.718s
user 1650m36.445s
sys 1m46.159s

The single-core takes longer than the dual-core, as expected, since it's processor is much slower. The quad-core takes a similar amount of CPU time as the dual-core but the wall time is much much longer.

All of the jobs started at the same time. Most of the jobs have logged 89 hours of cpu time, except a handful only have 61 hours of cpu time. This handful is the germany nodes. The time not spent in cpu is presumably spent in I/O, making the germanys 32% slower than expected.
I am checking into the hardware side of this issue. The question that I am asking may sound ridiculous, but I wanted to cover all possibilities: Is it possible the SuSE 11.0 distro, or specifically the kernel, coupled with the quad-core processor could result in a slower performance when compared to other distros running on single or dual-core processors?

Thanks for your patience in advance.

Agrouf 01-21-2009 09:51 AM

I believe it depends on the job. If there is only one thread, multiple cores don't help. If there are 2 threads, dual core helps, but not quad-core. That is, if the jobs are alone on the machine, which is never the case.
If your case, it looks like the quad-core actually takes less processor time to execute the job than both the dual and single core (1650m36.445s+1m46.159s vs 1675m43.748s+0m32.974s vs 2429m19.497s+0m15.125s), so indeed the quad-core has better performance, but not that much when compared to the dual-core. I suspect the job has 2 threads and does not take advantage of the quad-core that much.
The problem here is that the other resources (aside from the processor) are probably too limited? Let's say we have only one disk on the quad-core, each thread waits for resources from the disk. Then the quad-core won't help at all, because the disk is the limiting factor. While the thread is waiting for IO, the quad-core will work on other threads that may also access the disk. Actually, the more threads, the more long the queue for IOs will be. The quad-core may run more concurrent threads at the same time and each thread will be waiting for IOs, taking less processor time, but longer real time to execute, because it spends most time waiting for other threads to liberate IOs.

salasi 01-22-2009 05:08 PM

Do you have the respective clock speeds and processor types? Without that, it would be difficult to make a useful comment.

For the multi core devices, you should also check how heavily loaded the other cores are and what they are doing. This may have an impact on the i/o load from that system and that can have an impact.

And, for all of the devices, it would be good to check what else was running, just in case that has an i/o impact, even though it wouldn't impact the user time.

All times are GMT -5. The time now is 09:03 AM.