CONTACT: Stanford University News Service (650) 723-2558
Error rate of Pentium bug varies widely with application
STANFORD -- A Stanford computer scientist has made a detailed, independent study of the arithmetic bug recently discovered in Intel's top-of-the-line Pentium™ computer chip.
"The bottom line," said professor Vaughan Pratt, "is that the error rate is extraordinarily dependent on the application. It can range from as low as one in 40 billion for mathematical operations using perfectly random numbers, to one in a few thousand for applications that are particularly vulnerable to the bug."
Intel has estimated that the bug will result in an error for the average Pentium user about once in every 27,000 years. Last week, IBM announced that it would stop selling Pentiums because they estimated that a person could experience such errors as frequently as once every 24 days.
"Intel's figure is based on the assumption that a user is feeding the computer with random data. My approach, like that of IBM's, assumes that you are running random programs. In the latter case you can encounter concentrations of high error rates," Pratt said.
According to his calculations, a Pentium operating at 90 megahertz performs a maximum of two million divisions per second. In this case, the one in 40 billion rate corresponds to one error every six hours, while the one in a few thousand rate translates to one error every ten milliseconds or so. These figures, however, must be scaled according to the proportion of time spent by any given application on division. For example, in the case of an application that spends about 1 percent of its time on division, the two rates translate to one error every 25 days and one per second respectively.
Unfortunately, the problem is not limited to those who use their computers to crunch large numbers. "Actually, some of the worst errors arise from using apparently small numbers," Pratt has found.
Take the case of subtracting 1.1 from 4.1 and then dividing the result into another number. Although the computer will display the number 3.0, the internal number that it uses has 16 digits and differs slightly from three. The deviation, however, is hidden when the computer rounds off, or shortens the number to two digits for display purposes. If you divide by the number that is not quite three, it can result in a significant error.
"I call numbers like this bruised integers. They can be a major source of error. Even though bruised integers may deviate by less than one part in a million, they can push up the error rate from one in 40 billion to one in a million," Pratt said.
As a result, people using Pentiums for finance, technology and art, whose applications perform floating point operations, are likely to experience errors, Pratt cautions.
Because of the tremendous variability of the error rate that the bug can produce, only detailed studies can estimate what the error rate is likely to be for specific applications, the computer scientist said.
For Internet users interested in additional information, Pratt is publishing the results of his analyses on the Internet at an anonymous ftp site at <boole.stanford.edu>. The file is </pub/FDIV/README>. His electronic mail address is <email@example.com>.
This is an archived release.
This release is not available in any other form.
Images mentioned in this release are not available online.
© Stanford University. All Rights Reserved. Stanford, CA 94305. (650) 723-2300.