F@H bonus explanation

SazanEyes

[H]ard|DCer of the Month - January 2011
Joined
Jan 14, 2009
Messages
1,250
Recently there have been some questions about the bonus system for SMP and bigadv WUs. I didn't really understand it either, so I did some research and decided to share it. I hope you don't minde the length. If you notice any mistakes, let me know.

Bonus Calculation

Stanford has certain work units that they would like to process quickly. The bonus system is designed to reward people with more powerful machines for running these work units. The bonus is not a fixed value but a multiplier. When you complete a work unit, you get the base points of the WU multiplied by the bonus factor. The faster a WU is completed, the larger the bonus factor. Here are the formulas:

Code:
Total points = base points * bonus factor

If WU_time > timeout time, bonus factor = 1
If WU_time <= timeout time, bonus factor = sqrt(deadline_time * K / WU_time)

WU_time is the time between being issued a WU by the Stanford servers and uploading the completed WU back to the servers. In other words, it is the calculation time plus the download and upload times. Timeout time, also known as the preferred deadline, is the time you have to complete a WU in order to receive a bonus. As the formula shows, if your WU_time is longer than the timeout time, your bonus factor is 1 and you only receive the base points. You must also have a client with a passkey and complete 10 units with at least 80% success to receive a bonus.

The last line shows how the bonus factor is calculated, and here it's helpful to look at some examples. But first, there's one more formula to consider, and that is Points Per Day. PPD is the total points per WU multiplied by the number of WUs that can be completed in a 24-hour day. The formula below assumes WU_time is in hours.

Code:
PPD = total points * 24 / WU_time

SMP Example

Information about individual work units is available on the Folding@Home Projects Summary page, and can also be displayed by monitoring tools like HFM.NET. Let's consider Project 6012, an A3 SMP work unit. The timeout time (preferred) is 3 days, the deadline is 6 days, the base point value (credit) is 470, and the K factor is 2.0. The K factor gives Stanford the ability to adjust the bonus factor for each WU.

First lets assume your hardware can just barely meet the deadline with a completion time of 3 days. If we plug that into the formula, you get:

Code:
bonus        = sqrt( (6*24) * 2.0 / (3*24) ) = [B]2[/B]
total points = 470 * 2                       = [B]940[/B]
PPD          = 940 * 24 / (3*24)             = [B]313[/B]

At worst, you're still getting twice as many points per WU. Now let's say you have a overclocked i7 920 and can complete a P6012 WU in 6 hours. If we plug that into the formula, you get:

Code:
bonus        = sqrt( (6*24) * 2.0 / 6 ) = [B]6.928[/B]
total points = 470 * 6.928              = [B]3256[/B]
PPD          = 3256 * 24 / 6            = [B]13,024[/B]

Now let's consider a high-end box. An SR-2 with two overclocked hex-core Xeons can complete the WU in 2 hours:

Code:
bonus        = sqrt( (6*24) * 2.0 / 2 ) = [B]12[/B]
total points = 470 * 12                 = [B]5640[/B]
PPD          = 5640 * 24 / 2            = [B]67,680[/B]

By now you should have noticed something. As the WU_time gets shorter, not only does the bonus increase, but you are also able to complete more WUs per day. That means the PPD is growing at an exponential rate. This is why high-end systems are such great producers under the bonus system. Normally, hardware scales linearly, meaning that if you want to double your PPD you have to double your hardware (build another CPU box, buy a second video card). However, the example SR-2 system above, which technically only has three times the hardware of the i7 box (12 cores vs. 4 cores) and is only completing the WUs three times faster, is earning more than 5 times the PPD.

bigadv

That was standard SMP, but what about bigadv? The formulas remain the same, but the values for the WUs are different. Currently all the A3 bigadv WUs have the following values: timeout is 4 days, deadline is 6 days, base credit is 8955, and K factor is 26.4. If we plug these values into the formulas with various WU_times, we get a nice chart:

bigadv.png


If the WU takes between 4 and 6 days to complete, there's no bonus so the points are really low. As soon as the bonus kicks in, the points are much higher thanks to the 26.4 K factor. Unlike the P6012 WU with a minimum bonus factor of 2, the bigadv bonus starts at 6.29. If you have hardware that can make the deadline, you can see how running bigadv can be worth it.

Using the example machines from before, say the quad-core i7 takes 60 hours to complete a bigadv WU. That gives a bonus factor of 7.96, total points of 71,599, and PPD of 28,640.

