Message boards : Number crunching : Hyperthreading with 1 core
Author | Message |
---|---|
Raven Sherbert Send message Joined: 4 Nov 09 Posts: 7 Credit: 27,394 RAC: 0 |
Hi I am using BOINC version 6.10.18 and I have an old Pentium 4 computer with Hyper Threading. I am wondering if its possible to only run one task at a time using 100% of my cpu. This is difficult for me to figure out, considering BOINC sees two processors instead of one. I tried a couple different things: Scenario 1: BOINC defaults Effect 1: Runs two tasks at once at 100% cpu usage constantly. Scenario 2: Under "Simple View" choose "Use no more than 50% of the processor". Effect 2: Runs two tasks at once, but alternates cpu usage from 0% to 100% every few seconds. Scenario 3: Under "Advanced View", click the "Advanced" menu and choose "Preferences". Under the "processor usage" tab, set "On multiprocessor systems, use at most" to "50%" Effect 3: Runs one task at a time, but uses only 50% of cpu usage constantly. Scenario 4: Go to my account in my browser and choose "Computing Preferences". Set "On multiprocessors, use at most" to "1 processors". Effect 4: Seems to have no effect on the BOINC client at all? Maybe I have to wait a period of time? I tried using the "Clear" button in the BOINC client preferences to use web based settings, but got the message: "No general preferences found - using BOINC defaults" So I would like to only run one task a time at 100% cpu usage. Scenario 3 comes the closet to this preferences, but only uses 50% of the cpu. Any suggestions? Thanks, Raven |
mikey Send message Joined: 5 Jan 06 Posts: 1896 Credit: 9,387,844 RAC: 9,807 |
Hi I am using BOINC version 6.10.18 and I have an old Pentium 4 computer with Hyper Threading. Set the setting to use 50% of the processors and you should be only using 1 of the 2 cpu's. That is what I do on my laptop. Advanced, Preferences, processor usage, near the bottom it says "on multiprocessor systems, use at most" I put 50% in there and only 1 cpu on my dual core is used. On my HT systems only half the total cpu's are used. |
dcdc Send message Joined: 3 Nov 05 Posts: 1832 Credit: 119,891,919 RAC: 1,902 |
Hi Raven I believe option 1 is best if the machine is just used for crunching, because P4 Hyperthreading does increase output (at least from the last posts I read on the matter). I have a P4 system and use option 3. While task manager shows this only using 50% of the CPU it's actually using all of the physical CPU's resources and it's only the virtual CPU (i.e. the spare hyperthreaded units) that aren't being utilised, so task manager can be ignored. This way there is also only one task using the CPU cache rather than two having to share it, and your other processes will make use of the hyperthreading meaning Rosetta has more CPU time to itself and therefore increasing the amount of crunching being done. Hi I am using BOINC version 6.10.18 and I have an old Pentium 4 computer with Hyper Threading. |
Raven Sherbert Send message Joined: 4 Nov 09 Posts: 7 Credit: 27,394 RAC: 0 |
I have a P4 system and use option 3. While task manager shows this only using 50% of the CPU it's actually using all of the physical CPU's resources and it's only the virtual CPU (i.e. the spare hyperthreaded units) that aren't being utilised, so task manager can be ignored. That is interesting. Task Manager was confusing me on this because it does say 50%, but you have cleared it up for me. I do use this computer for other things, so it looks like I'll be sticking with option 3. Thanks for the info. |
Mod.Sense Volunteer moderator Send message Joined: 22 Aug 06 Posts: 4018 Credit: 0 RAC: 0 |
The thing about HT is that is does not reflect all of the system resources. I believe both sides of the HT CPU utilize the same resource to perform floating point math for example. Also as dcdc pointed out, they share L2 cache and RAM as well. And so running two at the same time can cause it to trip over itself as often as run better. So, while task manager will accurately show that the task is only using 50% of the CPU resource, it will still earn a RAC that is greater then half of when you run 2 threads at once. In your case, running only 1 will help your machine run your other applications better (i.e. less sluggishness) because they will only compete with one BOINC thread for memory and L2 cache as well. HT was really designed assuming that most of the time the two threads would be needing different resources and have a low level of conflicts for those resources. So running two R@h tasks at the same time, where both threads demand identical resources, is not really what they were planning on. Rosetta Moderator: Mod.Sense |
Raven Sherbert Send message Joined: 4 Nov 09 Posts: 7 Credit: 27,394 RAC: 0 |
HT was really designed assuming that most of the time the two threads would be needing different resources and have a low level of conflicts for those resources. So running two R@h tasks at the same time, where both threads demand identical resources, is not really what they were planning on. Ah yes that's why I was asking. I assumed this computer was too old to be running two rosetta tasks at once, that's why I only wanted to run one at a time, but still use as many resources as possible. Thanks. |
Mod.Sense Volunteer moderator Send message Joined: 22 Aug 06 Posts: 4018 Credit: 0 RAC: 0 |
You will earn a higher RAC (i.e. more credit per hour) if you crunch with both CPUs. But not double. On an older machine, running BOINC on both CPUs can often make it difficult (not enough memory and L2 cache to go around) to use the machine for other things at the same time. So running on just one virtual core is a reasonable compromise between your desire to help the project, and your need to use your machine for other things. Rosetta Moderator: Mod.Sense |
DJStarfox Send message Joined: 19 Jul 07 Posts: 145 Credit: 1,250,162 RAC: 0 |
I have a P4 system and use option 3. While task manager shows this only using 50% of the CPU it's actually using all of the physical CPU's resources and it's only the virtual CPU (i.e. the spare hyperthreaded units) that aren't being utilised, so task manager can be ignored. Yeah, you had it to crunch 50% of 50%.... I think what you want it to be instead is: On multiprocessors, use at most: 50 % of the processors Use at most: 100 percent of CPU time Also, in the taskmanager, set it to show separate graph for each CPU. :) |
Message boards :
Number crunching :
Hyperthreading with 1 core
©2025 University of Washington
https://www.bakerlab.org