[gclist] Another request from a Newbie :-)

Tobias Ritzau tobri@ida.liu.se
Fri, 16 May 2003 10:10:52 +0200


Hi,

There are a few GC-techniques that have predictable execution behavior (both
memory usage and execution time) if the memory requirements of the mutator
(i.e. non-garbage collection part of the application) is known. For example:
- Two Sub-heap Copying (http://www.cs.lth.se/~roger/thesis.html)
- Mark-and-Sweep (http://www.aicas.com/publications.html)
- Hybrid Mark-and-Sweep and Mark-and-Compact
(http://citeseer.nj.nec.com/573856.html)
- Reference Counting
(http://www.ida.liu.se/~tobri/download.php4?paper=ritzau-thesis.pdf)

A conclusion I have drawn is that the major problem is how to predict the
memory usage. I mean, how do you know how much memory your application
consumes if you don't know where memory is reclaimed? And, if you know where
memory is reclaimed you don't need a garbage collector, right? IMHO it is as
hard to predict the worst case memory usage of an application, as it is to
use manual memory management for the same.

Hard real-time GC requires the worst case memory usage, and if you can
calculate that you also know when to reclaim memory, thus the need for the
GC has been eliminated. Or is there another way to find the worst case
memory usage?

I think that hard real-time GC is more or less equal to compile time GC.
Several approaches have been discussed
(http://citeseer.nj.nec.com/cs?cs=1&q=escape+analysis&submit=Documents&co=Ex
pected+Citations&cm=50&cf=Any&ao=Expected+Citations&am=20&af=Any), these are
commonly restricted to stack allocation. In my thesis (see link above) I
present a technique that can handle some heap allocations as well.
Unfortunately it is not fully implemented yet (currently working on it.)

If I was to start working on hard real-time GC I would focus on static GC or
how to predict the worst case memory usage.

-- Tobias

----- Original Message ----- 
From: "Ravi Jonnalagedda" <RaviJ@crisnet.com>
To: <gclist@lists.iecc.com>
Sent: Thursday, May 15, 2003 9:30 AM
Subject: [gclist] Another request from a Newbie :-)


> Hi all,
>
>
>
> Thanks for the insightful help the last time around, I did de-rail once
> the topic somehow went into finalizers. ;-)
>
> I have another question, I have done a bit of reading and I want to
> write a research report on the following topic. If someone let me know
> if this is a topic worth working on for a school report?, or has it been
> beaten to death? Surprisingly few papers are avbl for this on ACM and
> those thieves IEEE (j/k). My topic is
>
>
>
> "Is there a systematic method by which one can evaluate and select a
> garbage collection algorithm for a hard-real-time system?"
>
>
>
> I would love to hear your thoughts on this matter, all the experts
> around here. I am really getting interested in GC and would appreciate
> all/any help.
>
>
>
> Regards,
>
> Ravi Jonnalagedda
>