[Vm-dev] Absolute transparent persistence without saving image?

Göran Krampe goran at krampe.se
Sun Feb 16 21:41:02 UTC 2014


Hi!

On 02/16/2014 09:03 PM, Denis Kudriashov wrote:
> 2014-02-16 18:45 GMT+04:00 Bert Freudenberg <bert at freudenbergs.de
> <mailto:bert at freudenbergs.de>>:
>
>     On 15.02.2014, at 08:37, Denis Kudriashov <dionisiydk at gmail.com
>     <mailto:dionisiydk at gmail.com>> wrote:
>
>      > Hello.
>      >
>      > I found very interesting project PhantomOS. It's not smalltalk
>     related. But they try build pure object operating system with
>     "absolute persistence option".
>      > It object model very similar to Smalltalk, it has virtual machine
>     as "OS core". But difference between smalltalks and PhantomOS is how
>     "image saves". In smalltalk we doing it manually. But PhantomOS
>     always has persisted image state. So any object change will be
>     restored after system restart without any special action.
>      >
>      > What do you think about this?
>      > Was there smalltalk implementations (any research projects) with
>     such feature? Maybe first smalltalk computer works same way?
>
>     Gemstone/S.
>
> In Gemstone you also should save changes manually by commit transaction
> message. But PhantomOS idea is persisting any change automatically. They
> implement special virtual memory to achieve this. Maybe it is very
> similar to LOOM as Yoshiki said. I don't know.

Mmmm, I wonder. Only 3 min of googling, but FAQ on Phantom says "All the 
userland memory is mapped to disk and is frequently snapped."

Now, "*frequently* snapped" sounds to me that a crash could leave the 
system in a non consistent state. Or at least in a "oops, lost 
that"-state. Depending on what the mean.

I mean "always persisted state" is a bit hard, unless you snap to disk 
on *every* state change, every little ivar assignment etc. Every little 
at:put: in an array :)

Thus enters the transaction concept that GemStone (and most OODBs) have. 
Its not only for concurrency - it is also needed to define the 
consistent checkpoints of state where you are sure "stuff is persisted".

regards, Göran

PS. I have waited many years for new memory tech that would give us this 
ability - a memory tech that has both features of secondary (big, cheap, 
no electricity needed to keep state) and primary memory (fast as hell). 
Then that arrives we can have a true PhantomOS. :)


More information about the Vm-dev mailing list