[gclist] FAQ: distributed objects

Mark Tillotson markt@harlequin.co.uk
Tue, 19 Mar 96 15:02:03 GMT


> Let me try an example.  My program creates some object X, storing a pointer to
> X in x.  Then it duplicates x a few times (into y, z, t), then it deletes one
> of the pointers (say z).
> 
> The object has a weight credit WC (initially, say, 32), and each pointer
> variable holds an allocated weight AW.  Invariant: the sum of all the AWs for
> pointers to X equals the WC of X.

[diagrams omitted]

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.

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 further assume that you can cache "pending deletions" local to the
process, in order to reduce message traffic, and also to avoid it
entirely by adding weights back to another local (currently live)
reference ??

__Mark
[ markt@harlequin.co.uk | http://www.harlequin.co.uk/ | +44 1223 873829   ]
[ homepage http://www.hal.com/services/juggle/home/markt@harlequin.co.uk/ ]