[Vm-dev] how to identify objects ? (hash?)

Eliot Miranda eliot.miranda at gmail.com
Mon Jul 19 20:52:46 UTC 2010


Hi Mariano,

On Mon, Jul 19, 2010 at 5:25 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

>
> Hi folks. I have a simple question. Suppose I have a file in disk that has
> a "pointer" to an object X that is in the image. What can I store from X in
> the file?


this is an issue in virtual object systems, object persistence and object
distribution systems and has been the subject of considerable research and
implementation in the 70's, 80's and 90's.  You need to do a literature
search (if Chris' suggestion of DiskProxy is insufficient).  In general the
hash is insufficient since it is not unique.  A common approach (as Adrien
points out) is to use a table in the image containing objects which have a
persistent id and pass out the index into the table as the external id.
 This immediately raises a GC issue because even if the table is weak a
cycle of references between objects in the table can render the isolated
cycle uncollectable.  Hence distributed garbage collection algorithms.


> Two options: the address in memory or the hash.
>
> If I savethe address, the object X can be moved by the GC, and thus, the
> address can become incorrect in the file.  I don't want to update the disk
> files in case objects are moved.
> If I save the hash of X, how can I then localize that object in memory?
> Hash is 12 bits...so it is not enough to find that object...(otherwise there
> would be only 4096 objects)
>
> So....the question is, what should I save from object X in the file and
> what should I do to be able to localize it, some time after (even when the X
> is moved by the GC).
>
> Sorry for my ignorance about the hash.
>
> Thank you very much in advance,
>
> Mariano
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100719/4ad72aab/attachment-0001.htm


More information about the Vm-dev mailing list