diff --git a/doc/paper3/LLADD.tex b/doc/paper3/LLADD.tex index b513dc6..b3373ff 100644 --- a/doc/paper3/LLADD.tex +++ b/doc/paper3/LLADD.tex @@ -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. Alternatively, \yad could occasionally store its {\em 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 -provides a lower bound of the LSN of the first log entry that must be -applied to each page in the page file. It is used by ARIES to reduce +table lists all dirty pages and their {\em recovery LSNs}. +%It +%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 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 -entries older than the RecLSN need to be applied to a page during -redo. Therefore, redo can safely estimate the page LSN with any number less than RecLSN. +entries older than the RecLSN need to be applied to the page during +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 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 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 %accurate sparse representation of the LSNs of the entire page file. @@ -794,10 +796,10 @@ overhead to be minimal. \begin{figure} \includegraphics[% - viewport=0bp 0bp 460bp 225bp, + viewport=-1bp 0bp 460bp 225bp, clip, 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} \end{figure} @@ -1045,7 +1047,7 @@ perform similarly to comparable monolithic implementations. \begin{figure}[t] \graphdbg{\includegraphics[% - viewport=-23bp 28bp 625bp 360bp, + viewport=-26bp 28bp 625bp 360bp, clip, width=1\columnwidth]{figs/bulk-load.pdf}} \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] \graphdbg{\includegraphics[% - viewport=-43bp 50bp 490bp 370bp, + viewport=-43bp 45bp 490bp 370bp, clip, 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). @@ -1368,7 +1370,7 @@ the naive traversal. \begin{figure}[t] \graphdbg{\includegraphics[% - viewport=-10bp 15bp 525bp 336bp, + viewport=-10bp 10bp 525bp 346bp, clip, width=1\columnwidth]{figs/trans-closure-hotset.pdf}} %\vspace{-12pt} @@ -1580,7 +1582,7 @@ provides a transactional IPC mechanism, and allows varying degrees of isolation, both to support legacy code, and to provide an appropriate environment for custom transactional software~\cite{recoveryInQuickSilver}. 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. %It %supports transactions over durable and volatile state, and includes a diff --git a/doc/paper3/Stasis-CameraReady.pdf b/doc/paper3/Stasis-CameraReady.pdf new file mode 100644 index 0000000..a4bfb7a Binary files /dev/null and b/doc/paper3/Stasis-CameraReady.pdf differ