The 12-core SR-2 can complete the same WU in 20 hours, for a bonus factor of 13.79, total points of 124,014, and PPD of 148,816. Once again, the PPD is more than five times greater.

Conclusion

So, what is the takeaway from all of this? First, as already noted, point growth is no longer linear. This means hardware decisions are a little more complicated than just adding more boxen. With a limited budget, maybe investing in a Gulftown 970 or 980X makes more sense than building a second cheap box or buying a high-end GPU. For large farms, the SR-2 with hex-cores or similar high-end multiprocessor hardware may make sense, especially compared to the power cost of GPU farms.

The exponential nature of bonuses also means a relatively small increases in speed can have a big impact on points, especially with high-end hardware. Therefore, optimizing the hardware you have to run SMP as fast as possible is important. For example, this can means finding the maximum stable overclock of your CPU, using Ethernet instead of wireless to speed up transfer times, avoiding processes that steal CPU cycles, and even dedicating the box to F@H so that it's always "idle." GPU folding on an SMP machine should be examined to make sure that the GPU points more than make up for the lost SMP points. There will always be compromises and other considerations like power usage, not to mention the desire to use your most powerful machine for gaming, etc. (I still plan to use my SR-2 as my primary desktop.) However, you may want to keep a log of PPD for various hardware configurations and usage scenarios, to see how your real-world PPD compares with the charts and formulas.

Finally, although the steep curve at the right end of the graph above is tempting, and the bonus is theoretically unlimited, there are practical considerations. The graph stops at 16 hours because that's the fastest bigadv completion time of which I'm aware. To put that in perspective, that equates to a time per frame of 9:36, and probably means either 16 very fast cores or 24 to 32 slower cores. In other words, for every hour you try to shave off your bigadv WU time, there's probably an exponential growth to cost as well as PPD. Enterprise grade hardware is very expensive, and super high-end enthusiast hardware (a watercooled SR-2 for example) isn't much cheaper. In addition to budget considerations, remember that no matter how fast your box is, when it's offline it is generating zero PPD. In other words, you may not want to put all your eggs in one basket.

Notes/Resources

The examples above are intended to be realistic, but I used round numbers to keep the math simple. In the real world, you'll be folding different WUs with varying performance characteristcs. In other words, don't expect 148K PPD from an SR-2 unless you have a killer overclock. For real-world numbers take a look at musky's excellent The Best Way to 100K PPD thread, which also covers PPD/$ and PPD/W.

The formulas come from this FAQ on the Folding Forum. Note that originally there was a maximum bonus factor of 10, but that has been removed. I graphed it both ways and was somewhat surprised to see that PPD still has exponential growth even with a capped bonus, but the growth rate is slower.

Edit: I created a Google spreadsheet for those who would like to explore the data on their own.

 
Last edited:
I'm so spending this weekend in the SR-2 optimization thread.

Thanks for the write up!
 
awesome write up.. interesting to see the differences in PPD based on the bonus system and that its linear at all..
 
Great info and of course more reason why I want an SR-2.
 
Great writeup! Thanks for taking the time to research and share it. This article shows me that I really need to sell off all these puters and get on an SR-2 build.

Fold On !!
Fish :cool:

 
Awesome work Sazaneyes, great graph.

And your point about all eggs in one basket is well made. I have an SR2 that is not folding right now, because it is back to 800DDR - which kills bigadv points - while I finish some jobs. I simply cannot spend more time this week chasing weird memory issues. I doubt I will get the chance for a week and a half to get back to memory testing. :rolleyes:
 
Awesome work Sazaneyes, great graph.

And your point about all eggs in one basket is well made. I have an SR2 that is not folding right now, because it is back to 800DDR - which kills bigadv points - while I finish some jobs. I simply cannot spend more time this week chasing weird memory issues. I doubt I will get the chance for a week and a half to get back to memory testing. :rolleyes:

Do you need 24gb of RAM. If you can, try running with 12.
 
Thanks for the explanation, was wondering how exactly the system worked.
 
Wow, speaking as an Engineer, let me say great research & write-up! Now I'm off to pout in the corner for not being able to afford more than a pair of 2 year old GPU folding rigs... :D
 
Wow, speaking as an Engineer, let me say great research & write-up! Now I'm off to pout in the corner for not being able to afford more than a pair of 2 year old GPU folding rigs... :D

Ehhh... you fold with what ya got. No more no less. :cool:
 
I wish they'd apply this to the uniproc client. I turned my uni-only machines off a while ago as it just wasn't worth the power draw. I know it's good for science but tell that to my wallet. :D
 
