BOINC FAQ: Credit

From Unofficial BOINC Wiki

Jump to: navigation, search

Contents

[edit] General

This FAQ topic is about Credit, note that many of the details are not covered here. This is an overview of what Credit is about. Use the links for the terms and phrases to get the full explanation.

[edit] What is "Credit"?

Quickly, Credit is a measurement of contribution of the Participant to the science activities being performed with their donated computer time (or other resource such as Disk Drive space).

The basic idea is that many people are motivated by a possibility of competition. So, we create a way for people to become more addicted to the pleasure of the donation of their "Idle" Computer Time.

It must work, you should see the complaints on the Forums when the credit is not being distributed due to some "glitch" in the Project's ability to keep up with the demands of the Participants who are returning Results faster than they can be Validated!

[edit] In what ways can credit be calculated?

There are a lot of valid ways that the contribution can be measured. A few of them are:

  • A count of Work Units processed.
  • A count of CPU Time applied in seconds.
  • A count of the mathematical operations performed by the CPU.
  • A count of CPU Time used in seconds multiplied by a metric of work production also measured in seconds.

One of the easiest and simple methods is to simply count the number of Work Units processed. This method has the drawback of being only completely valid and consistent when the Work Units are all identical in size and take the exact same amount of processing resources to complete. Since the BOINC Client Software is a multi-project capable system the simplistic "increment the bean" (for the bean counters, naturally) is immediately invalidated.

You can't count Work Units processed across Projects because of the levels of complexity and processing times will not be the same across projects.

Counting wall clock time applied is also right out the window because each type of CPU ship performs a different amount of work in the same number of second because of differences in internal architecture and clock speeds.

Counting the number of mathematical operations is also right out because we are now wasting a lot of CPU Time just tracking what we are doing with each mathematical operation. Besides, one computer may have built-in capabilities that another computer's processor does not have.

[edit] Is the BOINC Software going to have a "credit" system.

Yes. Keep reading and we will likely bore you to tears with the whole Credit mess. Just remember, regardless of what the end system looks like or how carefully it is crafted; someone is going to be unhappy.

If that person is you, well, sorry about that.

[edit] Is there any way to make a foolproof credit system?

In a word, No.

But it is possible to make one that is reasonably fair and accurate.

The system devised for BOINC is, like most systems, a compromise between fairness (the perception of which varies from individual to individual), accuracy, and complexity. There is no way we can make a system that everyone will perceive to be fair. Greater accuracy comes from spending computing resources calculating a value (or values) that contributes nothing to the science. Lastly, the more complex the system, the more resources it takes to manage. Every cycle spent on calculation of credit comes at the expense of the science.

[edit] Will this new credit system satisfy everyone?

In the same word as before, No.

It seems like some people just like to complain. The Credit system in the original SETI program was a reasonable way to make a measurement of contribution. But that is all it was. Just a rough measurement of contribution. For the developers behind the scenes it also gave them a way to determine where to spend the development resources to develop follow-on applications. By and large, the biggest pool of contributors were running i386 Instruction Set Architecture CPUs. This meant that it made the most sense to concentrate on making sure the PC/Microsoft Windows® architecture got the lion's share of the development effort.

Along came the group of Participants that became more interested in the rough contribution metric as the whole point of SETI@Home. The point of the Project was to do science, and by the way you can count the number of peanuts you ate. Was the point of the peanuts to count how many you ate, or to add flavor to your beer?

And so began the heated debate over why someone was "cheated" out of their rightful contribution to the Project because someone else had a couple of Work Units that could be processed faster than some other Work Units.

[edit] Why didn't the BOINC project managers listen to the participant population about credit issues?

Actually, the BOINC development did listen to the Participant community. The old Forums were full of debate about this and how it should be done. The problem is just that what one thinks is a "fairer" and "better" system, naturally enough, gives their contribution a greater accumulation of Credit. Possibly to the detriment of some other Participant's contribution. The second Participant of course then loudly decries the situation and proposes a system whereby he gets more at the expense of the first Participant.

With all of the heated debate very few of the "credit seekers" seemed to have much of an appreciation of the fact that the whole point of this was to produce science results. It was never intended to create a scorecard where I could gloat that I did more than you.

