Changes between Version 4 and Version 5 of HomogeneousRedundancy


Ignore:
Timestamp:
Jul 6, 2007, 11:28:11 AM (17 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HomogeneousRedundancy

    v4 v5  
    1111== Homogeneous redundancy ==
    1212
    13 BOINC provides a feature called '''homogeneous redundancy''' to handle divergent applications. You can enable it for a project by including the line
     13BOINC provides a feature called '''homogeneous redundancy''' (HR) to handle divergent applications. You can enable it for a project by including the line
    1414{{{
    1515<homogeneous_redundancy>N</homogeneous_redundancy>
    1616}}}
    17 in the [ProjectConfigFile config.xml] file.
     17in the [ProjectConfigFile config.xml] file, where N is the "HR type" to use (see below).
    1818
    19 Alternatively, you can enable it selectively for a single application by setting the `homogeneous_redundancy` field in its database record.
     19Alternatively, you can enable it selectively for a single application by setting the `homogeneous_redundancy` field in its database record to the HR type for use with that application.
    2020
    21 Homogeneous redundancy (HR) divides hosts into 'numerical equivalence classes': two hosts are in the same class if they return identical results for your applications.  The BOINC scheduler will send results for a given workunit only to hosts in the same class; this lets you use strict equality to compare redundant results.
     21Homogeneous redundancy divides hosts into 'numerical equivalence classes': two hosts are in the same class if they return identical results for your applications.
     22The BOINC scheduler will send results for a given workunit only to hosts in the same class;
     23this lets you use strict equality to compare redundant results.
    2224
    23 N specifies the granularity of host classification:
     25An "HR type" is a host classification.
     26Currently the following HR types are defined:
    2427
    2528 0:: No homogeneous redundancy (all hosts are numerically equivalent)
     
    2831
    2932The proper classification depends on your application, and how it's compiled (compiler, compiler options, math libraries) on the various platforms.
    30 WCG reports that the following gcc options (on Linux) cause their apps to produce identical results on all processor types:
     33For example, WCG reports that the following gcc options (on Linux) cause their apps to produce identical results on all processor types:
    3134{{{
    3235-mieee-fp -O3 -fno-rtti -ffor-scope -DNDEBUG
    3336}}}
     37This allows them to use HR type 2.
     38
     39You can modify these HR types, or add your own, by editing the file
     40'''sched/hr.C'''.
     41
     42If you use HR, it's important to tell the feeder roughly what fraction
     43of hosts belong to each HR class;
     44this allows it to allocate space in its shared-memory work array
     45in proportion to this fraction.
     46This information is passed to the feeder in a file '''hr_info.txt'''
     47in your project's root directory.
     48You can generate this file by running '''sched/census'''
     49(you can run this as a periodic task to track changes
     50in your host population).
     51
     52The BOINC distribution includes a file '''sched/sample_hr_info.txt'''
     53containing host-distribution data from a large project.
     54You can use this e.g., during the period when your project is starting up
     55and doesn't have a lot of hosts yet.