= 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