The client already does a self test on startup and between each block, but
in view of my experience I think it needs to be more comprehensive,
especially in the area of being able to pick out a matching key in a block
(correct behavior on all keys is important to test, but there's only one
key that absolutely, positively has to be handled correctly). As has been
pointed out, there are a lot of things that can cause errors other than
overclocking, but it stands to reason that a chip overclocked to just below
the edge of failure will be much more susceptible to things like
electromagnetic interference than a chip running at the rated speed with a
margin for error. In any case, though, with this many machines computing
this many keys we're going to see at least some errors, and I think we
should be making more of an effort to find them.
One note to whoever's currently working on the front end, because I don't
want to create source synchronization problems by modifying it
simultaneously: We should move the self test that occurs between blocks to
between completing processing of a block and reporting the results for the
block. That way we'll be more likely to detect a malfunction that occurred
during processing before we contaminate the server with the bad results of
that processing. Agreed?
____________________________________________________________________________
Andrew Meggs, content provider Antennahead Industries, Inc.
<mailto:insect@antennahead.com> <http://www.antennahead.com>
_________asserting_my_individuality_through_really_really_bad_taste_________