Changes between Version 16 and Version 17 of ValidationIntro


Ignore:
Timestamp:
Mar 20, 2014, 12:23:27 PM (10 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ValidationIntro

    v16 v17  
    11= Validation =
    22
    3 In BOINC, a '''validator''' is a program that decides whether results are correct.
    4 You must supply a validator for each application in your project,
     3A '''validator''' is a program that decides whether completed jobs are "valid".
     4You must specify a validator for each application in your project,
    55and include it in the <daemons> section of your [ProjectConfigFile project configuration file].
    66
    7 Depending on various factors, you may be able to use a standard validator that comes with BOINC,
    8 or you may have to develop a custom validator.
     7Validating a completed job has 2 parts:
     8 * '''Syntax check''': verify that its output files are present on the server
     9  and have the correct format.
     10 * '''Replication check''': if the job is [JobReplication replicated], compare its replicas.
     11 If a strict majority are found to be "equivalent",
     12 those replicas are considered valid and the rest are marked as invalid.
    913
    10  * If your application generates exactly matching results
    11   (either because it does no floating-point arithmetic,
    12   or because you use [HomogeneousRedundancy homogeneous redundancy])
    13   then you can use the 'sample bitwise validator' (see below).
    14  * If you are using BOINC for 'desktop grid' computing
    15   (i.e. you trust all the participating hosts) then you can use the 'sample trivial validator' (see below).
    16  * Otherwise, you'll need to [ValidationSimple develop a custom validator] for your application.
     14Validators grant credit for valid results.
     15By default, this uses the mechanism described [CreditNew here].
     16There are several [CreditAlt alternative ways of granting credit].
    1717
    18 Several standard validators are supplied:
     18BOINC includes several "standard" validators:
     19 '''sample_trivial_validator'''::
     20   Marks a job as valid if its output files are present.
     21   Use this if all hosts are trusted.
     22   Not used with job replication.
     23 '''sample_substr_validator'''::
     24   Marks a job as valid if its stderr output includes a string
     25   specified by the --stderr_substr command-line arg.
     26   Not used with job replication.
     27 '''sample_bitwise_validator'''::
     28   Output files are equivalent if they agree byte for byte.
     29   This can be used if your application generates exactly matching results
     30   (either because it does no floating-point arithmetic,
     31   or because you use [HomogeneousRedundancy homogeneous redundancy]).
     32   If output files are gzip archives, use the '''--is_gzip''' command-line arg.
     33   This will skip the gzip header when comparing files.
    1934
    20  * The '''sample_bitwise_validator''' requires a strict majority, and regards results as equivalent only if they agree byte for byte.
    21  * The '''sample_trivial_validator''' accepts all results as valid.
    22  * The '''sample_substr_validator''' accepts results whose stderr output includes a string specified by the --stderr_substr command-line arg.
    23 
    24 By default, a validator grants credit for valid results using a default mechanism (described [CreditNew here]).
    25 There are several [CreditAlt alternative ways of granting credit].
     35For a given application,
     36you may want to define your own syntax check for output files,
     37or your own notion of "equivalence"
     38(for example, regarding floating-point numbers as equivalent if they agree within some tolerance).
     39In such cases, you can [ValidationSimple develop a custom validator] for the application.
    2640
    2741=== Command-line arguments ===