[gclist] Page grouping trick
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.
> 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