Computation credit
From BOINC
| Line 4: | Line 4: | ||
A BOINC project gives you '''credit''' for the computations your computers perform for it. | A BOINC project gives you '''credit''' for the computations your computers perform for it. | ||
BOINC's unit of credit, the '''Cobblestone''' (named after Jeff Cobb of SETI@home), | BOINC's unit of credit, the '''Cobblestone''' (named after Jeff Cobb of SETI@home), | ||
| - | is 1/ | + | is 1/200 day of CPU time on a reference computer that does |
| - | + | 1,000 FLOPS based on the [[wikipedia:Whetstone (benchmark)|Whetstone]] benchmark | |
| - | + | ||
| - | + | ||
Eventually, credit may reflect network transfer and disk storage as well as computation. | Eventually, credit may reflect network transfer and disk storage as well as computation. | ||
| Line 13: | Line 11: | ||
Credit has no monetary or other value; | Credit has no monetary or other value; | ||
it's just a measure of how much work your computers have done. | it's just a measure of how much work your computers have done. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
== Credit and FLOPS == | == Credit and FLOPS == | ||
| Line 30: | Line 17: | ||
<pre> | <pre> | ||
| - | GigaFLOPs = RAC/ | + | GigaFLOPs = RAC/200 |
| - | TeraFLOPS = RAC/ | + | TeraFLOPS = RAC/200,000 |
</pre> | </pre> | ||
| - | (Remember that a 1 GigaFLOP machine, running full time, produces | + | (Remember that a 1 GigaFLOP machine, running full time, produces 200 units of credit in 1 day). |
The credit figures for a particular day may be distorted if a project is catching up or falling behind on validation (the process or granting credit). Thus to get accurate FLOPS estimates you should look at average RAC over a period of a week or so. | The credit figures for a particular day may be distorted if a project is catching up or falling behind on validation (the process or granting credit). Thus to get accurate FLOPS estimates you should look at average RAC over a period of a week or so. | ||
| Line 49: | Line 36: | ||
'Whetstone' is a benchmark that is reported as 'Measured floating point speed'. | 'Whetstone' is a benchmark that is reported as 'Measured floating point speed'. | ||
| - | |||
Floats can have fractional parts (like 1.48283 or 3.141592); | Floats can have fractional parts (like 1.48283 or 3.141592); | ||
| - | |||
Whetstone does 8 different groups of tests (repeatedly of course), | Whetstone does 8 different groups of tests (repeatedly of course), | ||
times how long they took to finish, and produces a number, [ops performed]/[time]. | times how long they took to finish, and produces a number, [ops performed]/[time]. | ||
| Line 57: | Line 42: | ||
Some of them are simple math (addition, multiplication, division) | Some of them are simple math (addition, multiplication, division) | ||
while others compute trigonometric and exponential functions (sine, cosine, tangent, exponent). | while others compute trigonometric and exponential functions (sine, cosine, tangent, exponent). | ||
| - | |||
| - | |||
Neither of the tests really checks how well/fast a system can access memory, | Neither of the tests really checks how well/fast a system can access memory, | ||
and most BOINC applications access memory a lot. | and most BOINC applications access memory a lot. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
== Why 'predicted time' can be wrong == | == Why 'predicted time' can be wrong == | ||
Revision as of 19:00, 15 July 2010
|
A BOINC project gives you credit for the computations your computers perform for it. BOINC's unit of credit, the Cobblestone (named after Jeff Cobb of SETI@home), is 1/200 day of CPU time on a reference computer that does 1,000 FLOPS based on the Whetstone benchmark
Eventually, credit may reflect network transfer and disk storage as well as computation.
Credit has no monetary or other value; it's just a measure of how much work your computers have done.
Credit and FLOPS
The average FLOPS (floating point operations per second) achieved by a computer or group of computers can be estimated from its Recent Average Credit (RAC) as follows:
GigaFLOPs = RAC/200 TeraFLOPS = RAC/200,000
(Remember that a 1 GigaFLOP machine, running full time, produces 200 units of credit in 1 day).
The credit figures for a particular day may be distorted if a project is catching up or falling behind on validation (the process or granting credit). Thus to get accurate FLOPS estimates you should look at average RAC over a period of a week or so.
Recent Average Credit
Projects maintain two counts of granted credit:
- Total credit: The total number of Cobblestones performed and granted.
- Recent average credit: The average number of Cobblestones per day granted recently. This average decreases by a factor of two every week.
Both quantities (total and recent average) are maintained for each user, host and team.
How benchmarks are calculated
'Whetstone' is a benchmark that is reported as 'Measured floating point speed'. Floats can have fractional parts (like 1.48283 or 3.141592); Whetstone does 8 different groups of tests (repeatedly of course), times how long they took to finish, and produces a number, [ops performed]/[time]. These tests all use floating point math operations of the CPUs being tested. Some of them are simple math (addition, multiplication, division) while others compute trigonometric and exponential functions (sine, cosine, tangent, exponent). Neither of the tests really checks how well/fast a system can access memory, and most BOINC applications access memory a lot.
Why 'predicted time' can be wrong
Each task delivered to your machine includes an estimated number of floating point (FP) calculations. BOINC divides this by the FP benchmark number to estimate completion time. SETI@home's tasks estimate number is currently always 27.9 trillion (american), however the actual number of FP ops varies greatly which is why WUs take different amounts of time to finish. SETI@home uses almost all single-precision floating point math, while Whetstone is all double-precision math. On Intel x86 processors the speed difference in calculating single vs. double isn't very large.
SETI@home uses mostly add, sub, multiply and divide. About 20% of its time is spent in trigonometry. Almost all the time in Whetstone is used for trigonometry.
Memory access speed and trigonometry are the two major reasons that the benchmark results and SETI@home processing speed don't match up on many systems.