[gclist] Weighted Reference Count (was: distributed objects)

Marc Shapiro shapiro@prof.inria.fr
Thu, 21 Mar 1996 09:46:40 +0100


 || From: Mark Tillotson <markt@harlequin.co.uk>
 || Date: Tue, 19 Mar 96 15:02:03 GMT
 || 
 || [Discussing Weighted Reference Count]
 || 
 || I presume that since you only mention duplications of pointers, you only
 || need to remember the power of two with each pointer/reference, and hence
 || effectively keep a duplication count.

Correct.

 || The object itself has to extend the bits of precision of it's remaining
 || weight to allow for the maximum number of duplications of any deleted
 || reference (or better still have a sparse representation of the number?)

I don't understand this remark.  The object's total weight is a single
number.  Whereas the credits given out to the individual pointers can only be
equal to a power of two, the total weight can be any number.

 || I further assume that you can cache "pending deletions" local to the
 || process, in order to reduce message traffic

No problem.

 || and also to avoid it entirely by adding weights back to another local
 || (currently live) reference ??

That would be complicated to manage, and local credits would lose the nice
"power of two" property.  It's much simpler to inidrect all the local copies
of some remote reference via a single stub.

                                                Marc