Folding for Science vs Folding for Points

scottv67

Member
Dec 2, 2006
65
0
66
Hi:

I almost hate to ask this question since I think it's going to open a big can of worms. But here we go:

On a Hyperthread-capable CPU, do you run "extra" Folding processes or are you running one process per each physical CPU in your system (in other words, ignoring the extra CPU that appears when HT is enabled)?

My Pentium boxes are all running one-Folding-process-per-physical CPU. I don't run two Folding processes on my Pentium 4 systems that are HT-capable.

[On my C2D Conroe boxes, I am running the SMP client (both Windows and Linux) - which seems to be okay with the Stanford guys. I return the SMP WUs well before deadline.]

My question is: Do you Fold for the points (running multiple Folding processes on HT-enabled systems) or do you Fold for Science and return the WUs as fast as possible?

I'm not asking what the Stanford folks recommend. I am asking the Anandtech Folding team members to report their personal Folding preference. My question was triggered by a comment that was posted by another Anandtech Folder who is running multiple Folding processes on Hyperthread-enabled systems.

Thanks,
-Scott
 

petrusbroder

Elite Member
Nov 28, 2004
13,343
1,138
126
Hmmm, I do not quite undrstand ...
The points are given for an amount of work done. If you crunch a WU in 24 hours you get a certain amount of work done and thus a certain amount of points.
From this the science benefits.
If you crunch with two processes you get almost twice the work done and you get almost the double number of points.
From this the science benefits - but now twice as much.

So there is a direct correlation between the points and the science performed.

From this i conclude: the more you crunch, the more science gets done and the more points you get. Evterbody is happy: the scientist (get more WUs crunched - can publish results faster), the cruncher (better standing in the lists, more sense of accomplishment, more points and more "feeling of having done something well")

Or am I missing something? :Q

OK and thus to answer your question:
I crunch for the fun of it: the good feeling of helping a scientist and thus - in the far future - some other human, the good feeling of getting ahead in the stats, the good feeling of interacting with people in different countries, social settings and different cultures; the feeling of using the hardware as efficiently as it can be used...

I can not decide which reason is the most importanat, because that changes from time to time: when the TeAm has a race, I crunch mostly for the stats, Between races (and that is by far the most time) i crunch mostly because I want to support the scientists.
 

Rudy Toody

Diamond Member
Sep 30, 2006
4,267
421
126
I crunch to make roadkill out of my teammates!:laugh:

Seriously, the AnandTech DC Forum has become a social nexus for me. I'm having a great deal of fun trading quips, barbs, and info with the TeAm MaTeS.

I think this says it best:
Originally posted by: petrusbroder
I crunch for the fun of it: the good feeling of helping a scientist and thus - in the far future - some other human, the good feeling of getting ahead in the stats, the good feeling of interacting with people in different countries, social settings and different cultures; the feeling of using the hardware as efficiently as it can be used...

 

Hurricane Andrew

Golden Member
Nov 28, 2004
1,613
0
71
Leaving a "core", even a HT quasi-virtual one unused is simply not acceptable. Running a second instance will nearly double your output, and scientific benefit. It's a win-win.

As for why I crunch, it's a hearty BOTH!

I started as a way to help out, since I've been to far too many funerals in my time, including my sister-in-law who died far too young from leukemia at 31 and my grandmother who was a victim of Alzheimers. When I saw the raw computing power under my control at my small community bank, I couldn't resist adding one PC, then another, then another.... When I started seeing myself climb, it became a mini-obsession, and now I'm about to break into the top 20 on an awesome team, which gives me no small degree of personal satisfaction on so many levels.

Add to that fact that this is the most civil, welcoming, caring, diverse forum anywhere on the internet, not to mention the most knowledgeable, and I can't think of anything I'd rather do than throw my spare CPU cycles towards a TeAm that's become like family to me.
 

GLeeM

Elite Member
Apr 2, 2004
7,199
128
106
Scott, you don't have to worry about opening a can of worms here. We are not like those at the folding-support forum - looking for any way to be nasty at everyone who has a different opinion.

As to petrusbroder wondering: the F@H WUs need to be returned before the next one in line can be made. If a WU can be returned in 16 hours instead of 24 hours then the whole project can be completed quite a bit faster and the cure maybe found sooner. I think one of the reasons for the push is that the researcher needs to have the project done in time to graduate.

The terrible fight at the folding forum that ensued over this issue lost so many members (and scared away so many potential folders) that even if everyone that remained ran one client on HT they still lost many years of folding time for a net loss.

Pande Group is greatful for any and all help given.

It is the individuals choice to run one or two clients - full time or part time. The part time folders and those with older computers slow the science more than running two clients on HT full time so the one client on HT idea was just a way to squeeze a little more performance into the project.

