Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
World Community Grid Forums
Category: Retired Forums Forum: The New Members Forum [Read Only] Thread: Max 50% CPU usage |
No member browsing this thread |
Thread Status: Active Total posts in this thread: 18
|
Author |
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
If you are running the P4 with HT then there is an app that someone created for the UD client that will essentially run two copies of UD on your system. This will utilize both of the 'virtual' processors on your machine.
This is a common concern, so just look around the forums and you'll fidn a link... |
||
|
Alther
Former World Community Grid Tech United States of America Joined: Sep 30, 2004 Post Count: 414 Status: Offline Project Badges: |
Software not written properly, or just written poorly, often cannot make use of the second CPU in a computer. P4's HT makes the CPU look like 2 to the OS, and a single thread cannot be run on both. I do hope they change that, as my points are being hurt by it. Multithreading now! This is currently a limitation of the UD Agent software, not Rosetta. There are 3rd party tools which get around this limitation, but we do not recommend their use. Use them at your own risk.
Rick Alther
Former World Community Grid Developer |
||
|
Alther
Former World Community Grid Tech United States of America Joined: Sep 30, 2004 Post Count: 414 Status: Offline Project Badges: |
You can also increase the priority within the job scheduling system of your pc. I know on Win 2000 you have the ability to assign priorities (such as low - meduim - high - .....) within the task manager. If you want to devote more processor time to this project, turn up the priority on the UD* tasks and rosetta. This is bad advice. Changing the priority class of Rosetta via the task manager isn't going to change anything unless you set Rosetta to the realtime priority class (which you do not want to do unless you want an unusable computer). To understand why this is, you need to understand in detail how Windows thread priorities work. People will see their CPU running at 50% in the Task Manager because they are either running on an SMP machine or a HyperThreaded (HT) machine. On an SMP machine, 50% is the true value. However, on an HT machine, the CPU is in fact running close to 100% instead of the reported 50%. An HT CPU tricks Windows into believing there are two separate processors when there are in fact one. Windows just doesn't know any better.
Rick Alther
Former World Community Grid Developer |
||
|
kinder
Cruncher Joined: Nov 18, 2004 Post Count: 4 Status: Offline Project Badges: |
should have known this is a MicroSoft problem. :-)
|
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Alther
----------------------------------------However, on an HT machine, the CPU is in fact running close to 100% instead of the reported 50%. hm! how do you explain the increase in usage if we run more applications and when we see both %'s go up to 100 (i have one application that makes it go 100% on both sides with WCG running too) ? If the 50% is actually 100%, whats the 100% ? I have a 3.0Ghz HT. My thoery on HT is this that these are 2 1.5 Mhz CPU's acting together (logically or however). If it was really 2 3.0Ghz processors, the effective speed should be around 6.0 Ghz. Definitely the thing must be 3.0Ghz combined. When we see 50%, only one logical processor is busy. A good example of HT is this: What they say is, its 400 units coming at /second. Before there was 1 guy handling those units. Now the work comes in and divides into 2 people and they want us to think its 400 units/sec to each guy but probably its just 200 per guy - for a total of the old 400 (basically 2 guys handling 200/sec is not different than 1 guy handling 400/sec). If it was really 2 guys handling 400/sec each, we'd have combined rate of 800/sec - unlikely (6 Ghz). Also do you know why the swap file increases by 300MB when we run the prog? I wish it didnt take that much space. I need my RAM freed up for other stuff. 300MB looks like an excess. Proabbly means unless I have a 1GB ram, my OS will have to use swap space on the HD and that means slow. [Edit 3 times, last edit by Former Member at Nov 27, 2004 9:49:52 PM] |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Intel hyperthreading is very peculiar. The idea is to keep a long pipeline full. Sometimes a pipeline stalls because the next instruction in a thread requires resources in use. The answer is to add about 5% to the size of the core and have a second thread trying to execute. If the next instruction for that thread can execute, then great!! It executes instead. This increases total throughput
The problem is that 2 threads are executing on the same processor using the same cache. The hardware cannot tell them apart, since they are on the same processor, so there is no mediation circuitry balancing their cache requests. In the worst case, the cache thrashes and total throughput actually decreases. Some tasks, like video editing, are very easy to hyperthread and can show a 50% speedup with hyperthreading. In general, people expect speedups of 10%-30% (or another often quoted rule of thumb is 14%-26%). The trouble is that this puts the burden on the programmer to follow arcane rules to try and make the cache behave. Now contrast this with a multi-core cpu. There are several cores accessing the cache through standard hardware mediation circuitry which does a fair job of load-balancing with little if any burden placed on the programmer. And the result should be speeds at least as good as the best that hyperthreading can deliver. So the 50% usage that Task Manager shows simply means that only 1 thread is executing, but probably the power expended is about the same as 100% usage with 2 threads executing. Actual throughput is probably not greatly less than it would be with 2 threads. Hyperthreading is probably the slowest method of running simultaneous multiple threads, and one of the more demanding ways from the perspective of a programmer. |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
I get up to 97 % utilization for WCGrid_Rosetta.
Paul |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
I can use realtime priority class, maybe because my front side bus is 800 am running ddr500 (only shows 400) on a deskboard d875pbz with 2 gigs of memory ... however either on low priority or real time priority the amount of memory meg's holds at about 29 megs for memory usage. so I'm saying it's possible to use realtime and also saying your right in suggesting someone system may degrade without the proper equipment ThankYou for your memo swl
|
||
|
|