50% HT Confusion

agent420

[H]ard|Gawd
Joined
Sep 6, 2001
Messages
1,388
I've Googled a bit, but still not clear on this...

Running P4 3.2C HT enabled i875 on XP Pro SP1.

If an app is maxxing out one virtual proc and the other is indicating minimal usage (ie 100% + 2%), and task mgr displays ~50% proc usage, does that mean only 50% real usage? I am wasting 50% of my cpu potential?

TIA
 
agent420 said:
I've Googled a bit, but still not clear on this...

Running P4 3.2C HT enabled i875 on XP Pro SP1.

If an app is maxxing out one virtual proc and the other is indicating minimal usage (ie 100% + 2%), and task mgr displays ~50% proc usage, does that mean only 50% real usage? I am wasting 50% of my cpu potential?

TIA

50% + 50% is 100%

Your using it all. Fire up 2 apps as in 2 instances of Prime or folding and you will get 100% on both
 
Still confused...

I understand that if I am running multiple apps that indicates 100% on both virt proc I am fully utilizing the cpu. Obviously I am not using 200% in those cases.

My question is specific to the scenario I mentioned above (100% + ~2%). I am hypothesising that this is a result of applications not written to take advantage of multi-threading. Unfortunately, I have many such apps.

Also, it is confusing as both virt processors have a 100% scale, but task manager must see them as 50% each when it displays it's usage. More to the point, is the overall uasge displayed in the task mgr status bar (not the 2 virt proc usages) the actual usage of my cpu? If that is the case then I must be wasting cpu.

I guess the related question to this is would I get better performance disabling HT under these circumstances.
 
its my understanding that hyperthreading was designed to utilize processing power that might be wasted when an application does not use all available registers. some apps are more efficient than others and some are not multi threaded. i am almost certain that your application is getting 100% processing time plus an extra 2% that would not be available on a non HT cpu core. the next logical question is.... is any added latency caused by the HT process (??? read cache, analyze, branch prediction, rearange instructons, write cache ??? ) worth the 2% increase :)
 
So...

Provided at least one virt proc is indicating full usage, that means that the cpu is being fully utilized (as would be the case with HT disabled)? Any addtional usage of the 2nd virt proc is additional performance that is not linear (ie 100% usage is not 100% more performance) compared to a non HT setup?


I've looked through a bunch of tech literature on HT, but really these points are not made clear. If anyone has a good link that addresses this issue I would be grateful if you would share it.

Thanks.
 
No, HT doesn't reserve 50% worth of the CPU's horse power incase it needs it when HT is enabled. If you are running application #1 and it needs 100% power, and have application #2 in the background using 2% power then the CPU would simply run app #1 full out while running app#2 with the extra cpu cycles that would be normaly wasted if it couldn't multi thread.

From what I have seen benchmark wise, it appears that when you have HT enabled you can get up to 130% power (made up figure)out of the CPU compared to the 100% limit when in non-HT mode, if that makes sense..

Take for instance, I am ripping a CD, or encoding something, and its taking what seems to be 45% of the CPU power. Now since HT is enabled I go play a game which would require 100% CPU power, well since I am encoding in the background, I am only getting 70FPS instead of 79 FPS if I had nothing running in the background. Same applys with what I am encoding. It only adds on mabey less then 10% more time to how long it takes to encode.

This is why I think you get much more overall perfomance when the machine has HT enabled, You would think logically that when encoding and playing a game that the performance would be nearly cut in half for each application like on an non-HT machine. But it is exactly that, HT gives you a nice boost in performance when multitasking.
 
It is kind of wierd, because when I run prime 95 it never maxes out my CPU according to the devie manager. However, if I'm encoding video (using DVD shrink for instance) it will run at ~100% all the time, I don't totally understand why one program does and another doesn't, at 50 and 100% load it runs at the same temps though, I don't totally understand it either, but if its working... I don't question it.
 
pbXassassinX1524 said:
It is kind of wierd, because when I run prime 95 it never maxes out my CPU according to the devie manager. However, if I'm encoding video (using DVD shrink for instance) it will run at ~100% all the time, I don't totally understand why one program does and another doesn't, at 50 and 100% load it runs at the same temps though, I don't totally understand it either, but if its working... I don't question it.

Prime95 is a single-threaded application. DVD Shrink is probably multithreaded.
 
Yeah, DVD Shrink is multithreaded, I believe it uses up to 5 threads at a time.

It really smokes on my Dual Xeon (4 Virtual processors)
 
Back
Top