Hyperthreading slowdown
Richard Coleman
richardcoleman at mindspring.com
Sat Oct 4 14:54:47 PDT 2003
Kris Kennaway wrote:
> On Sat, Oct 04, 2003 at 03:20:03PM -0400, Richard Coleman wrote:
>
>>Kris Kennaway wrote:
>>
>>>On Sat, Oct 04, 2003 at 04:39:03PM +0200, Mikulas Patocka wrote:
>>>
>>>>I installed FreeBSD 4.9RC1 on P4 3GHz with hyperthreading and I see
>>>>drastic slowdown when kernel with hyperthreading is booted. For example
>>>>program compilation took this time:
>>>>
>>>>hyperthreading kernel, make -j 1 --- 1:09
>>>>hyperthreading kernel, make -j 2 --- 0:42
>>>>singlethreading kernel, make -j 1 --- 0:45
>>>>singlethreading kernel, make -j 2 --- 0:41
>>>>
>>>>Compilation does very few system calls so when I compile with only one
>>>>process (-j 1), it should be as fast as with singlethreading kernel. Do
>>>>you have any idea why is it so slow?
>>>
>>>Do you realise that hyperthreading != a secret extra CPU in your system?
>>>
>>>Kris
>>
>>I didn't see anywhere in the message where he implied that. To me, the
>>interesting thing is that there is such a larger difference between the
>>compile time for -j1 and -j2 when using hyperthreading as compared to
>>the difference between -j1 and -j2 for a single threaded kernel. It's
>>over a 50% slowdown.
>
>
> Yes, that's because (as discussed in the archives) the kernel treats
> it like an extra, completely decoupled physical CPU and schedules
> processes on it without further consideration. This is presumably the
> cause of the slowdown, because it's only efficient to use the virtual
> CPU under certain workload patterns. HTT is not magic performance
> beans.
>
> Kris
Sigh. No one is claiming HTT is magic performance beans. The 50%
slowdown I'm talking about is between -j1 and -j2 BOTH ARE WHICH ARE
USING HTT.
It's just an interesting observation. That's all.
Richard Coleman
More information about the freebsd-hackers
mailing list