comp.lang.ada
 help / color / mirror / Atom feed
From: rational.com!bonnie!rlk@uunet.uu.net  (Robert Kitzberger)
Subject: Re: Problems with Alsys 386 V5.1.1 Compiler
Date: 22 Sep 93 18:27:25 GMT	[thread overview]
Message-ID: <rlk.748722445@bonnie> (raw)

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

             reply	other threads:[~1993-09-22 18:27 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-09-22 18:27 Robert Kitzberger [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-09-22 17:54 Problems with Alsys 386 V5.1.1 Compiler cis.ohio-state.edu!math.ohio-state.edu!sdd.hp.com!col.hp.com!csn!news.sin
1993-09-22 14:43 Sam Houston
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox