Moore's law and why persistence may not be necessary.
marcus at ira.uka.de
Fri Jan 25 11:53:05 UTC 2002
> > EROS could do it, however. EROS is an operating system that
> > automatically pages memory to disk as you run -- very OOZE-like! EROS
> > is very careful in the order it saves things to disk; at any
> > time, there is one complete and consistent snapshot, and one
> > snapshot being built.
The Rio Project (http://www.eecs.umich.edu/~pmchen/Rio/) seems to
The Rio project is investigating how to implement and use reliable memory.
Reliable memory enables dramatic improvements in reliability and
Major results to date include:
* The Rio File Cache: We make ordinary main memory safe for persistent
storage by enabling memory to survive operating system crashes. Rio survives
crashes by protecting memory using virtual memory protection and restoring
the data during the subsequent reboot. By eliminating reliability-induced
disk writes, Rio performs 4-22 times as fast as a write-through file system
and 2-14 times as fast as a standard Unix file system that loses 30 seconds
of data on a crash. Rio is in production use as our project's file server
and stores our mail and home directories. For more information, see our
paper and slides from ASPLOS 1996.
* The Vista Recoverable Memory: Transactions and recoverable memories
are powerful mechanisms for handling failures and manipulating persistent
data. Unfortunately, standard recoverable memories incur an overhead of
several milliseconds per transaction. Vista improves transaction overhead by
a factor of 2000. Of this factor of 2000, a factor of 20 is due to the Rio
file cache, which absorbs synchronous writes to disk without losing data
during system crashes. The remaining factor of 100 is due to Vista, a
720-line recoverable-memory library tailored for Rio. Vista lowers
transaction overhead to 5 microseconds by using no redo log, no system
calls, and only one memory-to-memory copy. Here's a paper describing Vista
that appeared in SOSP 1997.
* Discount Checking: Discount Checking is a checkpointing library that
allows general applications to recover from operating system and application
crashes. Discount Checking builds on Rio's reliable main memory and Vista's
fast transactions to achieve very low overhead and a high degree of
transparency. Discount Checking slows real applications down by less than
0.6%, even while taking checkpoints frequently enough to save every
externally visible event. Discount Checking makes application and OS crashes
appear as if the application pauses and resumes. We just wrote the following
paper that describes Discount Checking.
Marcus Denker marcus at ira.uka.de -- Squeak! http://squeakland.org
More information about the Squeak-dev