Re: Hyperthreading on 4 core CPU DECREASES performance???

From: Ben Gamari
Date: Wed Oct 28 2009 - 20:44:56 EST


Excerpts from Igor Chudov's message of Wed Oct 28 20:00:10 -0400 2009:
> On Wed, Oct 28, 2009 at 5:24 PM, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> > The win from HT depends a lot on the CPU and also the workload mix. In
> > some workloads it will decrease performance.
>
> OK, I think that I understand. Thanks.
>
> So, what you are basically saying is that there is no option to
> improve this behavior, right?
>
He was saying (correct me if I'm wrong) that SMT isn't necessarily a
win. For some workloads that utilize a variety of variety of processor
resources, Hyperthreading can help extract parellelism and improve
overall pipeline utilization. In many types of workloads, however, this
increased parallelism only results in increased cache, and TLB thrashing
and bandwidth contention. If your workload has a large cache footprint,
this will probably be a significant consideration. This problem is a
problem intrinsic to SMT and outside of the usual scheduling
considerations for cache-friendliness, there is little that the kernel
can do.

Whoever wrote that intelligent handling of multiple cores was a done
deal was lying. Certainly, the kernel is very good at scheduling
multiple cores, but using them in a way to extract performance is
completely up to the application and is by no means an easy task.

- Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/