sec 5
This commit is contained in:
parent
904c09c984
commit
e2564270d6
1 changed files with 19 additions and 18 deletions
|
@ -1270,8 +1270,7 @@ The following sections describe the design and implementation of
|
||||||
non-trivial functionality using \yad, and use Berkeley DB for
|
non-trivial functionality using \yad, and use Berkeley DB for
|
||||||
comparison where appropriate. We chose Berkeley DB because, among
|
comparison where appropriate. We chose Berkeley DB because, among
|
||||||
commonly used systems, it provides transactional storage that is most
|
commonly used systems, it provides transactional storage that is most
|
||||||
similar to \yad. Also, it is available both in open-source form, and as a
|
similar to \yad, and it was
|
||||||
commercially maintained and supported program. Finally, it has been
|
|
||||||
designed for high-performance, high-concurrency environments.
|
designed for high-performance, high-concurrency environments.
|
||||||
|
|
||||||
All benchmarks were run on an Intel Xeon 2.8 GHz with 1GB of RAM and a
|
All benchmarks were run on an Intel Xeon 2.8 GHz with 1GB of RAM and a
|
||||||
|
@ -1286,6 +1285,7 @@ correspond to the mean of multiple runs and represent a 95\%
|
||||||
confidence interval with a standard deviation of +/- 5\%.
|
confidence interval with a standard deviation of +/- 5\%.
|
||||||
|
|
||||||
\mjd{Eric: Please reword the above to be accurate}
|
\mjd{Eric: Please reword the above to be accurate}
|
||||||
|
\eab{I think Rusty has to do this, as I don't know what the scrips do. Assuming they intended for 5\% on each side, this is a fine way to say it.}
|
||||||
|
|
||||||
We used Berkeley DB 4.2.52 as it existed in Debian Linux's testing
|
We used Berkeley DB 4.2.52 as it existed in Debian Linux's testing
|
||||||
branch during March of 2005, with the flags DB\_TXN\_SYNC, and DB\_THREAD
|
branch during March of 2005, with the flags DB\_TXN\_SYNC, and DB\_THREAD
|
||||||
|
@ -1293,23 +1293,24 @@ enabled. These flags were chosen to match
|
||||||
Berkeley DB's configuration to \yad's as closely as possible. In cases where
|
Berkeley DB's configuration to \yad's as closely as possible. In cases where
|
||||||
Berkeley DB implements a feature that is not provided by \yad, we
|
Berkeley DB implements a feature that is not provided by \yad, we
|
||||||
enable the feature if it improves Berkeley DB's performance, but
|
enable the feature if it improves Berkeley DB's performance, but
|
||||||
disable the feature if it degrades Berkeley DB's performance. With
|
disable the feature if it degrades Berkeley DB's performance.
|
||||||
the exception of \yad's optimized serialization mechanism in the
|
For each of the tests, the two libraries provide the same transactional semantics.
|
||||||
\oasys test (see Section \ref{OASYS}),
|
% With
|
||||||
the two libraries provide the same set of transactional
|
%the exception of \yad's optimized serialization mechanism in the
|
||||||
semantics during each test.
|
%\oasys test (see Section \ref{OASYS}),
|
||||||
|
%the two libraries provide the same set of transactional
|
||||||
|
%semantics during each test.
|
||||||
|
|
||||||
Optimizations to Berkeley DB that we performed included disabling the
|
Optimizations to Berkeley DB that we performed included disabling the
|
||||||
lock manager, though we still use ``Free Threaded'' handles for all tests.
|
lock manager, though we still use ``Free Threaded'' handles for all
|
||||||
This yielded a significant increase in performance because it removed
|
tests. This yielded a significant increase in performance because it
|
||||||
the possiblity of transaction deadlock, abort, and repetition.
|
removed the possiblity of transaction deadlock, abort, and repetition.
|
||||||
However, after introducing this optimization, highly concurrent Berkeley
|
However, after introducing this optimization, highly concurrent
|
||||||
DB benchmarks became unstable, suggesting that we may be calling the
|
Berkeley DB benchmarks became unstable, suggesting either a bug or
|
||||||
library incorrectly. We believe that this problem would only improve
|
misuse of the feature. We believe that this problem would only
|
||||||
Berkeley DB's performance in our benchmarks, so we
|
improve Berkeley DB's performance in our benchmarks, so we disabled
|
||||||
disabled the lock manager for all tests. Without this optimization,
|
the lock manager for all tests. Without this optimization, Berkeley
|
||||||
Berkeley DB's performance for Figure~\ref{fig:TPS} strictly decreased as
|
DB's performance for Figure~\ref{fig:TPS} strictly decreases with increased concurrency due to contention and deadlock recovery.
|
||||||
concurrency increased because of lock contention and deadlock resolution.
|
|
||||||
|
|
||||||
We increased Berkeley DB's buffer cache and log buffer sizes, to match
|
We increased Berkeley DB's buffer cache and log buffer sizes, to match
|
||||||
\yad's default sizes. Running with \yad's (larger) default values
|
\yad's default sizes. Running with \yad's (larger) default values
|
||||||
|
@ -2234,7 +2235,7 @@ and reliable.
|
||||||
|
|
||||||
\section{Conclusion}
|
\section{Conclusion}
|
||||||
|
|
||||||
\mjd{need to search and replace for ``lladd'' and ``oasys''}
|
%EAB: done, \mjd{need to search and replace for ``lladd'' and ``oasys''}
|
||||||
|
|
||||||
|
|
||||||
\rcs{write conclusion section}
|
\rcs{write conclusion section}
|
||||||
|
|
Loading…
Reference in a new issue