If they had approached it differently - asking for volunteers instead of saying that you were harming the project by running two on HT - they would have been much better off. I think they forgot that it is not really their supercomputer but my computer helping create that supercomputer.

And finally: My P4s are not connected to the internet so I sneakernet WUs to them. I sometimes run two if the first WU will finish well before I can return to the computer otherwise I just let DPAD use the other half of HT. DPAD doesn't slow F@H as much as another F@H :)

So I guess I crunch for the TeAm :cool:

EDIT: running two F@H clients on HT can get from minus 5% to plus 35% points per day, depending on type of WU.
 

scottv67

Member
Dec 2, 2006
65
0
66
I guess I didn't explain my question very well. As GLeeM mentioned, there has been a spirited debate on other forums regarding the "Hyperthreading vs non-Hyperthreading" folding. One side of the issue says "If you run more Folding clients in parallel, you will run your CPU at 100% and earn more points." The other side of the coin is that running two Folding instances on a Hyperthreading-enabled CPU returns the WUs to Stanford more slowly than if you just ran one Folding process.

I run my HT systems with only one Folding process per physical CPU because I'm want to return the WUs to Stanford as quickly (wallclock time) as possible. The "points" that are awarded for returning a completed WU are secondary for me.

I agree with the folks above who cite their relatives and loved ones who are the reason they Fold. I am Folding for a similar reason. It's not for the points.

>If you crunch with two processes you get almost twice the work done and you get almost the double number of points.
>From this the science benefits - but now twice as much.

Not really. Here's an example:

1. HT CPU, One Folding process running: Work Unit A, 24 hours to crunch and return.

2. HT CPU, Two Folding processes running: Work Unit A, 48 hours to crunch and return. Work Unit B, 48 hours to crunch and return.

While it may seem like all's well that ends well, returning Work Unit A after 48 hours instead of 24 hours makes a difference at Stanford.

There are more eloquent examples at the Folding forum at Stanford. They do a better job of explaining why it is more important to return the work units as quickly as possible.

>Leaving a "core", even a HT quasi-virtual one unused is simply not acceptable

The virtual "core" in a HT CPU isn't really a second CPU and using it increases the amount of wallclock time that it takes for your system to return the completed WU to Stanford. When you run two Folding processes on a HT-enabled CPU, both processes are competing for the same resources in that single physical CPU.

I will find some posts on the Stanford Folding forum that explain this a little better than I can.

For those people who wonder why I even asked the question, it *does* make a difference in the long run when you run two processes on a HT CPU.

Thanks,
-Scott
 

scottv67

Member
Dec 2, 2006
65
0
66
I am going to copy-and-paste some references to Folding and Hyperthreading that I've found:


http://fahwiki.net/index.php/FAH_%26_SMP#Hyper-Threading

Hyper-Threading

Although being advertised as a virtual second CPU, a Hyper-Threading (HT) enabled CPU is not equivalent to a dual-CPU setup with regard to Folding@home.


In simple terms Hyper-Threading allows unused instruction units of the CPU to be utilized in parallel. Whilst this can be very effective for certain application classes, for Folding@home it is not especially helpful.
SMP aware OSes see a Hyper-Threaded CPU as two CPUs, when in actual fact there is one complete CPU + its "spare" instruction units.


Folding@home Molecular Dynamics (MD) calculations use, almost exclusively, 1 type of instruction unit, which differs depending on the core. FPU/SSE for Gromacs & QMD and the FPU for Tinker & Amber. A few parts of the calculations are performed using the other instruction units, but they are minor compared with main SSE/FPU code.


If 1 instance of Folding@home is running, there will be large segments of the CPU that are not being used, like the ALU etc. This provides the OS, and most other programs with the ability to run along-side Folding@home with little performance impact, since most "everyday" programs don't require the segments of the CPU that Folding@home is using.


However, if you try and run two instances of Folding@home on the same Hyper-Threaded CPU, they will both be competing for the same instruction units. This essentially means that each Folding@home instance shares its access to those instruction units. Overall a small performance gain is achieved due to the few calculations that can be run on the "spare" instruction units. However the end result is that the two WUs you are running complete in just under twice the length of time as a single WU would because of the afore mentioned instruction unit sharing.

The recommended procedure is to run a single instance of the Folding@home client per physical CPU, because this will finish a Work Unit (WU) in the shortest time. This is more valuable to the science of Folding@home, since the data from processed WUs is used to generate new ones.


If you have an HT capable CPU, the best way of running Folding@home is to install 1 instance of Folding@home, and leave HT enabled. This way you will gain a slight performance advantage over disabling HT, since Folding@home will be affected to a lesser degree by other programs running.


