Stasis Homepage

Stasis is a flexible transactional storage library that is geared toward high-performance applications and system developers. It supports ARIES-style nested top actions for concurrent transactional updates, and FORCE/STEAL, reducing or eliminating logging overhead for large transactional writes.

Traditionally, write-ahead-logging schemes have been closely coupled to a relational database or other high-level system, making it difficult to make full use of their functionality without making significant changes to complex and tightly coupled code. Libraries such as Berkeley DB also provide lower level interfaces, but focus on providing a narrow set of highly configurable transactional structures. Stasis focuses on providing applications an easy to use toolkit for building their own transactional structures.

Stasis achieves this by providing clean interfaces between its subsystems. We hope that this will allow for the implementation of self-tuning primitives, reducing the amount of work required to build a high-performance application on top of Stasis.

Stasis is currently in alpha; no known correctness bugs affect forward operation. More information regarding testing plans and milestones will be available soon. See below for the results of our nightly regression and code coverage tests.

Downloading Stasis

Stasis is covered by a BSD-style (Tcl/Tk) license. Instructions for downloading, compiling and building it can be found here.

Resources

Note: Stasis used to be called "LLADD", and some of these resources still use that name.

Working Features

Planned Improvements

Feel free to contact me (sears@cs.berkeley.edu) if you are interested in using or contributing to Stasis, or if you have any questions regarding the code or the paper.


$Author: sears $
$Date: 2008/10/04 00:41:41 $