Hyperthreading

  • Thread starter Thread starter ElJerid
  • Start date Start date
E

ElJerid

I recently noticed that while computing a SINGLE thread (encoding to MPG2),
the dual virtual cpu's never reach more than a total 54 % activity, and that
the application runs faster on a non-HT Pentium 4 @1.7 GHz than on an
HT-enabled P4 @ 2.8 GHz.
Can someone explain this or refer to a detailed article about this
experience?
I must add the test was done with W2K, that possibly doesn't benefit of all
the HT features. Should Win XP do the things better???
 
A single thread will only ever use 100% cpu time, which is 50% each. In
order to use 100% on both you need to have an application that splits its
work between 2 threads. So quite possibly it will run a slower with HT
enabled.

I'm not sure how it works exactly but maybe it works like 2 x 1.4 ghz
processors. So if you only have a single thread then maybe you are only
getting 1.4ghz worth of power. If this is true then ht is probably not worth
using and will actually be a significant drain on system performance. Most
of the time when an app is working flat out it is only using a single
thread.
 
A single thread will only ever use 100% cpu time, which is 50% each. In
order to use 100% on both you need to have an application that splits its
work between 2 threads. So quite possibly it will run a slower with HT
enabled.

I'm not sure how it works exactly but maybe it works like 2 x 1.4 ghz
processors. So if you only have a single thread then maybe you are only
getting 1.4ghz worth of power. If this is true then ht is probably not worth
using and will actually be a significant drain on system performance. Most
of the time when an app is working flat out it is only using a single
thread.

It definately isn't splitting the processor time internally like you
describe. Otherwise our newer 3.0 HT computers would be slower than
the old 2.0 non HT computer with single threaded applications. My
understanding is that the processor basically has two processor cores
in it and that it basically functions (in my case) as 2x-3.0Ghz. That
said, not all components are doubled (The floating point math unit is
one of those parts I think), so running two threads isn't always
twice as fast because some resources are shared.

-Tim
 
The processor cache is also shared. One review I read blames insufficient cache memory for the fact that some applications will run faster with hyperthreading turned off.

Tim said:
It definately isn't splitting the processor time internally like you
describe. Otherwise our newer 3.0 HT computers would be slower than
the old 2.0 non HT computer with single threaded applications. My
understanding is that the processor basically has two processor cores
in it and that it basically functions (in my case) as 2x-3.0Ghz. That
said, not all components are doubled (The floating point math unit is
one of those parts I think), so running two threads isn't always
twice as fast because some resources are shared.

-Tim

--

When replying by Email include NewSGrouP (case sensitive) in Subject

Mike Walsh
West Palm Beach, Florida, U.S.A.
 
It definately isn't splitting the processor time internally like you
describe. Otherwise our newer 3.0 HT computers would be slower than
the old 2.0 non HT computer with single threaded applications. My
understanding is that the processor basically has two processor cores
in it and that it basically functions (in my case) as 2x-3.0Ghz. That
said, not all components are doubled (The floating point math unit is
one of those parts I think), so running two threads isn't always
twice as fast because some resources are shared.

Have you tried this? The OP reported that it was slower on a 2.8 with ht than a 1.7 without ht. I also read an article in PC
Authority that said they decided not to use ht.
 
Michael Culley said:
Does it need it? I thought an OS that supports multiprocessor was enough.
Seems that this HT issue is generating some contradictions...
I did a lot of search on the net and the result there were about the same.
One says HT with single thread is slowing down the system, others say it
makes no difference, except for some overhead.
About Win 2000, there are also contradictions. Although "multiprocessor" is
NOT supported, hyperthreading is well supported (as reported on MS site).
Question is how to understand "supported". I believe the Microsoft message
is that it effectively works, but does not necessarely take full advantage
of HT, especially for single threads.
 
I think you have that backwards, with 2k multi-processor IS supported, hyperthreading is NOT.
 
Yes it does need it, multiprocessor and hyperthreading are not the same thing. XP is the only Windows OS that supports it.
 
ElJerid said:
Seems that this HT issue is generating some contradictions...
I did a lot of search on the net and the result there were about the same.
One says HT with single thread is slowing down the system, others say it
makes no difference, except for some overhead.
About Win 2000, there are also contradictions. Although "multiprocessor" is
NOT supported, hyperthreading is well supported (as reported on MS site).
Question is how to understand "supported". I believe the Microsoft message
is that it effectively works, but does not necessarely take full advantage
of HT, especially for single threads.

win2k definately does support multi-processor, I have a dual p2 machine running win2k.
 
Back
Top