Camera ready version. Emailed it out.
This commit is contained in:
parent
8cea61b148
commit
e48267fcf5
2 changed files with 14 additions and 12 deletions
|
@ -767,20 +767,22 @@ page LSNs rather than reading them from pages. One safe estimate
|
||||||
is the LSN of the most recent archive or log truncation point.
|
is the LSN of the most recent archive or log truncation point.
|
||||||
Alternatively, \yad could occasionally store its {\em dirty page
|
Alternatively, \yad could occasionally store its {\em dirty page
|
||||||
table} to the log (Figure~\ref{fig:lsn-estimation}). The dirty page
|
table} to the log (Figure~\ref{fig:lsn-estimation}). The dirty page
|
||||||
table lists all dirty pages and their {\em recovery LSNs}. It
|
table lists all dirty pages and their {\em recovery LSNs}.
|
||||||
provides a lower bound of the LSN of the first log entry that must be
|
%It
|
||||||
applied to each page in the page file. It is used by ARIES to reduce
|
%stores the LSN of the first log entry that may need to be
|
||||||
|
%applied to each page in the page file.
|
||||||
|
It is used by ARIES to reduce
|
||||||
the amount of work that must be performed during REDO.
|
the amount of work that must be performed during REDO.
|
||||||
|
|
||||||
The recovery LSN (RecLSN) is the LSN of the log entry
|
The recovery LSN (RecLSN) is the LSN of the log entry
|
||||||
that caused a clean (up-to-date on disk) page to become dirty. No log
|
that caused a clean (up-to-date on disk) page to become dirty. No log
|
||||||
entries older than the RecLSN need to be applied to a page during
|
entries older than the RecLSN need to be applied to the page during
|
||||||
redo. Therefore, redo can safely estimate the page LSN with any number less than RecLSN.
|
redo. Therefore, redo can safely estimate the page LSN by choosing any number less than RecLSN.
|
||||||
If a page is not in the table, redo can use the LSN of the log
|
If a page is not in the table, redo can use the LSN of the log
|
||||||
entry that contains the table, since the page must have been clean
|
entry that contains the table, since the page must have been clean
|
||||||
when the log entry was produced. \yad writes the dirty page table to
|
when the log entry was produced. \yad writes the dirty page table to
|
||||||
log whether or not LSN-free pages are in use, so we expect the runtime
|
log whether or not LSN-free pages are in use, so we expect the runtime
|
||||||
overhead to be minimal.
|
overhead to be negligible.
|
||||||
|
|
||||||
%Each dirty list is an
|
%Each dirty list is an
|
||||||
%accurate sparse representation of the LSNs of the entire page file.
|
%accurate sparse representation of the LSNs of the entire page file.
|
||||||
|
@ -794,10 +796,10 @@ overhead to be minimal.
|
||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\includegraphics[%
|
\includegraphics[%
|
||||||
viewport=0bp 0bp 460bp 225bp,
|
viewport=-1bp 0bp 460bp 225bp,
|
||||||
clip,
|
clip,
|
||||||
width=1\columnwidth]{figs/lsn-estimation.pdf}
|
width=1\columnwidth]{figs/lsn-estimation.pdf}
|
||||||
\caption{\label{fig:lsn-estimation}LSN estimation. If a page was not mentioned in the log, it must have been up-to-date on disk. Here, RecLSN is the LSN of the entry that caused the page to become dirty. Subtracting one yields a safe estimate of the page LSN.}
|
\caption{\label{fig:lsn-estimation}LSN estimation. If a page was not mentioned in the log, it must have been up-to-date on disk. RecLSN is the LSN of the entry that caused the page to become dirty. Subtracting one gives us a safe estimate of the page LSN.}
|
||||||
\vspace{-12pt}
|
\vspace{-12pt}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
@ -1045,7 +1047,7 @@ perform similarly to comparable monolithic implementations.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\graphdbg{\includegraphics[%
|
\graphdbg{\includegraphics[%
|
||||||
viewport=-23bp 28bp 625bp 360bp,
|
viewport=-26bp 28bp 625bp 360bp,
|
||||||
clip,
|
clip,
|
||||||
width=1\columnwidth]{figs/bulk-load.pdf}}
|
width=1\columnwidth]{figs/bulk-load.pdf}}
|
||||||
\caption{\label{fig:BULK_LOAD} Performance of \yad and Berkeley DB hash table implementations. The
|
\caption{\label{fig:BULK_LOAD} Performance of \yad and Berkeley DB hash table implementations. The
|
||||||
|
@ -1054,7 +1056,7 @@ test is run as a single transaction, minimizing synchronous log writes.}
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\graphdbg{\includegraphics[%
|
\graphdbg{\includegraphics[%
|
||||||
viewport=-43bp 50bp 490bp 370bp,
|
viewport=-43bp 45bp 490bp 370bp,
|
||||||
clip,
|
clip,
|
||||||
width=1\columnwidth]{figs/tps-extended.pdf}}
|
width=1\columnwidth]{figs/tps-extended.pdf}}
|
||||||
\caption{\label{fig:TPS} High-concurrency hash table performance. Our Berkeley DB test can only support 50 threads (see text).
|
\caption{\label{fig:TPS} High-concurrency hash table performance. Our Berkeley DB test can only support 50 threads (see text).
|
||||||
|
@ -1368,7 +1370,7 @@ the naive traversal.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\graphdbg{\includegraphics[%
|
\graphdbg{\includegraphics[%
|
||||||
viewport=-10bp 15bp 525bp 336bp,
|
viewport=-10bp 10bp 525bp 346bp,
|
||||||
clip,
|
clip,
|
||||||
width=1\columnwidth]{figs/trans-closure-hotset.pdf}}
|
width=1\columnwidth]{figs/trans-closure-hotset.pdf}}
|
||||||
%\vspace{-12pt}
|
%\vspace{-12pt}
|
||||||
|
@ -1580,7 +1582,7 @@ provides a transactional IPC mechanism, and
|
||||||
allows varying degrees of isolation, both to support legacy code, and
|
allows varying degrees of isolation, both to support legacy code, and
|
||||||
to provide an appropriate environment for custom transactional software~\cite{recoveryInQuickSilver}.
|
to provide an appropriate environment for custom transactional software~\cite{recoveryInQuickSilver}.
|
||||||
By providing an environment that allows multiple,
|
By providing an environment that allows multiple,
|
||||||
independently written, transactional programs to interoperate, QuickSilver
|
independently written, transactional systems to interoperate, QuickSilver
|
||||||
would complement \yad nicely.
|
would complement \yad nicely.
|
||||||
%It
|
%It
|
||||||
%supports transactions over durable and volatile state, and includes a
|
%supports transactions over durable and volatile state, and includes a
|
||||||
|
|
BIN
doc/paper3/Stasis-CameraReady.pdf
Normal file
BIN
doc/paper3/Stasis-CameraReady.pdf
Normal file
Binary file not shown.
Loading…
Reference in a new issue