Version 2 (modified by 16 years ago) (diff) | ,
---|
Validation, credit, and replication
A computational result consists of:
- The result itself (the output files)
- The amount of CPU time used; this may be used to determine how much credit to grant for the result.
In general, neither of these can be trusted:
- Some hosts have hardware problems (consistent or sporadic) that cause errors (usually in floating-point computation).
- Some volunteers may maliciously return wrong results; they may even reverse-engineer your application, deciphering and defeating any sort of internal validation mechanism you might include in it.
- Some volunteers may return correct results but falsify the CPU time.
There are
purposes: correct results, correct credit no redundancy
(still can validate) may bound credit
redundancy
exact match
exact computation
sixtrack example: compiler,
compiler options (disable DP hardware), numerical libraries
homogeneous redundancy exact checkpointing
fuzzy matching