[gclist] Page grouping trick

John Levon moz@compsoc.man.ac.uk
Fri, 18 May 2001 00:29:08 +0100 (BST)

On Thu, 17 May 2001, Francois-Rene Rideau wrote:

> Maybe limit the trick to older generation writeable objects, in a system
> where most objects are write-once? Even then, the payoff seems small.

And it is sounding more and more like very complex hardware changes
for little real benefit ...

> > Maybe I should ask a more basic question: there is a fundamental clash
> > between fast object addressing and a moving collector.
> There is a clash if you add some constraint of incrementality.
> A stop-the-world and move collector works great and has fast addressing.

Yes. A s-t-w collector certainly has some uses, but isn't really useful
for "interactive" performance, /even/ when good points to GC are known.

Sorry, I should have specified I am interested in concurrent/incremental
collectors with various mutators.

> Just think about it: if an object might be moved without the address
> change having been universally propagated, then you're forced to check
> whether the object has moved or not. Hence, a read barrier, either
> by conditional forward pointer checking or by inconditional indirection.

Yes, exactly.

> Inconditional vs conditional indirection is a matter of tradeoff
> between stressing the memory subsystem and loading the CPU;
> at times when the CPU is much faster than RAM,
> conditional indirection might be interesting again.

Does anyone know of a useful paper discussing the trade-offs ?
I've been working through the literature, but as I'm sure you all
know, it's pretty extensive ;)

> Another completely different trick is to use some kind or another
> of linear graph reduction (see Alan Bawden's thesis), so that
> you always have back-pointers that you can update in real-time,
> when you move things around.

This sounds like a lot of overhead (I suppose I should read that thesis).


"Understanding. A cerebral secretion that enables one having it to know
 a house from a horse by the roof on the house. Its nature and laws have
 been exhaustively expounded by Locke, who rode a house, and Kant, who
 lived in a horse."
	- Ambrose Bierce