Garbage collection

David Gould <>
Wed Sep 1 20:47:39 CEST 1999


On Wed, Sep 01, 1999 at 09:10:51AM +0200, Ulf Wiger wrote:
> On Mon, 30 Aug 1999, Vlad Dumitrescu wrote:
> 
> vlad.d>>Did this discussion start because someone was unhappy with
> vlad.d>the performance >of the Erlang garbage collector or is it
> vlad.d>pure (though interesting)  >conjecture about how to speed up
> vlad.d>the system?  >
> vlad.d>
> vlad.d>I started it, and it is on the "to do" list at erlang.org, so
> vlad.d>I suppose someone has experienced slow collections...
> 
> The main problem, as I see it, with the current collector is that it blocks
> the entire runtime system when it starts collecting for one process. Thus,
> the GC may be per-process, but all other processes have to wait.
> 
> Otherwise, the current collector seems pretty fast. Most GC times are very 
> short, and we have determined that the AXD 301 spends something like 5% of 
> its CPU resources on GC when going full blast with connection handling.
> (This after we have used a few tricks like custom heap size.)
> 
> I have seen collections as long as 1 second on a 300 MHz UltraSPARC, but
> those are extremely rare and have appeared under very special circumstances
> -- with rapidly growing heap and no data that could be released. As I
> recall, it also involved a first attempt at generational GC, followed by a
> fullsweep GC with a resize of the heap in the middle.
> 
> Even such GC times are reasonable as long as they don't make the whole
> system unresponsive. This is why I would like to see an effort to make the
> collector reentrant.
> 
> /Uffe
> 
> Ulf Wiger, Chief Designer AXD 301      <>
> Ericsson Telecom AB                          tfn: +46  8 719 81 95
> Varuvägen 9, Älvsjö                          mob: +46 70 519 81 95
> S-126 25 Stockholm, Sweden                   fax: +46  8 719 43 44

I might be interested in working on this. I am curious to know what has
prevented this in the past, the GC itself seems fairly compact and looks
(ok, I only spent 10 minutes peeking at it) fairly clean.

Also, any thoughts on how to proceed or things I need to be aware of outside
gcc.c are welcome.

Thanks
-dg
-- 
David Gould                       510.628.3783 or 510.305.9468 
Informix Software                       300 Lakeside Drive  Oakland, CA 94612
You will cooperate with Microsoft, for the good of Microsoft
and for your own survival.                 -- Navindra Umanee




More information about the erlang-questions mailing list