Absolute transparent persistence without saving image?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Absolute transparent persistence without saving image?

Denis Kudriashov
 
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?

Best regards,
Denis
Reply | Threaded
Open this post in threaded view
|

Re: Absolute transparent persistence without saving image?

Stefan Marr-3

Hi Denis:

On 15 Feb 2014, at 08:37, Denis Kudriashov <[hidden email]> wrote:

> 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.

Not from the smalltalk world, but perhaps also interesting for you:

https://github.com/supergillis/v8-ken

"""This project adds orthogonal persistence to the V8 engine. In v8ken, all objects, arrays, functions, ... are automatically persisted at the end of every "turn" of the event loop. In effect, events become little transactions that update v8ken's persistent heap. This allows us to write persistent, fault-tolerant JavaScript applications without relying on an external data store."""

Best regards
Stefan

--
Stefan Marr
INRIA Lille - Nord Europe
http://stefan-marr.de/research/



Reply | Threaded
Open this post in threaded view
|

Re: Absolute transparent persistence without saving image?

Yoshiki Ohshima-3
In reply to this post by Denis Kudriashov

In this context, it reminds me of LOOM for sure...

https://archive.org/stream/byte-magazine-1981-08/1981_08_BYTE_06-08_Smalltalk#page/n399/mode/2up

It was a "virtual memory system" but it can be considered as a object
persistent mechanism where you can go back to a good state of the
system even when the hardware crashes...


On Fri, Feb 14, 2014 at 11:37 PM, Denis Kudriashov <[hidden email]> 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?
>
> Best regards,
> Denis
>



--
-- Yoshiki
Reply | Threaded
Open this post in threaded view
|

Re: Absolute transparent persistence without saving image?

Bert Freudenberg
In reply to this post by Denis Kudriashov
 
On 15.02.2014, at 08:37, Denis Kudriashov <[hidden email]> 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.

- Bert -


smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Absolute transparent persistence without saving image?

Colin Putney-3
 



On Sun, Feb 16, 2014 at 9:45 AM, Bert Freudenberg <[hidden email]> wrote:
 
On 15.02.2014, at 08:37, Denis Kudriashov <[hidden email]> wrote:

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.

Eh, not really. Gemstone allows multiple virtual machines to operate on the same object memory simultaneously. As a consequence, changes are not persisted automatically; the application has to explicitly commit a transaction to in order to persist changes. That's quite a different model from automatic, transparent persistence as Denis describes.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: Absolute transparent persistence without saving image?

Denis Kudriashov
In reply to this post by Bert Freudenberg
 

2014-02-16 18:45 GMT+04:00 Bert Freudenberg <[hidden email]>:
On 15.02.2014, at 08:37, Denis Kudriashov <[hidden email]> 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. 

Is first smalltalk machine has "save image button"? 

Reply | Threaded
Open this post in threaded view
|

Re: Absolute transparent persistence without saving image?

Göran Krampe
 
Hi!

On 02/16/2014 09:03 PM, Denis Kudriashov wrote:

> 2014-02-16 18:45 GMT+04:00 Bert Freudenberg <[hidden email]
> <mailto:[hidden email]>>:
>
>     On 15.02.2014, at 08:37, Denis Kudriashov <[hidden email]
>     <mailto:[hidden email]>> 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. :)
Reply | Threaded
Open this post in threaded view
|

Re: Absolute transparent persistence without saving image?

timrowledge
In reply to this post by Denis Kudriashov


On 16-02-2014, at 12:03 PM, Denis Kudriashov <[hidden email]> wrote:
>
> Is first smalltalk machine has "save image button"?
>
IIRC the early Alto systems saved snapshots on a somewhat regular basis, automatically. Thus if you got into a nasty state you would rush to hit the reboot Big Red Button before the next auto-save pickled your mistake.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: SHP: Solve Halting Problem