HyperThreading on Intel Xeon Haswell, a benefit?

Jia-Shiun Li jiashiun at gmail.com
Wed Dec 10 13:20:20 UTC 2014


On Tue, Dec 9, 2014 at 12:15 AM, Adrian Chadd <adrian at freebsd.org> wrote:
> I've found that a memcpy heavy load (read: normal, non-zero copy
> network traffic) brings SMT threads to their knees. A pair of threads
> gets as much work done in normal UDP transmit/receive as a single
> non-SMT thread. It looks like it's because the ports doing memory
> input/output are full and there's not really any other work that's
> being done.
>
> I think haswell still only has one store data port per core. :(

Yes, Haswell has an additional store addr but still only one store data unit.

http://www.tomshardware.com/reviews/core-i7-4770k-haswell-review,3521.html

But I guess they'd argue that they meant to saturate memory
channels with all available cores as possible first, and additional
threads are only for last resort. And that's probably what the most
schedulers do.

I benchmarked it on a 4th gen i3. Buildkernel got 5~10% benefit IIRC.
The best way to tell is still to conduct tests with your own workload.
If the claimed 5% transistor cost brings 10% benefits, that's already
a win. OTTH how much you paid for it is another story.


- Jia-Shiun.


More information about the freebsd-questions mailing list