From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Re: Parallel & RT GC (was Re: Real-Time GC (was Re: Widespread C++...?)
Date: 20 Jan 1995 14:49:01 GMT
Date: 1995-01-20T14:49:01+00:00 [thread overview]
Message-ID: <EACHUS.95Jan20094901@spectre.mitre.org> (raw)
In-Reply-To: ncohen@watson.ibm.com's message of 19 Jan 1995 19:59:51 GMT
In article <3fmgbn$rns@watnews1.watson.ibm.com> ncohen@watson.ibm.com (Norman H. Cohen) writes:
> This doesn't make sense, because there is a well known programming trick
> (used more in analysis-of-algorithms than in real programs because of the
> large constant factor) for marking a large section of memory as
> uninitialized in constant time...
Read barriers are a neat trick, but for real-time applications
replacing a boolean with a pointer and... is totally intolerable. I
have used algorithms in this class in real-time systems, and although
we devoted a whole page to each bit-vector, the typical maximums are
on the order of a few hundred bits. But the difference between say 5
clocks and 20 (clearing two words at a time) is crucial.
So yes, you are correct that these algorithms can be replaced by
more complex versions without the special memory clearing instruction,
but the large constant multiplier makes that approach useless. To
give a real world example, in one application, if all the time
available was assigned to the innermost loop of an N^2 lg2 N
algorithm, you had 25 clocks per iteration--and a cache miss could
take most of that. Fortunately I found an algorithm which met the
theoretical complexity limit, and where the all the inner loop did was
set a bit-vector of length N to false. In that case limiting the size
of the bit-vector (so I could keep it in a register pair and avoid
write throughs) was sufficient.
--
Robert I. Eachus
with Standard_Disclaimer;
use Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...
next prev parent reply other threads:[~1995-01-20 14:49 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <787227087snz@wslint.demon.co.uk>
[not found] ` <3da1nd$fss@gateway.wiltel.com>
[not found] ` <3e1rqn$ouh@news.parc.xerox.com>
[not found] ` <3e22hi$pqf@baygull.rtd.com>
[not found] ` <3e26mc$n9u@Starbase.NeoSoft.COM>
1994-12-31 1:09 ` What's Real-Time? (was Re: Widespread C++ Competency Gap?) Henry Baker
1994-12-31 2:12 ` Don Yuniskis
1994-12-31 17:08 ` Przemek Klosowski
1995-01-01 9:35 ` Robert J Carter
1995-01-02 17:10 ` Przemek Klosowski
1995-01-03 23:20 ` Robert I. Eachus
1995-01-04 22:05 ` Fred McCall
[not found] ` <3ckb8g$841@gateway.wiltel.com>
[not found] ` <1994Dec21.151952.8902@merlin.h>
[not found] ` <1994Dec21.151952.8902@merlin.h <19941230.201628.350635.NETNEWS@UICVM.UIC.EDU>
[not found] ` <3e9f60$8du@jive.cs.utexas.edu>
[not found] ` <3epfsi$64d@gamma.ois.com>
[not found] ` <3eua1r$4ea@gnat.cs.nyu.edu>
1995-01-11 1:44 ` Parallel & RT GC (was Re: Real-Time GC (was Re: Widespread C++...?) Henry Baker
1995-01-13 13:30 ` R. William Beckwith
1995-01-13 14:59 ` Kelvin Nilsen
1995-01-17 2:45 ` R. William Beckwith
1995-01-19 15:57 ` Kurt Bischoff
1995-01-17 16:29 ` Robert I. Eachus
1995-01-18 15:27 ` Henry Baker
1995-01-19 19:59 ` Norman H. Cohen
1995-01-20 2:20 ` Henry Baker
1995-01-20 14:49 ` Robert I. Eachus [this message]
1995-01-22 2:56 ` David Hanley
1995-01-23 17:06 ` Robert I. Eachus
1995-01-13 21:04 ` Henry Baker
1995-01-17 10:37 ` Mark Reinhold
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox