Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
World Community Grid Forums
Category: Retired Forums Forum: Member-to-Member Support [Read Only] Thread: P 4 virtual Multiprocessor architecture |
No member browsing this thread |
Thread Status: Active Total posts in this thread: 6
|
Author |
|
scleranthus
Cruncher FRANCE Joined: Feb 8, 2005 Post Count: 13 Status: Offline Project Badges: |
I have a Pentium 4 2.8, but the programm never goes over 50 % of the Cpu using only one of the virtual processor.
Is there anyting to do about it ? |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Your Pentium 4 has hyperthreading enabled. It can run 2 threads [each using 50% of the CPU] for a total of 100% CPU utilization or it can run only 1 thread [at 100% CPU utilization] which it reports as 50%. [1 of 2 possible threads, right?] Either way, you are making maximum use of your floating-point processor, so don't worry about it. This is just a case of over-simplified reporting. It bugs everybody who wonders why Windows does not report it some other way.
Lawrence |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Scleranthus,
It occoured on my newly build machine as well after I had disabled the option in my bios it showed 100% I do not know if it had any influece on the device score ... at least I do not remember it. Keep your CPU smoking |
||
|
RT
Master Cruncher USA - Texas - DFW Joined: Dec 22, 2004 Post Count: 2636 Status: Offline Project Badges: |
The simplest form of the truth is that your CPU (assuming it is an Intel P4 HT) is actually being run 100%. The problem is in the way the Operating System is reporting the utilization to you.
----------------------------------------If you want more information, the following is a more detailed explaination: Intel added some logic to its CPUs so that they can manage running two threads at the same time. They do this by injecting thread #2's instructions between the gaps in thread #1's pipeline. Intel processors are notorious for having very long pipelines. Some CPU instructions take several clock cycles to perform. These cause gaps in the pipeline. Gaps essentially waste CPU cycles. So what Intel did is put SMT (Simultaneous Multi-Threading) on their chips to inject another thread's instructions into these gaps, thereby improving efficiency. The problem is how do you get two threads to even run at the same time. The scheduler is in the operating system. On a true SMP system, the OS knows it has 2 or more processors and runs a thread on each processor. But HT processors are just a single CPU, so normally the OS will just run 1 thread at any given time. How do you take advantage of the HT technology? The Intel chip tricks the OS into thinking there are two CPUs. Thus, the OS attempts to schedule 2 threads at the same time on a single CPU. That's also why the Task Manager shows 2 CPUs. It's also why you see 50% utilization being reported when in fact it's really 100%. HT improves the performance a little by squeezing in a few more instructions when normally there would be wasted CPU cycles. Of course, if there's nothing else to run, they're wasted anyway. Thus the best improvement you're likely see with HT turned on is maybe 10% - 20%. On the flip side, HT can slow things down by "thrashing" the CPU and cache. Certain types of programs lend themselves to easily benefit from HT, while some take a performance hit. That's why you'll see some benchmarks run really well on HT and sometimes they run slow (relatively speaking). The bottom line is that Intel Put this SMT feature they call "HT" on their processors to push more through the CPUs in the same amount of time. Sadly this causes some Windows Operating Systems to report this single CPU as two and consequently report only 50% when the processor is actually 100% used. Note: Most of the above text was written by "Rick Alther" a Tech at the WCG. Hope this Helps |
||
|
scleranthus
Cruncher FRANCE Joined: Feb 8, 2005 Post Count: 13 Status: Offline Project Badges: |
Thanks for your detailed answers.
There's something I still don't understand though : Why some programm would show a use of 100 % of the processor (both virtual processor being used at maximum rate) and why this one only shows a use of 50 %. I can't find any obvious reason ... Anybody has an idea ? |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
I did not explain this very well. If the hyperthreading CPU is running 1 thread, the machine will report a maximum of 50%. If it is running 2 threads, it will report a maximum of 100%. Ignoring some complications that are possible when not using floating point programs, 50% = 100%. This is a very misleading way of stating that the CPU is running its floating point processor at maximum speed in both cases. If you are running only 1 thread, then double the CPU utilization percentage reported by Windows Task Manager to get the true CPU percentage.
|
||
|
|