Changes between Version 4 and Version 5 of HomogeneousRedundancy
- Timestamp:
- Jul 6, 2007, 11:28:11 AM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
HomogeneousRedundancy
v4 v5 11 11 == Homogeneous redundancy == 12 12 13 BOINC provides a feature called '''homogeneous redundancy''' to handle divergent applications. You can enable it for a project by including the line13 BOINC provides a feature called '''homogeneous redundancy''' (HR) to handle divergent applications. You can enable it for a project by including the line 14 14 {{{ 15 15 <homogeneous_redundancy>N</homogeneous_redundancy> 16 16 }}} 17 in the [ProjectConfigFile config.xml] file .17 in the [ProjectConfigFile config.xml] file, where N is the "HR type" to use (see below). 18 18 19 Alternatively, you can enable it selectively for a single application by setting the `homogeneous_redundancy` field in its database record .19 Alternatively, 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. 20 20 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. 21 Homogeneous redundancy divides hosts into 'numerical equivalence classes': two hosts are in the same class if they return identical results for your applications. 22 The BOINC scheduler will send results for a given workunit only to hosts in the same class; 23 this lets you use strict equality to compare redundant results. 22 24 23 N specifies the granularity of host classification: 25 An "HR type" is a host classification. 26 Currently the following HR types are defined: 24 27 25 28 0:: No homogeneous redundancy (all hosts are numerically equivalent) … … 28 31 29 32 The 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:33 For example, WCG reports that the following gcc options (on Linux) cause their apps to produce identical results on all processor types: 31 34 {{{ 32 35 -mieee-fp -O3 -fno-rtti -ffor-scope -DNDEBUG 33 36 }}} 37 This allows them to use HR type 2. 38 39 You can modify these HR types, or add your own, by editing the file 40 '''sched/hr.C'''. 41 42 If you use HR, it's important to tell the feeder roughly what fraction 43 of hosts belong to each HR class; 44 this allows it to allocate space in its shared-memory work array 45 in proportion to this fraction. 46 This information is passed to the feeder in a file '''hr_info.txt''' 47 in your project's root directory. 48 You can generate this file by running '''sched/census''' 49 (you can run this as a periodic task to track changes 50 in your host population). 51 52 The BOINC distribution includes a file '''sched/sample_hr_info.txt''' 53 containing host-distribution data from a large project. 54 You can use this e.g., during the period when your project is starting up 55 and doesn't have a lot of hosts yet.