A significant disadvantage of enabling Hyper-Threading is it draws almost as much power as a complete second CPU.
From CustomPC: Hyper-Threading also comes with a power consumption cost, allegedly drawing as many watts as a full second core when at full tilt. We've certainly seen the heat production increase considerably when pummeling a Hyper-Threaded processor with two Folding@home work units, and this is probably why the technology is currently relegated to performance enthusiast parts, such as the Pentium Extreme Edition 840, now that dual-core processors are becoming the norm.
Source article: Processors Explained, Page 4


Note: Windows task manager will show the CPU usage whilst running 1 instance of Folding@home on a HT enabled CPU to be only 50%. This is wrong. The single instance of Folding@home is working at full capacity on the portions of the CPU that it utilizes.



http://forum.folding-community.org/view...rder=asc&highlight=hyperthread&start=0

Yes, that's what you should see.

Hyperthreading takes a single CPU and makes it appear as 2 CPUs to the OS. In the chip, itself, some circuitry is duplicated and some is not, so, in some (rare) cases, two tasks can run at full speed (if they only need the registers that are duplicated. In other (rare) cases, two task run at exactly half speed (if they only need the registers that are not duplicated) because they compete with each other for the shared circuitry. All real programs are a blend of those two extremes, so it is somewhat more efficient to run two tasks than to run only one.

The OS is tricked into believing that you have two independent processors, so if one task is running as fast as it possibly can, TaskManager says you are using 50% of the two CPUs. During those times that a second task is requesting CPU resources, the first task will slow down somewhat and TaskManager will report that you're using more than 50% of your CPUs.

The topic of HT has been discussed in many threads in this forum and the discussions have gotten quite heated, so we've had to limit the discussion. You can search the forum for HT and find many different viewpoints. It is possible to run two instances of FAH and you will get TaskManager to report 100%. Each instance will run significantly slower than either one would separately because the circuitry that the cores use the most is not duplicated. Overall, you'll earn somewhat more points, but Vijay has asked us not to do that because the scientific value of two results returned later is worse than the scientific value of one result returned more promptly.


http://forum.folding-community.org/ftopic10427.html
Folks, for many the HT (HyperThreading) issue is one that they just don't understand. While Stanford allows you to run more than one instance of the Folding@Home client on your computer, you are not really helping them if the number of clients you are running is not equal to the number of REAL CPU's you actually have. While running two instances of the F@H client will return two work units more quickly than doing one at a time, that is not what is important. Returning one work unit 70% faster and starting the next generation of tests on the work unit, is what Stanford wants. Speed in working through each protein generation is very, very important. Sometimes quality is better than quantity. Quality in this case is work being returned more quickly. While it is well known that an HT CPU can run 2 work units because the OS treats it like two CPU's, and you can gain a possible 15-30 percent increase in points for that computer, it also means that each work unit is returned more slowly. In simple terms, if the project has 300 generations needed to test a theory on a protein model, and running two instances at once delays the return of work for 1 day each time, you end up with a 300 day delay. That translates to about a 10 month delay in examining your data for the final result. The bottom line is simply this: Run 1 instance for each CPU you have. An HT CPU is not two CPU's, it is one. Let's work to advance the science and spend a little less time worrying about the number of points you get.

This is a direct quote from Dr. Vijay Pande:
1) If you care primarily about points, running 2 procs on HT is still the best bet. We are grateful for all contributions and if people choose to run 2 procs on HT, our approach is that all contributions are welcome.

2) If you care about the science foremost and are interested in our recommendations, then do not run 2 procs on HT, but please just run one process. That won't be best for points, but is best for the science.

3) If your machine cannot make the deadlines, then one should run the timeless WUs.

I hope that clears these issues up and thanks to all for their contributions.

Thanks for listening and please do the right thing.
Larry

(copied from http://www.em-dc.com/ info gathered from these forums)

So, that was the intent of my original question. Do you

1) Fold for the most points? (multiple Folding processes on a HT CPU)
2) Fold for science? (only one Folding process per physical CPU so WUs are returned sooner)
3) Didn't know it mattered?

Not trying to start a religious war here. Just looking for people to chime in.

Thank you. Above all keep Folding! :)

-Scott :beer:
 

GLeeM

Elite Member
Apr 2, 2004
7,199
128
106
Now-a-days, a big part of why you can't get much better ppd by running two on HT is that one BigWU uses almost all of the memory bandwidth and if you run two of those you can end up with less ppd.

I have heard that running two of those on a dual core can only net 50% better ppd, but they still recommend running two.

My guess is that in the future when eight and sixteen core CPUs come out that they will see less than 50% better ppd when running one client per core. And they would have to recommend running one client for every two cores. I hope they get the SMP client working perfectly before then.

Has anyone checked how a quad core does with four vs. two clients?