9fans archive / 1997 / 09 / 12 /    prev next

From: G. David Butler gdb@dbS...
Subject: [9fans] Adding transaction semantics to Plan9
Date: Tue, 02 Sep 1997 16:12:27 EDT

Hello everyone.  I have been quiet for a while, but that is just
the quiet before the storm.  I have some new things I want to
discuss!

My current project is to add transaction support to the process
model with full log protected file servers.  I plan to use the
multi-version consistency model and distributed commits to multiple
file servers involved in the transaction.

The primitives are from a Bell Labs paper "A Flexible Transaction
Facility for an Object-Oriented Database" from 5 Dec 92.  (To keep
it in the family.)  The system is will not be object-oriented
(unless you want to consider a "file" or a "directory" a class).
The primitives are useful for implementing transaction models that
are interesting.

The changes are extensive.  The file protocal 9P is changed (to add
the idea of a transaction to the current idea of a user.)  Several
system calls are changed and a few added to internalize the idea of
a transaction.  I am just starting.

I am planing three transaction modes.  Read Committed, Serializable
and Plan9.  The latter is Read Committed and Write Commit.
The primitives allow "cursor stability", savepoint/rollback,
nested and chained transactions, to name a few.

The plan for the system is to build low cost data intensive
application servers for the Internet.  I belive that transactional
semantics are required in any large scale distributed system and
current systems are cost prohibitive.  In addition, the current
state of the art is to run a database on top of an operating system.
I believe there is a lot of efficiences to be gained by making
them one.

Just pick an issue and let's get going...

David Butler
gdb@dbS...