master
Geoffrey Challen 2015-06-18 18:42:43 -04:00
parent b7a1f6b719
commit 7bce2a2fbc
7 changed files with 52 additions and 9 deletions

View File

@ -1,6 +1,6 @@
export PYTEX=$(shell pwd)/pytex/
START = noxxxnote nodraft noblue
START = xxxnote nodraft noblue
END = missing
CLASS = $(PWD)/llncs.cls

View File

@ -1,11 +1,7 @@
\documentclass{llncs}
\usepackage{geometry}
\usepackage{makeidx} % allows for indexgeneration
\usepackage{graphicx}
\usepackage{geometry,makeidx,graphicx,amssymb,color,url,subcaption}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{color}
\usepackage{url}
\captionsetup{compatibility=false}
\newcommand{\ask}[1]{\begin{center}
\textcolor{blue}{\textbf{Question: } {#1}}
@ -22,10 +18,11 @@ Lukasz Ziarek
}
\authorrunning{Kennedy et. al.}
\institute{SUNY Buffalo; Buffalo, NY 14260; USA\\
\institute{University at Buffalo; Buffalo, NY 14260; USA\\
\email{\{okennedy,jerryant,challen,ziarek\}@buffalo.edu}\\
Website: \texttt{http://odin.cse.buffalo.edu/research/}
}
\input{.xxxnote}
\begin{document}

View File

@ -54,7 +54,8 @@ for f in files:
inputs = inputs.findall(lines)
real_inputs = []
for possible_input in inputs:
if os.path.splitext(possible_input)[1] == '':
name, ext = os.path.splitext(possible_input)
if name[0] != "." and ext == '':
possible_input += '.tex'
real_inputs.append(possible_input)
toprocess += real_inputs

View File

@ -0,0 +1,45 @@
\begin{figure*}[t]
\begin{subfigure}[t]{0.33\textwidth}
\includegraphics[width=\textwidth]{./graphs/activity/All_Devices__All_Apps__All_Queries__AllPreviousQueryCDFGraph.pdf}
\caption{}
\label{fig-overview-interarrival}
\end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth}
\includegraphics[width=\textwidth]{./graphs/activity/All_Devices__All_Apps__All_Queries__AllRuntimeCDFGraph.pdf}
\caption{}
\label{fig-overview-runtime}
\end{subfigure}%
\begin{subfigure}[t]{0.33\textwidth}
\includegraphics[width=\textwidth]{./graphs/activity/All_Devices__All_Apps__All_Queries__AllRowcountCDFGraph.pdf}
\caption{}
\end{subfigure}%
\caption{\textbf{Summary Statistics for Android SQLite Queries.}}
\label{fig-overview}
\end{figure*}
Next, we look at overall workload characteristics of the queries observed
during our study. We examine how often queries arrive, how long they run, and
how many rows they return---all important inputs into desiging the TPC-Mobile
embedded database benchmark.
Figure~\ref{fig-overview} shows query interarrival times, run times, and
returned row counts (for \texttt{SELECT} statements) for all users,
applications, and non-informational query types (\texttt{SELECT},
\texttt{UPDATE}, \texttt{INSERT}, \texttt{DELETE}) included in our dataset.
Given that each mobile application is really generating an isolated workload
to its own embedded database, we measure query interarrival time only between
queries issued by the same application.
Examining the interarrival times shown in
Figure~\ref{fig-overview-interarrival}, it is interesting to observe that
many queries seem to arrive much more quickly than the minimum query runtime
shown in Figure~\ref{fig-overview-runtime}. Part of this may be due to apps
that use multiple separate databases, which is not yet captured by our
analysis. \XXXnote{However, our logging is also done above any locking
performed by SQLite, and so this may demonstrate that there are many cases
where multiple application threads are issuing overlapping queries in
parallel.}