comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Re: Parallel & RT GC (was Re: Real-Time GC (was Re: Widespread C++...?)
Date: 23 Jan 1995 17:06:40 GMT
Date: 1995-01-23T17:06:40+00:00	[thread overview]
Message-ID: <EACHUS.95Jan23120640@spectre.mitre.org> (raw)
In-Reply-To: dhanley@matisse.eecs.uic.edu's message of Sun, 22 Jan 1995 02:56:58 +0000

In article <19950122.094355.149517.NETNEWS@UICVM.UIC.EDU> dhanley@matisse.eecs.uic.edu (David Hanley) writes:

 >      Hmmm.  While I suppose this is possible, I haven't yet run
 > across this "large body of algorithms" in which the execution time
 > is reduced by the order of magnitude when memory blocks can be
 > zeroed out very quickly.  Even if the algorithm did have to zero
 > out the memory itself, I don't see how that could take it from,
 > say, n^2 to n^3.  Could you please point some of these out to me?

    Maybe I should have said "real-time" or "on-line" algorithms.  The
distinguishing characteristic seems to be that you have to choose the
solution method without knowing the size of (or all of) the data set
in advance.  Another way of looking at it is that you are concerned
with solving a problem, but you are only concerned with the time
between receiving the last data and getting a result.  (Although in
practice, what you want to do is, at every stage of reading in data,
have a solution based on all the data seen so far.)

    The seminal paper is "Real-time computation." by M. O. Rabin in
1963. (The reference I have is Isreal J. Math 1, 203-211, but I think
it has been reprinted.)  Hartmanis and Sterns, "On the computational
complexity of algorithms," Trans. Amer. Math. Soc. 117, 285-306(1965).

 >   Hmm.  Not sure what this has to do with GC, really.  In any
 > case, it would be pretty easy to design memory hardware that would
 > zero out pages really quickly( just don't refresh them one cycle ).
 > And the bzero() function on your C compiler could be set to use it.
 > But mabye I'm just confused.  Could you please explaain if this is
 > wrong?

      Nothing confused in that, it is done in real-time applications
all the time.  A typical scenario is one where you build a hash table
using a hash function with a very low likelihood of collision.
Normally you would have to factor the time to clear the hash table, or
the time for maintaining a structure just for clearing the table into
the time required for the algorithm.  Poof!--if supported by the
hardware--is the most elegent solution.

      The only thing it has to do with garbage collection AFIAK is
that there is a nice technique where data is ping-ponged back and
forth between two heaps.  For example, you have a structure containing
all current aircraft tracks.  If the old data is reviewed and, if
still valid, moved every sweep, all the garbage created by building
maintaining the tracks can be made to dissapear with never a worry
about fragmentation.


--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...



  reply	other threads:[~1995-01-23 17:06 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
1995-01-22  2:56                 ` David Hanley
1995-01-23 17:06                   ` Robert I. Eachus [this message]
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