Wow...nice writeup. From the point structure, it looks like they have enough high-end/server processing power now that it simply isn't worth the overhead of splitting the work into smaller units for slower machines.
 
STICKY PLEASE.

This is a great explanation of something that most people don't understand.

Awesome work Sazaneyes, great graph.

And your point about all eggs in one basket is well made. I have an SR2 that is not folding right now, because it is back to 800DDR - which kills bigadv points - while I finish some jobs. I simply cannot spend more time this week chasing weird memory issues. I doubt I will get the chance for a week and a half to get back to memory testing. :rolleyes:

MIBW, can't you just run non-bigadv SMP units until you sort out your memory problems? It won't be as good as bigadv, but at least it will be producing.
 
Thanks for the feedback. :)

I hope this doesn't discourage anyone from folding on older hardware, or make them feel like they need to take out a loan to buy a monster Xeon box. The Folding@home landscape is constantly changing. When I started folding nearly two years ago, just my PS3 was putting out some decent PPD on my old team. Because I'm impatient and wanted to move up the ranks more quickly, I was inspired by guys like Kendrak to build a GPU box. At that time, guys with big CPU farms were annoyed that upstarts with GPUs could put out more points.

Now, the GPU boxen like mine have been eclipsed by the new SMP/bigadv mega-CPU boxen. Who knows what will happen next? Stanford could change or even cancel the bonus program, or create some sort of GPU bonus program, or even finally create an ATI client that performed better than NVIDIA. It takes a really big investment not only to be one of the top folders, but to stay there over time. You see that on every team, where the top guys either take a break or stop folding entirely.

Almost half of the [H]orde's active users generate less than 400 PPD. To me, those people are the heart of the team, and without them we wouldn't have been #1 for so long. It's fun to see who can generate the most PPD or how high you can get in the overall point ranking, but ultimately it's about the long-term commitment to keep folding and contribute to the science.
 
Thanks for the feedback. :)

I hope this doesn't discourage anyone from folding on older hardware, or make them feel like they need to take out a loan to buy a monster Xeon box. The Folding@home landscape is constantly changing. When I started folding nearly two years ago, just my PS3 was putting out some decent PPD on my old team. Because I'm impatient and wanted to move up the ranks more quickly, I was inspired by guys like Kendrak to build a GPU box. At that time, guys with big CPU farms were annoyed that upstarts with GPUs could put out more points.

Now, the GPU boxen like mine have been eclipsed by the new SMP/bigadv mega-CPU boxen. Who knows what will happen next? Stanford could change or even cancel the bonus program, or create some sort of GPU bonus program, or even finally create an ATI client that performed better than NVIDIA. It takes a really big investment not only to be one of the top folders, but to stay there over time. You see that on every team, where the top guys either take a break or stop folding entirely.

Almost half of the [H]orde's active users generate less than 400 PPD. To me, those people are the heart of the team, and without them we wouldn't have been #1 for so long. It's fun to see who can generate the most PPD or how high you can get in the overall point ranking, but ultimately it's about the long-term commitment to keep folding and contribute to the science.

i think what this does is gives us a defined path of how we should upgrade.. we no longer need to really guess anymore what this and that upgrade will do.. in the end it will save us more money then actually costing us money..
 
MIBW, can't you just run non-bigadv SMP units until you sort out your memory problems? It won't be as good as bigadv, but at least it will be producing.

Yes, that is what I will be doing once I stop running memtests on the background. And as I will be rendering a lot of work in the next several days, no point doing bigadv.
 
I created a Google spreadsheet with the data and formulas from the main post, plus a TPF column for those who watch that instead of total WU time. The link has also been added to the end of the first post. It's read-only, but you can download it if you want to make changes.
 
I created a Google spreadsheet with the data and formulas from the main post, plus a TPF column for those who watch that instead of total WU time. The link has also been added to the end of the first post. It's read-only, but you can download it if you want to make changes.

I have to say, I really like spreadsheets. But what I like even more, is people sharing spreadsheets. :D

I was comparing your results to http://linuxforge.net/bonuscalc2.php and found tiny differences (not enough to be worried about, but curious, possibly rounding issues?)

I might try and modify your calculator to include a bit of upload time to simulate real world usage.

Again, thanks for the hard work in putting this together. Great stuff. :)
 
I just did a quick check of 2685 @ 30 hours (1.25 days) which equals a TPF of 18 minutes. All simple numbers, and yes, it looks like rounding issues with the bonus factor. To know which one is correct, we'd have to see how Stanford runs the calculation.
 
Back
Top