edits, conclusion
This commit is contained in:
parent
bd25beb300
commit
85e86f2f5c
1 changed files with 20 additions and 19 deletions
|
@ -545,19 +545,19 @@ synchronization mechanisms that protect the physical consistency of
|
||||||
\yad's internal data structures and the data store. We say {\em
|
\yad's internal data structures and the data store. We say {\em
|
||||||
locking} when we refer to mechanisms that provide some level of
|
locking} when we refer to mechanisms that provide some level of
|
||||||
isolation among transactions.
|
isolation among transactions.
|
||||||
|
For locking, due to the variety of locking protocols available and degrees of isolation available, we leave it to the application via the Lock Manager API (Section~\ref{lock-manager}).
|
||||||
|
|
||||||
|
%workloads~\cite{multipleGenericLocking}, we leave it to the
|
||||||
|
%application to decide what degree of isolation is
|
||||||
|
%appropriate. Section~\ref{lock-manager} presents the lock manager.
|
||||||
|
|
||||||
\yad operations that allow concurrent requests must provide a latching
|
\yad operations that allow concurrent requests must provide a latching
|
||||||
(but not locking) implementation that is guaranteed not to deadlock.
|
implementation that is guaranteed not to deadlock.
|
||||||
These implementations need not ensure consistency of application data.
|
These implementations need not ensure consistency of application data.
|
||||||
Instead, they must maintain the consistency of any underlying data
|
Instead, they must maintain the consistency of any underlying data
|
||||||
structures. Generally, latches do not persist across calls performed
|
structures. Generally, latches do not persist across calls performed
|
||||||
by high-level code, as that could lead to deadlock.
|
by high-level code, as that could lead to deadlock.
|
||||||
|
|
||||||
For locking, due to the variety of locking protocols available, and
|
|
||||||
their interaction with application
|
|
||||||
workloads~\cite{multipleGenericLocking}, we leave it to the
|
|
||||||
application to decide what degree of isolation is
|
|
||||||
appropriate. Section~\ref{lock-manager} presents the lock manager.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1353,19 +1353,20 @@ misuse of the feature. We believe that this problem would only
|
||||||
improve Berkeley DB's performance in our benchmarks, so we disabled
|
improve Berkeley DB's performance in our benchmarks, so we disabled
|
||||||
the lock manager for all tests. Without this optimization, Berkeley
|
the lock manager for all tests. Without this optimization, Berkeley
|
||||||
DB's performance for Figure~\ref{fig:TPS} strictly decreases with increased concurrency due to contention and deadlock recovery.
|
DB's performance for Figure~\ref{fig:TPS} strictly decreases with increased concurrency due to contention and deadlock recovery.
|
||||||
|
|
||||||
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.
|
||||||
roughly doubled Berkeley DB's performance on the bulk loading tests.
|
% Running with \yad's (larger) default values
|
||||||
|
%roughly doubled Berkeley DB's performance on the bulk loading tests.
|
||||||
|
|
||||||
Finally, we would like to point out that we expended a considerable
|
Finally, we would like to point out that we expended a considerable
|
||||||
effort tuning Berkeley DB, and that our efforts significantly
|
effort tuning Berkeley DB, and that our efforts significantly improved
|
||||||
improved Berkeley DB's performance on these tests. Although further
|
Berkeley DB's performance on these tests. Although further tuning by
|
||||||
tuning by Berkeley DB experts might improve Berkeley DB's
|
Berkeley DB experts might improve Berkeley DB's numbers, we think that
|
||||||
numbers, we think that we have produced a reasonably fair comparison
|
we have produced a reasonably fair comparison, and have reproduced the
|
||||||
between the two systems. The source code and scripts we used to
|
overall results on multiple machines and file systems.
|
||||||
generate this data is publicly available, and we have been able to
|
%. The source code and scripts we used to
|
||||||
reproduce the trends reported here on multiple systems.
|
%generate this data is publicly available, and we have been able to
|
||||||
|
%reproduce the trends reported here on multiple systems.
|
||||||
|
|
||||||
|
|
||||||
\section{Linear Hash Table\label{sub:Linear-Hash-Table}}
|
\section{Linear Hash Table\label{sub:Linear-Hash-Table}}
|
||||||
|
@ -2430,15 +2431,15 @@ benefit from the power of transactions.
|
||||||
|
|
||||||
\bibitem[7]{physiological} Gray, J. and Reuter, A. {\em Transaction Processing: Concepts and Techniques}. Morgan Kaufmann (1993) San Mateo, CA
|
\bibitem[7]{physiological} Gray, J. and Reuter, A. {\em Transaction Processing: Concepts and Techniques}. Morgan Kaufmann (1993) San Mateo, CA
|
||||||
|
|
||||||
\bibitem[8]{hierarcicalLocking} Jim Gray, Raymond A. Lorie, and Gianfranco R. Putzulo. {\em Granularity of locks and degrees of consistency in a shared database}. In 1st International Conference on VLDB, pages 428--431, September 1975. Reprinted in Readings in Database Systems, 3rd edition.
|
\bibitem[8]{hierarcicalLocking} Jim Gray, Raymond A. Lorie, and Gianfranco R. Putzulo. {\em Granularity of locks and degrees of consistency in a shared database}. In 1st International Conference on VLDB, September 1975. Reprinted in Readings in Database Systems, 3rd ed.
|
||||||
|
|
||||||
\bibitem[9]{haerder} Haerder \& Reuter {\em "Principles of Transaction-Oriented Database Recovery." } Computing Surveys 15(4) p 287-317 (1983)
|
\bibitem[9]{haerder} Haerder \& Reuter {\em "Principles of Transaction-Oriented Database Recovery." } Computing Surveys 15(4) (1983) % p 287-317
|
||||||
|
|
||||||
\bibitem[10]{lamb} Lamb, et al., {\em The ObjectStore System.} CACM 34(10) (1991)
|
\bibitem[10]{lamb} Lamb, et al., {\em The ObjectStore System.} CACM 34(10) (1991)
|
||||||
|
|
||||||
\bibitem[11]{blink} Lehman \& Yao, {\em Efficient Locking for Concurrent Operations in B-trees.} TODS 6(4) (1981) p. 650-670
|
\bibitem[11]{blink} Lehman \& Yao, {\em Efficient Locking for Concurrent Operations in B-trees.} TODS 6(4) (1981) p. 650-670
|
||||||
|
|
||||||
\bibitem[12]{lht} Litwin, W., {\em Linear Hashing: A New Tool for File and Table Addressing}. Proc. 6th VLDB, Montreal, Canada, (Oct. 1980) p. 212-223
|
\bibitem[12]{lht} Litwin, W., {\em Linear Hashing: A New Tool for File and Table Addressing}. Proc. 6th VLDB, Montreal, Canada, (Oct. 1980) % p. 212-223
|
||||||
|
|
||||||
\bibitem[13]{aries} Mohan, et al., {\em ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging.} TODS 17(1) (1992) p. 94-162
|
\bibitem[13]{aries} Mohan, et al., {\em ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging.} TODS 17(1) (1992) p. 94-162
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue