Validation is a precaution against both deliberate attempts to cheat, and accidental corruption of results caused by faulty hardware.
A valid result is not necessarily correct or useful. Errors in the work creation process can lead to bad results which still validate, but this is rare.
Classic BOINC validation Edit
This is the most straightforward type of validation. Each result is compared to the others, and if enough of the results match exactly, then those results are marked Valid and the others Invalid. If there are not enough matching results, then additional copies are sent out until the work unit validates successfully.
Zero redundancy validation Edit
Workunits are loaded into BOINC with a quorum size of 1. This means that 1 replica is created and it will only take 1 successfully run result in order for validation to be attempted on the result. However, there are a few checks in place:
- The server maintains a value that tracks how 'reliable' a given computer is. When a result is assigned to the computer for a workunit with a quorum of 1, then the reliable measurement is checked to make sure that the computer is sufficiently reliable. If it is, then all is good. If it isn't, then the workunit is changed to have a minimum quorum of two and a second copy is sent.
- When validation is attempted, the value for the host is checked again. If the value has fallen below the required level, then the result is marked Inconclusive and another result is sent.
- Additionally, during validation, there is a certain random chance that the result will be flagged to be checked again. Any result picked in this case will be marked Inconclusive until the validation with the additional result occurs. All computers are subject to random checking.
- There are some additional checks within the research application to detect errant results. Part of this is a short run of the application that computes a known result. Results failing this test are marked Invalid. This short run is used to help ensure that the computation ran correctly and also used as a benchmark to determine the appropriate credit to award.
Kevin Reed estimates that 1.2 copies are sent out for each valid result returned.
Monte Carlo validation Edit
Research using a random seed for each work unit can use a more efficient validation method. It doesn't matter whether an individual result is returned successfully, so long as enough valid results with different seeds are returned. Instead of checking for identical results, the validator checks that all the results are similar, then all the valid results are sent back to the researchers.
Related topics Edit
To return to the Frequently Asked Questions index choose link below or top left margin!