To my mind, a lot of the debate over the Credit system was done by people who were … { Some offending material removed, don't look here } We now continue with your regularly scheduled FAQ

Of course that is just my opinion. Your Mileage May Vary.

[edit] What about my credit from the original SETI@Home program?

You will still have it.

However, the old numbers will not be translated into Cobblestones.

[edit] Why do we need a credit counting system?

Well, "Credit" has absolutely nothing to do with the science being performed. But some Participants enjoy the entertainment provided by the discussions and the measurements of their contributions. If that is kept to the forefront of our minds there is nothing intrinsically wrong with giving recognition to personal milestones.

[edit] With all the problems with credit, why not just drop it?

We are attempting to attract the largest base of Participants to perform needed science. If we can get more Participants to donate time, lets face it, we need to do what is necessary to, um, attract them. If you don't care, it's cool, you can avoid all of the debates (please do avoid them, they are a complete, for the most part, waste of time I can imagine) and are none the worse for it. But a lot of our heavy contributors are "Crunchers" and it is a relatively easy way to rope them in.

[edit] Do I need to be concerned with my earned credit?

Only as much as you want to be. If you are indifferent to it (good for you), pay no attention at all. If you enjoy it, it's there for your entertainment.

[edit] Did the original SETI@Home have a credit system?

Yes. It used the counting method. Many complained that it was unfair because some Work Units took slightly longer to calculate than others. Since I don't understand the mathematics and likely you won't either it is not that terribly important to get into the details of it. More critical was the fact that a small number of Work Units had significant amounts of noise and would be abandoned after very few calculations. So a Participant could feel slighted that someone else was getting "cheaper" Work Units and thereby inflating their contribution.

A reality that escaped most of the people that complained was that after you had done a couple hundred to a thousand work units the probabilities and averages work out because everyone had an equal opportunity and probability of getting "faster" work units. In other words, it averages out and NO one truly had an advantage.

Note:
Well, I guess I need to state that this is not entirely true. Almost, but not completely. Some one pointed out to me (Scott Brown, thanks Scott!) that, though technically correct, I was not completely correct. Scott pointed out that:
  1. It is not just units with "noise" that are faster, but also those with bigger angle ranges, and
  2. that the effect of this, combined with an add-on program, were capable of allowing a participant to select only those work units above a certain angle range, thereby producing a non-random process.

In effect, the heavy duty, ahem, cheater; could in fact eliminate all of the "slower" work units and thereby increase the numbers processed by some percentage.

This effect will be more limited in the BOINC System in that there are features planned to "throttle" the amount of work issued to computers that seem to have difficulty processing work along with the current feature where the number of Work Units issued to a specific computer is limited to a certain number each day.

The combination of these two features, and the fact that work is "tied" to a specific computer should eliminate this type of behavior to some extent.

Need to link to the SETI@Home FAQ about the True Angle Range, noise WU and ...

[edit] Why was the credit system not fixed?

Since it contributed nothing to the science there was no incentive to spend scarce development resources on fixing something that had no intrinsic value to the main purpose of the Project.

It just does not make sense to spend money gilding the lily, the lily is already pretty darn pretty.

Besides, it wasn't broken in the first place, and so required no "fixing". Remember, if it isn't broken, don't fix it.

[edit] Did anyone stop contributing because of the old credit system?

I am sure there were a few that left. But if they left because of the "broken" system it is likely that they would have found some other reason to quit. Though we don't want any participant to stop contributing to the advancement of science, it is always impossible to satisfy everyone.

Many of the participants that "stalked" off in a "huff" seemed to me to be showing up still, complaining loudly still, and in general making a pain of themselves, at a later date.

Some people just don't seem to be happy unless they can complain!

[edit] Why aren't we going to use the same credit system as the original SETI@Home Project?

Well, counting the beans is only a valid metric if all beans are the same size.

Within a Project a simple count of Work Units processed is a valid metric in the long run because probability distribution means that even if the processing time varies, over the long run it does not matter.

With the BOINC System however, we have a much more complicated situation. Not only do we have small variations within each project's Work Units we have the new and different problem of each BOINC Powered Project having varying requirements to process each of their specific Work Units. Simply speaking; a SETI@Home Work Unit, is a SETI@Home Work Unit, is a SETI@Home Work Unit. But a SETI@Home Work Unit is not the same as an AstroPulse Work Unit, they take vastly different amounts of resources to process.

[edit] What will BOINC's credit system be based upon?

It is based on the concept of a "Reference Computer".

This is a computer with defined attributes that can be used as a theoretical machine and the computing power of this machine give you a way to correlate the processing power of other computers.

As a theoretical computer that has a predetermined capability that is precisely defined; the BOINC System's "Reference Computer" has these characteristics:

[edit] What are the different types of credit in might be possible with BOINC?

Well, there are a number of things that can be counted. In a way, this is giving the "Crunchers" a whole bunch of ways to argue. For that alone the developers of BOINC should get honorable mention.

Metrics proposed include:

For my part, as an "unofficial" by-sitter (well, I am not standing at the moment, so I cannot be a bystander) I would like the Work Unit counting metric retained in addition to the Cobblestone accounting. No old work would be converted into anything, but simply allow us "old-time" SETI@Home crunchers the ability to continue to accrue Credit on the old numbers we were so proud of. The overhead of incrementing the bean is minimal on all system components. And this proposal has the added benefit of making those that are complaining the loudest about their Credit being "stolen" having no room to complain.

I stress, that this is my idea and has no official standing and is not very likely to occur.

However, I will point out that with MySQL and the logs from either BOINC-View or one of the other BOINC Logging tools, I can keep a count of my own work.

[edit] Now what about this unified accounting? What does it mean to me?

Unified accounting means that all of the projects that will run on the BOINC System are going to calculate Cobblestones using the same rules and you will get your allocation of Credit using the same rules for work effort contributed to all Projects.

[edit] How is credit calculated in BOINC?

Usually with addition. Each Work Unit processed will create a value that is called "Claimed Credit". Claimed Credit is the amount of credit your local copy of the BOINC Client Software thinks that you deserve for the work performed.

Credit is claimed according to the following formula:

Claimed Credit = ([whetstone]+ [Dhrystone])/1000 * 100 / (2 * secs_per_day) * wu_cpu_time

or to simplify the equation,

Claimed Credit = ([whetstone]+ [drystone]) * wu_cpu_time / 1728000
Note:
wu_cpu_time is the time taken to process the unit in seconds.

The amount of Credit granted can be this number or some other amount depending on the policy rules for the specific BOINC Powered Project. Some Projects may grant immediate Credit for the full claim, other projects may grant the lowest amount claimed, others may grant some median value.

Theoretically all computers should claim very nearly the same Credit for the same Work Unit.

The benchmarking code needs some work even though it does work much better now than it has in the past. It also may be impossible to get really accurate numbers due to the way newer processors slow themselves down to prevent overheating.

You should be aware that your work may not result in any Granted Credit at all. For example many projects are most likely are going to require Validation of your Results with other Participants before Credit is granted.

Before the frowns break out, need I remind everyone that the point of the contribution is to further science?

[edit] Come on, can't you give us an idea of how the credit is earned?

Actually, I can. Here is a simplified version of the whole process:

Credit Process
Credit Process


[edit] What the heck is a "Cobblestone"?

A Cobblestone is 1/100 of a day of CPU Time on the Reference Computer.

The number of operations you computer can perform as compared to the theoretical machine is known because of the benchmark run on your computer. The amount of time it took you to process the Work Unit can be calculated and represented as a value of Cobblestones.

[edit] Why the name "Cobblestones"?

Well, history (and as you know, those that do not know their history are doomed to step into it) is the reason.

The first Benchmark, the father as it were of the millions that followed, was called a "Whetstone" because of the name of the Whetstone Algol (Algol is then name of an early computer language) compiler system. This system was used to collect statistics about the distribution of "Whetstone Instructions" which were instructions of the intermediate language used in this compiler. (source: "Computer" magazine December 1990).

The first artificial benchmark was a series of modules that attempted to measure specific components of the computer system, such as the integer arithmetic portion of the Arithmetic and Logic Unit (ALU). This program would be run and the data was used to indicate the relative capabilities of one system over another.

Later, new and different benchmarks were developed because of real and perceived problems with the other earlier Benchmarks. So the next in line was the Dhrystone (source: "Computer" magazine December 1990); the "Sieve of Eratosthenes" (which was one of the worst benchmarks in a long line of bad benchmarks); Rhealstone ("Dr. Dobb's Journal", February 1989); and Dhampstone ("Computer Language" February 1989). And, other benchmarks too numerous to mention... (though if I get e-Mails asking for more information on benchmarks and why they all stink, maybe, just maybe, I will add a section on benchmarks …)

Anyway, we have this seemingly long list of puns on top of puns on top of, well, you get the idea. Besides, the name does not have to be good. It just has to be different. And "geek" like.

For extra points, what was the real name of Dr. Dobb's Journal? My answer is buried, now you have to find it or die from curiosity. And if I did not put it in here someplace, you are going to die anyway. Ha! So there!

All of this was way more than you wanted to know, I can tell.

And searching on Dobb's is not going to find it.

Paul's Lecture on Benchmarks


[edit] Can a person "cheat" and get too much credit?

No.

One of the first reasons that a person cannot "cheat" is that there is tighter controls on getting Work Units to process and then when submitting Results. Firstly, you cannot return a Result for a Work Unit you were not issued. So, if you and I went off and got two sets of, say 10 Work Units, with you processing your set, and I doing the same with my set; and then after we had processed the sets we then combined them and submitted the 20 Results for our two Accounts we would still only get Credit for the results for our individual Work Unit sets.

Why will we only get Credit for 10 Work Units? Because the Data Server and the Scheduler know that he was not issued my Work Units and I was not issued his. That is one of the simplest and easiest ways to prevent the simplest method of cheating by "cloning" results.

[edit] Why don't I get the full amount of credit I claimed?

Because we don't like you?

Ok, I will get serious.

Well, because of those people that were more militant about the Result counts in the original SETI@Home than in the fact that the point was to do the science!

Boy am I glad that I got that off my chest, whew! In essence, a tail became more important to some participants than the dog himself. Lets face it, claiming Credit (or better, getting Credit where Credit is due) is a lot of fun. But the real point remains the science itself.

Also, the Credit that is granted, in most cases, is the lowest claimed credit, or the median of the results in the Quorum of Results which ensures that someone cannot cheat by making claims for credit for their returned work (their Result) that is out of line with the Credit that should have been claimed.

[edit] I just processed a bunch or work units. Why I haven't I seen an increase in my granted credit?

Well, we need a Quorum of Results which will vary depending on the Projects that you have joined. And it is possible that the Result that you returned did not compare with the other Results. And if it did not compare then there was a problem, possibly with your machine that invalidated your work. There are things that you can do if the number of Work Units you have not been Granted Credit for is way, way up there. But you should expect that you are going to lose up to as much as 10% of the Claimed Credit and that is just the way it is.

The reasons that you could return invalid Results include (but are not limited to):

  1. The Work Unit or Result gets corrupted on the way to or from your machine.
  2. Your machine is not functioning correctly.
  3. There is an error in the Work Unit.
  4. There is an error in the Science Application.
  5. Bad luck.
  6. You are not using the "new" and "improved" version of toothpaste.
  7. Evil demons.


[edit] What is "Claimed Credit"?

After a Work Unit's Result Data File is returned to the Data Server your BOINC Client Software submits a claim to the Scheduler during the next connection to submit, among other information, a Claimed Credit value for the Result. This Claimed Credit is added to the Pending Credit list and you should be Granted Credit when confirming Results are returned by the other Participants in that project are also processing that same Work Unit.

In the instance where you are returning a Result that confirms to another Result already returned, some, or all, of your Claimed Credit will be quickly turned into "Total Credit". This does not happen immediately because of the time it takes the back-end systems to perform all of their tasks.

Keep in mind though, the submission of a value of Claimed Credit may not result in a Granted Credit value. Errors in the processing of the Result, a bad Work Unit, the inability to establish a Quorum of Results, etc. may condemn this Work Unit to oblivion.

[edit] What is "Recent Average Credit"?

This is a mechanism for tracking your day-to-day "production" and it allows you to keep an eye on how you are doing. This number is usually of more interest to the Participants (the "Crunchers") that have a "Farm" of computers so that they can monitor if they are all producing as they should. Recent Average Credit is the speedometer, where Credit is the odometer.


[edit] Why is my "Pending Credit" list so long?
Shouldn't I get credit as soon as I return a work unit?

No.

Your Result has to be validated by the project specific validation and quorum rules.


[edit] How will people know that I participated in the SETI@Home Classic project?

If you Activate the Account that was made for you, this information will appear in the Your Account Page of the Project's Web Site.

This information is also available to other people when they look in the Account Data Page for your Account.

I added a link here to the page for my account and you can see my information for SETI@Home Classic.

Note that this information is a static "snapshot" as of March 2005 and it will be updated when the SETI@Home Classic project is shut-down for the last time.

[edit] Can someone DEFINITIVELY say that Work Units returned late will NOT receive any credit?

Results returned before the Deadline (and are valid) will get Credit.

If Result "C" is returned after the Deadline it MAY still get Credit. Result "C" will eventually get Credit if, out of an initial issue of Results "A" through "D":

  1. No valid Result has been found yet, and the Result "C" is valid; meaning that Results "A", "B" and "D" were invalid or have not yet been returned.
  2. A valid Result "A" has been found but not yet deleted, because one or more other Results, say "D", and a subsequently sent "E" (sent to replace a lost Result "A" or "B", for example), are in progress and not yet overdue and the Result "C" is valid.

What this means is that Results are issued. Usually in a set of 3 or 4 (in the example above "A" through "D"); with, again usually, a Quorum Size of 3 Valid Results.

If, one or more of those Results were in error, not returned, or invalid, then additional Results, "D" and "E" were issued to attempt to fill the Quorum of Results.

Also see Credit And Late Results.

[edit] What about earning Credit while a member of a Team?

The accumulation of Credit in your own account will never change regardless of membership on a Team. You will always accumulate the appropriate Granted Credit if you are on a team, you will accumulate the same Credit if you are not on a Team.

When you join a Team, you join it with a zero balance. After you have joined a team, the Granted Credit is added to your Total Credit balance and to the Team's Total Credit balance.

When you leave the Team, the Credit you earned while a member of that Team will stay with that Team. You do not take it with you to add to another Team's Total Credit balance.

Climateprediction.net is an exception to this. Due to various complications, all of a user's Credit is allocated to their current Team. So Climateprediction.net Team Credit moves with you.

Personal tools