• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

The problem with folding on a Hyperthreading machine

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

JohnMK

Registered
Joined
Dec 13, 2002
Location
Seattle
Hyperthreading is a great thing when you actually desire and need to run two CPU intensive programs simultaneously. There's a tangible performance benefit. However, we have to consider the implementation of hyperthreading and how it affects idle-priority programs. Each of us assumes almost blindly that at idle-priority, when we fire up say, Deus Ex Invisible War, Halo, etc., Folding At Home stops its processing and our entire CPU's attention, and all of its registers, are devoted to our game (or other CPU-intensive task). This isn't the case with hyperthreading. Because hyperthreading simulates two CPUs, one of the virtual CPUs is processing folding at home, while the other is servicing the CPU intensive program that we would rather take over 100% of the CPU's registers. Now, this wouldn't be as much of a problem in a true dual-CPU system where you had two physical dies, but hyperthreading shares one die amongst the virtual CPUs. So enabling hyperthreading, and running folding at home (even just one process, not two), will always be stealing a bit of your performance from you, and most of the time it's a very significant effect!

So I guess the only solution to the gamer/video encoder/folder/etc., who doesn't want to manually start and stop folding at home whenever something CPU intensive comes up that he/she wishes to do -- is to disable hyperthreading. Alternatively we could just micromange our PCs and enable/disable FAH when we need to. Or we could quit FAH and other distributed projects altogether -- not good!

I like hyperthreading. I'm just ****ed off that I have to go to Start->Run->Services.msc and start/stop my two FAH processes so many times every day. :)
 
Yes. The effects are very significant, as significant as having something chewing up 50% in the background while you're trying to say, play Deus Ex Invisible War or whatnot.
 
Hmm... could any programming wizards write a little program to pause FaH when certain process names appear in task manager? Like when for example MyGame.exe starts then FaH gets paused?

Just to save hassle.
 
Can't help ya on the hyperthreading issue, don't have any HT machines that I fold on. I can help ya make life a little easier though. Its quite simple to setup a .bat file that will start and stop your F@H services:

@echo off
net stop "Folding@Home"
net stop "Folding@Home #2"

the file to start them would be:
@echo off
net start "Folding@Home"
net start "Folding@Home #2"

The names in the quotes depend on what your services are named (you can see this in the registry for each instance of F@H.

Now you make shortcuts to these 2 files, put em on your desktop, taskbar etc and life is much easier.

You can start any service on your machine in this manner. Heck you can even schedule times you want them to start and stop using the scheduler and these .bat files.
 
JohnMK said:
Hyperthreading is a great thing when you actually desire and need to run two CPU intensive programs simultaneously. There's a tangible performance benefit. However, we have to consider the implementation of hyperthreading and how it affects idle-priority programs. Each of us assumes almost blindly that at idle-priority, when we fire up say, Deus Ex Invisible War, Halo, etc., Folding At Home stops its processing and our entire CPU's attention, and all of its registers, are devoted to our game (or other CPU-intensive task). This isn't the case with hyperthreading. Because hyperthreading simulates two CPUs, one of the virtual CPUs is processing folding at home, while the other is servicing the CPU intensive program that we would rather take over 100% of the CPU's registers. Now, this wouldn't be as much of a problem in a true dual-CPU system where you had two physical dies, but hyperthreading shares one die amongst the virtual CPUs. So enabling hyperthreading, and running folding at home (even just one process, not two), will always be stealing a bit of your performance from you, and most of the time it's a very significant effect!

So I guess the only solution to the gamer/video encoder/folder/etc., who doesn't want to manually start and stop folding at home whenever something CPU intensive comes up that he/she wishes to do -- is to disable hyperthreading. Alternatively we could just micromange our PCs and enable/disable FAH when we need to. Or we could quit FAH and other distributed projects altogether -- not good!

I like hyperthreading. I'm just ****ed off that I have to go to Start->Run->Services.msc and start/stop my two FAH processes so many times every day. :)


I already stated this 2 times before. I found out this when I tried to play morrowind and couldn't get more than 20 FPS and when others were getting more with older rigs.
I personaly don't care but I think we shouldn't tell to people with HT that F@H don't take any resources away from you.
 
Back