From a426824f1810f3e7322f8aa4524ada33ff2db381 Mon Sep 17 00:00:00 2001 From: Sears Russell Date: Tue, 25 Apr 2006 02:38:55 +0000 Subject: [PATCH] bibliography entries --- doc/paper3/LLADD.bib | 223 +++++++++++++++++++++++++++++++++++++++++++ doc/paper3/LLADD.tex | 29 +++--- 2 files changed, 238 insertions(+), 14 deletions(-) diff --git a/doc/paper3/LLADD.bib b/doc/paper3/LLADD.bib index 4062f60..f2ddb1a 100644 --- a/doc/paper3/LLADD.bib +++ b/doc/paper3/LLADD.bib @@ -87,6 +87,33 @@ } + +@Misc{reiserfs, + OPTkey = {}, + author = {Hans T. Reiser}, + title = {{ReiserFS}}, + OPThowpublished = {}, + OPTmonth = {}, + OPTyear = {}, + note = {http://www.namesys.com}, + OPTannote = {} +} + + + +@Misc{sqlserver, + OPTkey = {}, + OPTauthor = {}, + title = {Microsoft {SQL S}erver 2005}, + OPThowpublished = {}, + OPTmonth = {}, + OPTyear = {}, + OPTnote = {}, + OPTannote = {} +} + + + @Article{lrvm, author = {M. Satyanarayanan and Henry H. Mashburn and Puneet Kumar and David C. Steere and James J. Kistler}, title = {Lightweight recoverable virtual memory}, @@ -214,3 +241,199 @@ OPTannote = {} } + + +@InProceedings{libtp, + author = {Margo Seltzer and M Olsen}, + title = {{LIBTP}: Portable, Modular Transactions for {UNIX}}, + OPTcrossref = {}, + OPTkey = {}, + booktitle = {Proceedings of the 1992 Usenix Conference}, + OPTpages = {}, + year = {1992}, + OPTeditor = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTseries = {}, + OPTaddress = {}, + month = {Janurary}, + OPTorganization = {}, + OPTpublisher = {}, + OPTnote = {}, + OPTannote = {} +} + + + +@InProceedings{riscDB, + author = {Surajit Chaudhuri and Gerhard Weikum}, + title = {Rethinking Database System Architecture: Towards a Self-tuning RISC-style Database System}, + OPTcrossref = {}, + OPTkey = {}, + booktitle = {Proceedings of the 26th International Conference on Very Large Databases}, + OPTpages = {}, + year = {2000}, + OPTeditor = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTseries = {}, + OPTaddress = {}, + OPTmonth = {}, + OPTorganization = {}, + OPTpublisher = {}, + OPTnote = {}, + OPTannote = {} +} + +@Article{optimisticConcurrencyControl, + author = {H. T. Kung and John T. Robinson}, + title = {On optimistic methods for concurrency control}, + journal = {ACM Transactions on Database Systems}, + year = {1981}, + OPTkey = {}, + volume = {6}, + number = {2}, + pages = {213-226}, + month = {June}, + OPTnote = {}, + OPTannote = {} +} + +@Article{optimisticConcurrencyPerformance, + author = {R Agrawal and M J Carey and M Livny}, + title = {Concurrency control performance modeling: alternatives and implications}, + journal = {ACM Transactions on Database Systems}, + year = {1987}, + OPTkey = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTpages = {}, + OPTmonth = {}, + OPTnote = {}, + OPTannote = {} +} + +@inproceedings{oo7, + author = {Michael J. Carey and + David J. DeWitt and + Jeffrey F. Naughton}, + OPTeditor = {Peter Buneman and + Sushil Jajodia}, + title = {The oo7 Benchmark}, + booktitle = {Proceedings of the 1993 ACM SIGMOD International Conference on + Management of Data}, + OPTpublisher = {ACM Press}, + year = {1993}, + pages = {12-21}, + OPTee = {http://doi.acm.org/10.1145/170035.170041, db/conf/sigmod/CareyDN93.html}, + OPTcrossref = {DBLP:conf/sigmod/93}, + OPTbibsource = {DBLP, http://dblp.uni-trier.de} +} +@InProceedings{lht, + author = {Witold Litwin}, + title = {Linear Hashing: A New Tool for File and Table Addressing }, + OPTcrossref = {}, + OPTkey = {}, + booktitle = {Proceedings of the 6th Conference on Very Large Dabatases}, + pages = {224-232}, + year = {1980}, + OPTeditor = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTseries = {}, + OPTaddress = {}, + OPTmonth = {}, + OPTorganization = {}, + OPTpublisher = {}, + OPTnote = {}, + OPTannote = {} +} + +@inproceedings{esm, + author = {Michael J. Carey and + David J. DeWitt and + Joel E. Richardson and + Eugene J. Shekita}, + OPTeditor = {Wesley W. Chu and + Georges Gardarin and + Setsuo Ohsuga and + Yahiko Kambayashi}, + title = {Object and File Management in the {EXODUS} Extensible Database + System}, + booktitle = {VLDB'86 Twelfth International Conference on Very Large Data Bases}, + OPTfoo = { August 25-28, 1986, Kyoto, Japan, Proceedings}, + OPTpublisher = {Morgan Kaufmann}, + year = {1986}, + OPTisbn = {0-934613-18-4}, + pages = {91-100}, + OPTee = {db/conf/vldb/CareyDRS86.html}, + OPTcrossref = {DBLP:conf/vldb/86}, + OPTbibsource = {DBLP, http://dblp.uni-trier.de} +} +@Article{ffs, + author = {M K Mckusick and W N Joy and S J Leffler and R S Fabry}, + title = {A Fast File System for {UNIX}}, + journal = {ACM Transactions on Computer Systems}, + year = {1984}, + OPTkey = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTpages = {}, + OPTmonth = {}, + OPTnote = {}, + OPTannote = {} +} + +@InProceedings{gfs, + author = {S Ghemawat and H Gobioff and ST Leung}, + title = {The {G}oogle file system}, + OPTcrossref = {}, + OPTkey = {}, + booktitle = {Proceedings of the 19th ACM Symposium on Operating Systems Principles}, + pages = {29-43}, + year = {2003}, + OPTeditor = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTseries = {}, + OPTaddress = {}, + OPTmonth = {}, + OPTorganization = {}, + OPTpublisher = {}, + OPTnote = {}, + OPTannote = {} +} + +@InProceedings{lfs, + author = {The Design and Implementation of a Log-Structured File System}, + title = {Mendel Rosenblum and John K. Ousterhout}, + OPTcrossref = {}, + OPTkey = {}, + booktitle = {Proceedings of the 13th ACM Symposium on Operating Systems Principles}, + OPTpages = {}, + year = {1992}, + OPTeditor = {}, + OPTvolume = {}, + OPTnumber = {}, + OPTseries = {}, + OPTaddress = {}, + OPTmonth = {}, + OPTorganization = {}, + OPTpublisher = {}, + OPTnote = {}, + OPTannote = {} +} + +@article{hoard, + author = {Emery D. Berger and Kathryn S. McKinley and Robert D. Blumofe and Paul R. Wilson}, + title = {Hoard: a scalable memory allocator for multithreaded applications}, + journal = {ACM SIGPLAN Notices}, + volume = {35}, + number = {11}, + year = {2000}, + OPTissn = {0362-1340}, + pages = {117--128}, + OPTdoi = {http://doi.acm.org/10.1145/356989.357000}, + OPTpublisher = {ACM Press}, + OPTaddress = {New York, NY, USA}, + } \ No newline at end of file diff --git a/doc/paper3/LLADD.tex b/doc/paper3/LLADD.tex index dfacad6..33e2385 100644 --- a/doc/paper3/LLADD.tex +++ b/doc/paper3/LLADD.tex @@ -339,7 +339,7 @@ databases. At its core, it provides the physical database %It is based on the %observation that the storage subsystem is a more general (and less %abstract) component than a monolithic database, and provides a -%standalone implementation of the storage primitives built into +%stand-alone implementation of the storage primitives built into %most relational database systems~\cite{libtp}. In particular, it provides fully transactional (ACID) operations over B-Trees, @@ -411,13 +411,13 @@ to build a system that enables a wider range of data management options. %e-mail use databases to store unstructured binary data, if at all. %More recently, WinFS, Microsoft's database based -%file metadata management system, has been replaced in favor of an +%file meta data management system, has been replaced in favor of an %embedded indexing engine that imposes less structure (and provides %fewer consistency guarantees) than the original %proposal~\cite{needtocitesomething}. %Scaling to the very large doesn't work (SAP used DB2 as a hash table -%for years), search engines, cad/vlsi didn't happen. scalable GIS +%for years), search engines, cad/VLSI didn't happen. scalable GIS %systems use shredded blobs (terraserver, google maps), scaling to many %was more difficult than implementing from scratch (winfs), scaling %down doesn't work (variance in performance, footprint), @@ -703,7 +703,7 @@ each data structure until the end of the transaction. Releasing the lock after the modification, but before the end of the transaction, increases concurrency. However, it means that follow-on transactions that use that data may need to abort if a current transaction aborts ({\em -cascading aborts}). These issues are studied in great detail in terms of optimistic concurrency control~\cite{optimisticConcurrencyControl, optimisticConcurrenctPerformance}. +cascading aborts}). Related issues are studied in great detail in terms of optimistic concurrency control~\cite{optimisticConcurrencyControl, optimisticConcurrencyPerformance}. Unfortunately, the long locks held by total isolation cause bottlenecks when applied to key data structures. @@ -735,7 +735,7 @@ implements nested top actions. The extension may be used as follows: \noindent If the transaction that encloses the operation aborts, the logical undo will {\em compensate} for its effects, leaving the structural changes intact. -% Note that this recipe does not ensure iso transactional +% Note that this recipe does not ensure ISO transactional %consistency and is largely orthogonal to the use of a lock manager. We have found that it is easy to protect operations that make @@ -790,7 +790,7 @@ properly. We call such pages ``LSN-free'' pages. Although this technique is novel for databases, it resembles the mechanism used by -RVM~\cite{rvm}; \yad generalizes the concept and allows it to +RVM~\cite{lrvm}; \yad generalizes the concept and allows it to co-exist with traditional pages. Furthermore, efficient recovery and log truncation require only minor modifications to our recovery algorithm. In practice, this is implemented by providing a buffer manager callback @@ -912,6 +912,7 @@ We discuss existing approaches to the systems presented here when appropriate. \subsection{Adding log operations} +\label{sec:wal} \begin{figure} \includegraphics[% width=1\columnwidth]{figs/structure.pdf} @@ -1258,7 +1259,7 @@ we see that update/flush indeed improves memory utilization. \subsection{Manipulation of logical log entries} - +\label{sec:logging} \begin{figure} \includegraphics[width=1\columnwidth]{figs/graph-traversal.pdf} \vspace{-24pt} @@ -1305,7 +1306,7 @@ balancing can be implemented by splitting requests across many nodes. Similarly, a node can easily service streams of requests from multiple nodes by combining them into a single log, and processing the log using operation implementations. For example, this type of optimization -is used by RVM's log-merging operations~\cite{rvm}. +is used by RVM's log-merging operations~\cite{lrvm}. Furthermore, application-specific procedures that are analogous to standard relational algebra methods @@ -1421,7 +1422,7 @@ objects~\cite{esm}. Finally, RVM, recoverable virtual memory, made use of LSN-free pages so that it could use mmap() to map portions of the page file into -application memory\cite{rvm}. However, without support for logical log entries +application memory\cite{lrvm}. However, without support for logical log entries and nested top actions, it would be difficult to implement a concurrent, durable data structure using RVM. We plan to add RVM style transactional memory to \yad in a way that is compatible with @@ -1438,7 +1439,7 @@ incorporate into \yad. Different large object storage systems provide different API's. Some allow arbitrary insertion and deletion of bytes~\cite{esm} or pages~\cite{sqlserver} within the object, while typical filesystems -provide append-only storage allocation~\cite{ffs,ntfs}. +provide append-only storage allocation~\cite{ffs}. Record-oriented file systems are an older, but still-used alternative~\cite{vmsFiles11,gfs}. Each of these API's addresses different workloads. @@ -1458,8 +1459,8 @@ information about memory management.~\cite{xxx} \rcs{Eric, do you have a reference for this?} Finally, many systems take a hybrid approach to allocation. Examples include -databases with blob support\cite{something}, and a number of -filesystems~\cite{reiserfs3,didFFSdoThis}. +databases with blob support, and a number of +filesystems~\cite{reiserfs,ffs}. We are interested in allowing applications to store records in the transaction log. Assuming log fragmentation is kept to a @@ -1477,8 +1478,8 @@ complement to such a system, especially given \yads focus on intelligence and optimizations within a single node, and Boxwood's focus on multiple node systems. In particular, it would be interesting to explore extensions to the Boxwood approach that make -use of \yads customizable semantics (Section~\ref{wal}), and fully logical logging -mechanism. (Section~\ref{logging}) +use of \yads customizable semantics (Section~\ref{sec:wal}), and fully logical logging +mechanism. (Section~\ref{sec:logging}) \section{Future Work}