more spelling fixes

This commit is contained in:
Mike Demmer 2005-03-26 01:30:45 +00:00
parent 939b6a8845
commit 033cf78870

View file

@ -387,7 +387,7 @@ and deployment efforts.
\rcs{Potential conclusion material after this line in the .tex file..}
%Section~\ref{sub:Linear-Hash-Table}
%validates the premise that the primatives provided by \yad are
%validates the premise that the primitives provided by \yad are
%sufficient to allow application developers to easily develop
%specialized-data structures that are competitive with, or faster than
%general purpose primatives implemented by existing systems such as
@ -1406,7 +1406,7 @@ need a map from bucket number to bucket contents (lists), and we need to handle
The simplest bucket map would simply use a fixed-size transactional
array. However, since we want the size of the table to grow, we should
not assume that it fits in a contiguous range of pages. Insteed, we build
not assume that it fits in a contiguous range of pages. Instead, we build
on top of \yad's transactional ArrayList data structure (inspired by
Java's structure of the same name).
@ -1464,7 +1464,7 @@ for short lists, providing fast overflow bucket traversal for the hash table.}
\end{figure}
Given the map, which locates the bucket, we need a transactional
linked list for the contents of the bucket. The trivial implemention
linked list for the contents of the bucket. The trivial implementation
would just link variable-size records together, where each record
contains a $(key,value)$ pair and the $next$ pointer, which is just a
$(page,slot)$ address.
@ -1476,7 +1476,7 @@ the list on the same page: thus we use a list of lists. The main list
links pages together, while the smaller lists reside with that
page. \yad's slotted pages allows the smaller lists to support
variable-size values, and allow list reordering and value resizing
with a single log entry (since everthing is on one page).
with a single log entry (since everything is on one page).
In addition, all of the entries within a page may be traversed without
unpinning and repinning the page in memory, providing very fast
@ -1710,7 +1710,7 @@ significantly better than Berkeley DB's with both filesystems.}
%
%The final test measures the maximum number of sustainable transactions
%per second for the two libraries. In these cases, we generate a
%uniform number of transactions per second by spawning a fixed nuber of
%uniform number of transactions per second by spawning a fixed number of
%threads, and varying the number of requests each thread issues per
%second, and report the cumulative density of the distribution of
%response times for each case.
@ -1718,7 +1718,7 @@ significantly better than Berkeley DB's with both filesystems.}
%\rcs{analysis / come up with a more sane graph format.}
Finally, we developed a simple load generator which spawns a pool of threads that
generate a fixed number of requests per second. We then meaured
generate a fixed number of requests per second. We then measured
response latency, and found that Berkeley DB and \yad behave
similarly.
@ -1734,7 +1734,7 @@ define custom latching/locking semantics, and make use of, or
implement a custom variant of nested top actions.
The fact that our straightforward hashtable is competitive
with Berkeley BD shows that
with Berkeley DB shows that
straightforward implementations of specialized data structures can
compete with comparable, highly-tuned, general-purpose implementations.
Similarly, it seems as though it is not difficult to implement specialized
@ -1753,7 +1753,7 @@ transactional systems.
%This section uses:
%\begin{enumerate}
%\item{Custom page layouts to implement ArrayList}
%\item{Addresses data by page to perserve locality (contrast w/ other systems..)}
%\item{Addresses data by page to preserve locality (contrast w/ other systems..)}
%\item{Custom log formats to implement logical undo}
%\item{Varying levels of latching}
%\item{Nested Top Actions for simple implementation.}
@ -2236,10 +2236,10 @@ is more expensive then making a recursive function call.
We considered applying some of the optimizations discussed earlier in
the paper to our graph traversal algorithm, but opted to dedicate this
section to request reordering. Diff based log entries would be an
obvious benifit for this scheme, and there may be a way to use the
obvious benefit for this scheme, and there may be a way to use the
OASYS implementation to reduce page file utilization. The request
reordering optimization made use of reusable operation implementations
by borrowing ArrayList from the hashtable. It cleanly seperates wrapper
by borrowing ArrayList from the hashtable. It cleanly separates wrapper
functions from implementations and makes use of application-level log
manipulation primatives to produce locality in workloads. We believe
these techniques can be generalized to other applications in future work.