Distributed Squeak

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Wed Apr 16 07:41:23 UTC 2003


Michael van der Gulik <mikevdg at hetnet.nl> wrote:
[SNIP]
> >2. Talk with Stephen Pair and Craig Latta.
> >
> Well, if they're on this list I'm sure they'll gladly answer any call 
> for help.

They most definitely are - but drop them a personal email just in case!
:-)

> >Magma is a GemStone kindof OODB for Squeak and does give multiple
> >running Squeaks a common transactional object memory.
> >
> I haven't looked at Magma.. yet.. but if it's an OODB then it's more or 
> less just for storage, right? That's an important part of what I want to 
> achieve, but the more important part is getting remote messaging and 
> object replication working. That's tricky.

I think you are perhaps not really seeing what Magma is. It isn't "just
for storage" - at least not IMHO.

Magma (as is GemStone) is a "shared object memory". Sure, it is also
persistent - but don't get blinded by that.

What it does is that it allows multiple VMs to connect, share and modify
one single object space. The objects in this object space are serialized
over into the VMs on demand (using proxies etc) when they are sent
messages (called "faulting"). BUT... and this is important - Magma still
maintains the object identities so from the programmers point of view
these objects aren't copies - they are the originals.

So what happens then when multiple VMs fault the same objects into their
RAM and start modifying them? Well - you need transactions to be able to
coordinate the VMs.

You wrote "object replication" above. That is *exactly* what Magma does.
Anyway, just look at it and it will probably get clearer.

regards, Göran



More information about the Squeak-dev mailing list