Subject: Parity checking RAM in PCs

From: <[email-masked]>
Date: Tue, 29 Aug 1995 17:51:07 -0600

Parity errors occur when one of the bits in memory randomly flips
(usually attributed to radioactivity from the solder).  PCs originally
supported parity checking on the IBM principal that bad data is worse
than no data (Macs have never supported parity checking).  A parity
error usually caused the machine to halt the current process but that
depends on the operating system.

   The relatively new (less than 1 year old) Triton chip set from Intel that
supports the higher speed Pentium processors does not support parity
checking of RAM.  Most of the new high-speed PC clones thus are not
supporting parity checking.  The RAM chips themselves have been
designed analogously (the so-called EDO RAM does not have Parity
checking) so they only have 8 chips on a SIMM as opposed to 9. The
new PCs don't support parity checking because (the argument goes) the
memory is so reliable that there is no reason to have parity checking. 
The only quantification I have of this statement is that a parity error
should occur every ten years in a 16 megabytes of RAM.  (If you have
32 Mb, it would be every 5 years).  I got that number from PC Magazine
and make no claims to its accuracy.

   The bottom line is this: if you run a calculation on one of the new PCs,
some number of bits _might_ have been randomly flipped.  My question is
this:  Is it legitimate to report calculations done on such a computer in a
scientific journal?

   Here are a few possible solutions to this dilemma:
   (1) Don't use the cheap computational power of the new PCs.  I don't
know what the situation is for other computers but they are more
expensive, perhaps this is one reason why.
   (2) Use error correcting RAM.  With this, a parity error is corrected as it
happens.  Unattractive because such RAM should cost at least 50%
more than normal due to the larger number of chips and lower demand.  I
haven't priced it though or even seen it advertised; it could be much more
expensive than that.
   (3) Repeat all of your calculations twice.  Unattractive for obvious
reasons (you're better off buying a computer with half the speed and
parity checking - if you can find one).
   (4) Report the type of machine that performed your calculation so that
the risk is known to those reading your communication.

   None of these solutions are especially satisfying.  Given the chance of
programming errors, input errors and transcription errors, perhaps the
last solution is acceptable as the hardware manufactures would lead us
to believe.  What do you think?

[email-masked]

---

From: Charles Letner <[email-masked]>
Date: Wed, 30 Aug 1995 00:42:21 -0400 (EDT)

> this:  Is it legitimate to report calculations done on such a computer in a
	When the whole Pentium FPU bug came out we saw basically the same
question.  That is, how much faith do you put in you hardware?  I think
the answer is quite a bit.  I suppose that the assumption that I work
under is that of all the potential errors that could occur, an error due
to hardware failure is minimal.  In my mind, I as the user am much more
likely to make an error than the computer.  Who hasn't had to trash a
calculation at one time or another because of user error.  I know I have. 
The reasuring point is that an error usually manifest itself in some way
that, with experience, the user can see.
	The other question I have is who decides what machines we can use.
 IF a Pentium isn't allowed, what about a low end DEC alpha?  Are the only
valid calculations those that are run on SGI Challenges or Cray's?  I
don't really think so.  The results are really what matters, not the
machine used to run the simulation.  To carry it one step further, would
an author have to report the manufacture of the RAM in the computer used
for a calculation?  Lets say that to cut cost a owner of an
SGI bought third party memory.  Because it is less expensive their is
always the POSSIBILITY (however small) that over a five year period that
memory wouldn't have a higher failure rate?  Do we have to start reporting
mean time between failures for memory?  What about other hardware, disks,
cache, FPU, etc......  I think my point is becoming clear.  Some things
have to be taken for granted.  That hardware failure is negligable
compared to other problems is one assumption that I think is valid.  For
those who would say that detracts from the validity of the results, then
judge for yourself the validity of the result.  But if you want to through
out a simulation just because the machine didn't have parity check, better
start prepare to through out alot of science.  I mean who's to say that
the HEPES used to make up the buffer in the last paper you read didn't have
some trace contaminate?   ;)
	Having said that, I do believe that reporting, in a general way, the
machine used and the cpu time is important.  But this is more so that a
reader who is considering a similar calculation can estimate the magnatude
of the job they are contemplating on the machine they plan on using.

There is my $0.02 worth......

Charles Letner
Wright State University
Department of Biochemistry
Dayton, OH 45435
e-mail: [email-masked]

---

From: Jochen Kuepper <[email-masked]>
Date: Tue, 29 Aug 1995 22:25:16 -0400 (EDT)

Hi,
I still have parity-checking in my PC, and it works - most times the 
computers crashs, but see IBM...

solution 5) buy Pentiums with parity-checking and they will get cheaper.

Jochen

--------------------------------------------------------------------
Jochen Kuepper                   
University of Pittsburgh                 (412) 624-8638
Department of Chemistry                  (412) 624-8665
603 Chevron Science Center               [email-masked]
Pittsburgh, PA 15260
USA

Heinrich-Heine-Universitaet
Institut fuer Physikalische Chemie und Elektrochemie I
Universitaetsstrasse 26.43.02
40225 Duesseldorf                        [email-masked]
Germany