Stasis is a flexible transactional storage library for high-performance applications and system developers. It supports concurrent transactional storage and no-FORCE/STEAL buffer management.
Find a file
Sears Russell d6ca424ea2 First stab at automated benchmark execution; broke compatibility with old plotter.pl, timing.pl, and added a Makefile that attempts to
intelligently manage binaries, and benchmarking data, with support for interruputed runs, etc.  Also, extended the .def format to include
enough information to run the benchmarks
2006-05-27 02:45:29 +00:00
benchmarks First stab at automated benchmark execution; broke compatibility with old plotter.pl, timing.pl, and added a Makefile that attempts to 2006-05-27 02:45:29 +00:00
blast forgot to save it the last time... 2005-05-01 22:36:08 +00:00
doc final submission 2006-04-25 04:19:17 +00:00
libdfa Intialization bug 2006-03-28 20:14:04 +00:00
lladd removed dead field from TransactionLog 2006-05-25 22:24:13 +00:00
m4 Require db4.2-dev, not db4.2-c++-dev 2005-03-21 08:59:20 +00:00
pbl removed memcpy() calls from inMemoryLog; added "const" qualifier to many LogEntry pointers. 2006-04-11 02:20:21 +00:00
pobj Fixed a bunch of 'easy' warnings 2006-05-25 00:02:46 +00:00
src No more warnings with -O2. 2006-05-25 22:50:52 +00:00
test Added -fno-strict-aliasing to the CFLAGS for the unit tests... This is 2006-05-25 22:50:28 +00:00
utilities removed memcpy() calls from inMemoryLog; added "const" qualifier to many LogEntry pointers. 2006-04-11 02:20:21 +00:00
AUTHORS Initial revision 2004-06-24 21:10:31 +00:00
bootstrap Initial revision 2004-06-24 21:10:31 +00:00
ChangeLog Benchmark debugging output / scalability fixes. 2005-03-21 08:03:45 +00:00
clean.sh Added support for gcov, and ran gprof. Shaved 10% off the runtime of check_page by optimizing rw.c 2004-10-04 05:24:12 +00:00
configure.in Portability fixes for FreeBSD and Mac OS. Check broke compatibility w/ 2005-03-13 02:24:01 +00:00
COPYING Initial revision 2004-06-24 21:10:31 +00:00
cvs-branch-info Addid information about the blast branch. 2005-05-02 01:32:47 +00:00
lladd.prj Support for nested top actions, with simple unit test. (Haven't tested for thread safety yet.) 2004-11-29 21:28:13 +00:00
lladd.pws Implemented pageOrientedList, also did some bug fixing, and added some support functions to alloc.c 2005-01-28 03:32:17 +00:00
Makefile.am partial fixes 2006-03-28 20:15:31 +00:00
mkinstalldirs Initial revision 2004-06-24 21:10:31 +00:00
NEWS Initial revision 2004-06-24 21:10:31 +00:00
NOTES Initial revision 2004-06-24 21:10:31 +00:00
README Added support for gcov, and ran gprof. Shaved 10% off the runtime of check_page by optimizing rw.c 2004-10-04 05:24:12 +00:00
reconf Ported LLADD to Fedora, cleaned up autoconf setup, and numerouse #includes that were problematic. 2004-07-06 01:22:18 +00:00
reconf-1.8 Made pageWriteLSN static. 2004-07-09 22:05:33 +00:00
stamp-h.in Initial revision 2004-06-24 21:10:31 +00:00

LLADD is an experimental Lightweight Library for Atomicity and Durability of Data.

Please see the COPYING file for licensing information.  

To build, do:

./configure
make
make check
make install

To build the API and internals documentation, run:

make docs

after configure.

'make check' requires the GNU check library, 'make doc' requires Doxygen.

We haven't tested make install. ;)

If you want to install check to a non-standard location, try this:

./configure --with-check=/home/eecs/sears/check


This package contains a copy of Peter Graf's Program Base Library, PBL, which is
distributed under the terms of the LGPL.

The original version can be found at:

http://mission.base.com/peter/source/

LLADD's version of the package adds the jbhash.* files, and compiles PBL using
LLADD's make files.  Currently, LLADD's hash table implementations are based upon
code from PBL, and pbl is used in a number of places throughout LLADD.

In order to use gcc's profiling and coverage tools (gprof, and gcov, respectively),
 execute this command:

export CFLAGS="-fprofile-arcs -ftest-coverage -pg -O0"
./configure
make clean
make check


The 'make check' step will output profiles and test coverage that reflects the test
cases.  You can simply invoke 'make' if you are interested in profiling the 
library for a specific program.

To produce the gcov output, you may then run this command in src/

ls *.c logger/*.c operations/*.c page/*.c | xargs -n 1 gcov | grep  executed | sort -k1,1n

Or, run this:

lcov -c --directory .  > tmp.info
genhtml tmp.info

For HTML output.