78 | | There are |
79 | | may bound credit |
80 | | redundancy |
81 | | exact match |
82 | | exact computation |
83 | | sixtrack example: compiler, |
84 | | compiler options (disable DP hardware), |
85 | | numerical libraries |
86 | | homogeneous redundancy |
87 | | exact checkpointing |
88 | | fuzzy matching |
| 80 | |
| 81 | With this variant of replication, |
| 82 | once an instance of a job has been sent to a host, |
| 83 | additional instances are sent only to hosts that are "numerically equivalent" |
| 84 | (i.e. that will return bit-identical results). |
| 85 | |
| 86 | The notion of "numerical equivalence" depends on your application |
| 87 | and how it was compiled. |
| 88 | BOINC supplies two pre-defined equivalence relations, "coarse" and "fine". |
| 89 | Use either of these ("coarse" is preferable, if it's fine enough for your app) |
| 90 | or define your own if needed. |
| 91 | |
| 92 | == Adaptive replication == |
| 93 | |
| 94 | This is a refinement of the replication policy. |
| 95 | It randomly decides whether to replicate jobs, |
| 96 | based on the measured error rate of hosts. |
| 97 | If the first instance of a job is sent to a host with a low error rate, |
| 98 | then with high probability no further instances will be sent. |
| 99 | |
| 100 | Adaptive replication is independent of the comparison policy; |
| 101 | you can use it with either bitwise comparison, |
| 102 | fuzzy comparison, or homogeneous replication. |