BOINC Credit System
Encyclopedia
Within the BOINC platform for volunteer computing
, the BOINC Credit System helps volunteers keep track of how much CPU time
they have donated to various distributed computing projects. The credit system is designed to avoid cheating by validating results before granting credit on projects. This ensures users are returning accurate results for both scientific and statistical reasons.
distributed computing
relies heavily, if not completely, on volunteer computer
s. For this reason, projects such as SETI@home
and other BOINC projects depend on a complicated balance among long-term users and the cycle of new users and retiring users.
. The basis of the system is the concept that 200 cobblestones would be claimed for one day of work on a computer with the following specifications:
The actual computational difficulty needed to run a given work unit is the basis for the number of credits that it should be granted. The BOINC system allows for work of any length to be processed and have a user claim identical amounts of credit.
To achieve this BOINC uses benchmarks
to measure the speed of a system and in combination with the amount of time it required for a work unit to process can “guess” at the amount of credit it should receive. Since systems have many variables including the amount of RAM
, the processor
speed, and specific architectures of different motherboards and CPUs, there can be wide discrepancies in the number of credits that different computers believe that each work unit requires to process.
Most projects require a consensus be reached by having multiple hosts return the same work unit. If they all agree then the credit is calculated and all hosts receive the same amount regardless of what they asked for. Each project can use their own policy depending on what they see is best for their specific needs. In general the top and bottom claimed credits are dropped and an average of the remaining is taken.
Additionally RAC is independent of computers, users, and teams, meaning they cannot be simply added up. RAC was originally meant to help scientists understand the computational power available to them and to increase competition among users by allowing even new users to quickly move up in rank based on RAC, which should directly reflect how fast work is being processed.
files and make it available for anyone to download. Many different third party statistics
websites have been developed to track the progress of BOINC projects. The statistics track computers, users, teams, and countries within individual projects and across many projects. Many different sites provide summary graphics
, which can be used on web pages that automatically update to contain the statistical information for the specified user or team.
Volunteer computing
Volunteer computing is a type of distributed computing in which computer owners donate their computing resources to one or more "projects".-History:...
, the BOINC Credit System helps volunteers keep track of how much CPU time
CPU time
CPU time is the amount of time for which a central processing unit was used for processing instructions of a computer program, as opposed to, for example, waiting for input/output operations. The CPU time is often measured in clock ticks or as a percentage of the CPU's capacity...
they have donated to various distributed computing projects. The credit system is designed to avoid cheating by validating results before granting credit on projects. This ensures users are returning accurate results for both scientific and statistical reasons.
Purposes for a credit system
OnlineONLINE
ONLINE is a magazine for information systems first published in 1977. The publisher Online, Inc. was founded the year before. In May 2002, Information Today, Inc. acquired the assets of Online Inc....
distributed computing
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
relies heavily, if not completely, on volunteer computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
s. For this reason, projects such as SETI@home
SETI@home
SETI@home is an Internet-based public volunteer computing project employing the BOINC software platform, hosted by the Space Sciences Laboratory, at the University of California, Berkeley, in the United States. SETI is an acronym for the Search for Extra-Terrestrial Intelligence...
and other BOINC projects depend on a complicated balance among long-term users and the cycle of new users and retiring users.
Reasons for participation
- Donate to scientific cause
- Many users wish to advance the specific field of study
- Projects that help fight diseaseDiseaseA disease is an abnormal condition affecting the body of an organism. It is often construed to be a medical condition associated with specific symptoms and signs. It may be caused by external factors, such as infectious disease, or it may be caused by internal dysfunctions, such as autoimmune...
may have an emotional connection for those participating
- Stress test computers
- Processing distributed computing projects places a computer under continuous full CPUCentral processing unitThe central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
load, therefore, overclockers often use the stress to test their system's stability
- Processing distributed computing projects places a computer under continuous full CPU
- Teams, credits, and competition
- Some individuals and teams run many computers and have some dedicated specifically to BOINC in hopes of climbing to the top of the world charts
- Personal benefits and recognition
- Projects such as PlanetQuestPlanetQuestPlanetQuest is a grid computing project for discovering new planets and classifying stars from Earth-based observatories' images.-Overview:The PlanetQuest project is currently still under development, and will utilize the BOINC platform.To search for new planets, PlanetQuest developed the Transit...
plan on allowing individuals to name those planets discovered using their computers - Projects such as BURP and Leiden ClassicalLeiden ClassicalLeiden Classical is a distributed computing project run by the Theoretical Chemistry Department of the Leiden Institute of Chemistry at Leiden University...
allow users to submit their own operations for use in the system. BURP allowing a user to submit models to be rendered and Leiden Classical allowing users to submit physics calculations
- Projects such as PlanetQuest
Cobblestones
The basis for the BOINC credit system is the cobblestone named after Jeff Cobb of SETI@homeSETI@home
SETI@home is an Internet-based public volunteer computing project employing the BOINC software platform, hosted by the Space Sciences Laboratory, at the University of California, Berkeley, in the United States. SETI is an acronym for the Search for Extra-Terrestrial Intelligence...
. The basis of the system is the concept that 200 cobblestones would be claimed for one day of work on a computer with the following specifications:
- 1,000 double-precision MIPS based on the Whetstone benchmarkWhetstone (benchmark)The Whetstone benchmark is a synthetic benchmark for evaluating the performance of computers. It was first written in Algol 60 in 1972 at the National Physical Laboratory in the United Kingdom and derived from statistics on program behaviour gathered on the KDF9 computer, using a modified version...
. - 1,000 VAX MIPS based on the Dhrystone benchmarkDhrystoneDhrystone is a synthetic computing benchmark program developed in 1984 by Reinhold P. Weicker intended to be representative of system programming. The Dhrystone grew to become representative of general processor performance...
.
The actual computational difficulty needed to run a given work unit is the basis for the number of credits that it should be granted. The BOINC system allows for work of any length to be processed and have a user claim identical amounts of credit.
To achieve this BOINC uses benchmarks
Benchmark (computing)
In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it...
to measure the speed of a system and in combination with the amount of time it required for a work unit to process can “guess” at the amount of credit it should receive. Since systems have many variables including the amount of RAM
Ram
-Animals:*Ram, an uncastrated male sheep*Ram cichlid, a species of freshwater fish endemic to Colombia and Venezuela-Military:*Battering ram*Ramming, a military tactic in which one vehicle runs into another...
, the processor
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
speed, and specific architectures of different motherboards and CPUs, there can be wide discrepancies in the number of credits that different computers believe that each work unit requires to process.
Most projects require a consensus be reached by having multiple hosts return the same work unit. If they all agree then the credit is calculated and all hosts receive the same amount regardless of what they asked for. Each project can use their own policy depending on what they see is best for their specific needs. In general the top and bottom claimed credits are dropped and an average of the remaining is taken.
Total credit
Credits are tracked internally for computers, users, and teams. When a computer processes and returns a work unit it receives no credit. It must first have that work unit validated by the project specific method. Once validated the computer is granted credit, which can be less than, equal to, or greater than what was requested. This amount is immediately added to the computer, user, and team total. If a work unit is returned past the given deadline or is found to be inaccurate it is marked as invalid and zero credits will be granted. Users and teams commonly determine world rank by comparing the total number of credits accumulated. This highly favors users and teams that have been around for the longest time and makes it extremely difficult for new users to rapidly gain ground in the rankings even if they are running many computers. That being said, given the exponential increase in computing power of the average PC, it is relatively easy to surpass inactive BOINC users, who have earned all of their points on obsolete machines -- even if they were at one time ranked highly. Thus, on average, the highest ranked BOINC users will be the ones who are actively crunching.Recent average credit
To calculate the useful amount of work provided by a computer, a special calculation called Recent Average Credit (RAC) is used. This calculation is designed to estimate the number of credits a computer, user, and team will accumulate on an average day. Due to the many variables not taken into account including the inconsistency of host processing, time it takes to validate work units, discrepancies in benchmarks, and possible project down time, the RAC calculation proves to be only a guide.Additionally RAC is independent of computers, users, and teams, meaning they cannot be simply added up. RAC was originally meant to help scientists understand the computational power available to them and to increase competition among users by allowing even new users to quickly move up in rank based on RAC, which should directly reflect how fast work is being processed.
Third party statistics sites
BOINC projects export statistical information in the form of XMLXML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
files and make it available for anyone to download. Many different third party statistics
Statistics
Statistics is the study of the collection, organization, analysis, and interpretation of data. It deals with all aspects of this, including the planning of data collection in terms of the design of surveys and experiments....
websites have been developed to track the progress of BOINC projects. The statistics track computers, users, teams, and countries within individual projects and across many projects. Many different sites provide summary graphics
Graphics
Graphics are visual presentations on some surface, such as a wall, canvas, computer screen, paper, or stone to brand, inform, illustrate, or entertain. Examples are photographs, drawings, Line Art, graphs, diagrams, typography, numbers, symbols, geometric designs, maps, engineering drawings,or...
, which can be used on web pages that automatically update to contain the statistical information for the specified user or team.