We have a single benchmark machine, its most important component is its processor: a Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz. The machine’s OS is Linux. Here are the steps that we use to determine points for a project:
- Take a WU from a project and run it on the benchmark machine until it finishes.
- Measure the time it took to complete. Base credit awarded for the WU is then just a scaling factor multiplied by this time.
- The timeout and deadline values are also simple functions of the time it took to complete. These are set primarily to give a donor a reasonable amount of time to finish a WU, but short enough so that any WU that gets sent out but not processed (e.g. donor quits FAH, forgets to re-start that WU, their computer dies, etc) can be retrieved and sent out again in a reasonable amount of time. Thus these values are set depending on what kind of hardware a project is being run on (uniprocessor, SMP, GPU) and how long the WU took to finish on the benchmark machine.
- The k-factor, a coefficient in awarding bonus points, is currently set to a baseline value of 0.75, but may vary depending on the scientific value of a project.
The Folding@home software on your computer calculates Total Points as follows:
final_points = base_points * max(1, sqrt( k * deadline_length / elapsed_time))
Note that the max(1, …) ensures that final_points are never lower than base_points, deadline_length is the deadline aka final deadline, and elapsed _time is the length of time from when the WU was assigned, to when it was uploaded, including transit time. Deadline_length and Elapsed_time are measured in days to one decimal point.
PPD is calculated as follows:
PPD = 14.4 * base_points * max(1, sqrt( 14.4 * k * Expiration / TPF)) / TPF
Note that TPF is in minutes, in decimal form, not time format.
Note that GPU projects are now being benchmarked on the same machine, but using that machine’s CPU. By using the same hardware, we want to preserve our goal of “equal pay for equal work”. Our GPU methods have advanced to the point such that, with GPU FAHCore 17, we can run any computation that we can do on the CPU on the GPU. Therefore we’ve unified the benchmarking scheme so that both GPU and CPU projects use the same “yardstick”, which is our i5 benchmark CPU.
Please note that the very concept of a reference machine will mean that some WU benchmarking will vary from the performance on your machine. Even between P4s, there are significant differences in architectures over the years. Moreover, variations between FAH WUs can also lead to differences in benchmarking points.
Our goal is consistency within a given definition of a reference machine setup (described above), but beyond that the natural variation from machine to machine and WU to WU will never allow any point system to perfectly reflect what you get on your machine. See also the Points FAQ