Messages in this thread | | | Subject | Re: Hyperthreading on 4 core CPU DECREASES performance??? | From | Ben Gamari <> | Date | Wed, 28 Oct 2009 20:44:38 -0400 |
| |
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@lxorguk.ukuu.org.uk> 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
| |