From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 22 Sep 93 18:27:25 GMT From: rational.com!bonnie!rlk@uunet.uu.net (Robert Kitzberger) Subject: Re: Problems with Alsys 386 V5.1.1 Compiler Message-ID: List-Id: houston@issi.com (Sam Houston) writes: >In article AA25446@cs.utexas.edu, CZinsmeyer%TSS%SwRI05@D26VS046A.CCF.SwRI.EDU () writes: >> After some period of time, usually twenty minutes or >>so, the system begins to slow down. The longer the system runs the slower >>things get. > >I remember hearing of a similar problem in the development of the >Patriot Missle system. It had something to do with floating point >precision and the clock. The problem with the Patriot had to do with loss of accuracy in converting from integers (clock ticks) to real number representations of time, which were used in targetting algorithms. For small integers, the conversion inaccuracies were small, but for large integers (i.e. lots of clock ticks...) the inaccuracies were sufficient to cause the Patriot to miss its mark. From a GAO report entitled "PATRIOT MISSILE DEFENSE: Software Problem Led to System Failure at Dhahran, Saudi Arabia": The range gate's prediction of where the Scud will next appear is a function of the Scud's known velocity and the time of the last radar detection. Velocity is a real number that can be expressed as a whole number and a decimal (e.g. 3750.2563...miles per hour). Time is kept continuously by the system's internal clock in tenths of seconds but is expressed as an integer or whole number (e.g., 32, 33, 34...). The longer the system has been running, the larger the number representing time. To predict where the Scud will next appear, both time and velocity must be expressed as real numbers. Because of the way the Patriot computer performs its calculations and the fact that its registers are only 24 bits long, the conversion of time from an integer to a real number cannot be any more precise than 24 bits. This conversion results in a loss of precision causing a less accurate time calculation. The effect of this inaccuracy on the range gate's calculation is directly proportional to the target's velocity and the length of time the system has been running. Report is GAO/IMTEC-92-26, call (202)275-6241 for your copy. If the poster is actually missing clock ticks, then I suspect that interrupts are being disabled for longer than a clock tick (not the problem that the Patriot folks had). This could happen for several reasons, chiefly (a) user code disabling the interrupts for too long a time, or (b) pathological nondeterminism in the kernel. .Bob. -- Bob Kitzberger Internet: rlk@rational.com Rational, Grass Valley, CA CompuServe: 70743,1550