Is HT a waste of cpu time

E

ElJerid

Noozer said:
Ya... what does any of that mean?

As defined by Sandra:
- CPU arythmetic benchmark (Dhrystone ALU in mips, Whetstone FPU in Mflops)
- CPU/Multimedia benchmark (integer and floating point in it/s)
- RAM Memory bandwidth (ALU and FPU bandwidth in MB/s)
 
I

ID

I added the following line to my XP Pro boot.ini to select HT on or off
during boot, numproc=1 is the switch.

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft WinXP Pro Single CPU"
/noexecute=optin /fastdetect /numproc=1
 
M

Michael C

GT said:
But hyperthreading is 1 CPU divided in two, not a dual core CPU!

I wasn't talking about a HT machine, I was talking about a real dual
processor machine.
A dual core PC with HT will appear to have 4 processors. A single core CPU
with HT will 'appear' to have 2 CPUs. With a single core, HT CPU shouldn't
the work be split evenly between its two halves and if one half is idle
and the other has a busy thread, then the busy half should be allowed more
priority?

I'm not sure. Some speed testing would be fairly easy to do, just run a long
single threaded process with HT on and then off and post the difference. The
process should be CPU intensive and not use HDD at all. I'd do it but I
don't have a HT machine.

Michael
 
M

Michael C

GT said:
Doing anything at all in Windows is effectivily multi-threaded as the
operating system itself has tasks running and if you look at the process
list you will see 30+ processes running before you even open what we
consider to be an application.

Except that 29 of them are almost idle and one is using 99% cpu time.

Michael
 
M

Michael C

ID said:
I added the following line to my XP Pro boot.ini to select HT on or off
during boot, numproc=1 is the switch.

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft WinXP Pro Single
CPU" /noexecute=optin /fastdetect /numproc=1

That's not necessarily a good idea. More than likely HT will still be
enabled but windows just wouldn't be using it, so everything would run more
slowly. This would have to be tested.

Michael
 
M

Michael C

ElJerid said:
As defined by Sandra:
- CPU arythmetic benchmark (Dhrystone ALU in mips, Whetstone FPU in
Mflops)
- CPU/Multimedia benchmark (integer and floating point in it/s)
- RAM Memory bandwidth (ALU and FPU bandwidth in MB/s)

This doesn't mean much in the context of this thread. All we need to know is
how long a single threaded cpu intensive process takes with HT on and off.

Michael
 
N

Noozer

Michael C said:
That's not necessarily a good idea. More than likely HT will still be
enabled but windows just wouldn't be using it, so everything would run
more slowly. This would have to be tested.

Not to mention that when I add this into my BOOT.INI and choose it, I still
see both "CPU's" in my Performance tab... Didn't do anything here. WinXP Pro
SP2
 
M

Michael C

Noozer said:
System Idle is NOT a thread... it's the CPU waiting for something to do.

I never said it was. What I said was that in most situations where a desktop
machine is doing heavy processing, one process will be using 99% of the CPU
time and all the others 1% between them.

Michael
 
K

kony

I never said it was. What I said was that in most situations where a desktop
machine is doing heavy processing, one process will be using 99% of the CPU
time and all the others 1% between them.

Michael


True, the typical benefit of multicores or HT is when there
are at least 2 apps both needing enough performance for
real-time processing. Otherwise a single CPU can easily
enough put priority on the app in foreground or simply
default to process priorities assigned.
 
M

Michael C

kony said:
True, the typical benefit of multicores or HT is when there
are at least 2 apps both needing enough performance for
real-time processing. Otherwise a single CPU can easily
enough put priority on the app in foreground or simply
default to process priorities assigned.

In such a case (1 single thread taking up 99% of the cpu) the 2 cpu machine
will have an advantage, while not being any faster, other processes will
respond very well. I run a long process on a regular basis that takes 3 or 4
minutes. This process renders a single cpu machine fairly much useless but
on a dual processor machine it responds like it's idle. I haven't tried it
on HT machines but from what I read you don't get the same advantage as a
real dual proc machine.

Michael
 
K

kony

In such a case (1 single thread taking up 99% of the cpu) the 2 cpu machine
will have an advantage, while not being any faster, other processes will
respond very well. I run a long process on a regular basis that takes 3 or 4
minutes. This process renders a single cpu machine fairly much useless but
on a dual processor machine it responds like it's idle. I haven't tried it
on HT machines but from what I read you don't get the same advantage as a
real dual proc machine.


That's not quite the same thing though, it's a sign that the
thread using 99% had improperly been assigned too high a
priority. Any app in the foreground should then be at
higher priority and have great response.
 
M

Michael C

kony said:
That's not quite the same thing though, it's a sign that the
thread using 99% had improperly been assigned too high a
priority. Any app in the foreground should then be at
higher priority and have great response.

Maybe but thread priorities don't work in windows, at least not to any
significant degree. A dual processor machine works really well in that it is
perfectly usable even when doing heavy processing. This is what they've
tried to emulate with HT but I believe they did manage to achieve it.

Michael
 
K

kony

Maybe but thread priorities don't work in windows, at least not to any
significant degree.

Have you ever tried it?
I"ve had single CPU boxes running full load for years
cruching video and find them plenty responsive if the thread
priority of that background job is managed. In fact you
don't even notice it's running at all.

A dual processor machine works really well in that it is
perfectly usable even when doing heavy processing. This is what they've
tried to emulate with HT but I believe they did manage to achieve it.

As is a single CPU system. slower multicores or HT can be
of significant benefit when a multithreaded app has one
thread's performance interdependant on the other, yet even
then the performance tradeoff must be weighted. Even today,
AMD & Intel are not going to dual CPU & HT for it's benefit,
rather that they're buying time- they ran out of frequency
(& thermal density for Intel) headroom with the
manufacturing technology available to them.
 
M

Michael C

kony said:
Have you ever tried it?
I"ve had single CPU boxes running full load for years
cruching video and find them plenty responsive if the thread
priority of that background job is managed. In fact you
don't even notice it's running at all.

I gave it a try and it looks like you're right. The problem I had when I
last tried this was that what I was trying it with ran a program called
c2.exe over and over so it was resetting the thread priority each time.

Michael
As is a single CPU system.

Not always. A dual processor machine is pretty much unstoppable which is not
true for a single cpu machine.

Michael
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top