diff --git a/Makefile b/Makefile index a6cf752..a768b3e 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ export PYTEX=$(shell pwd)/pytex/ -START = noxxxnote nodraft noblue +START = xxxnote nodraft noblue END = missing CLASS = $(PWD)/llncs.cls diff --git a/graphs/activity/All_Devices__All_Apps__All_Queries__AllPreviousQueryCDFGraph.pdf b/graphs/activity/All_Devices__All_Apps__All_Queries__AllPreviousQueryCDFGraph.pdf new file mode 100644 index 0000000..741ca3b Binary files /dev/null and b/graphs/activity/All_Devices__All_Apps__All_Queries__AllPreviousQueryCDFGraph.pdf differ diff --git a/graphs/activity/All_Devices__All_Apps__All_Queries__AllRowcountCDFGraph.pdf b/graphs/activity/All_Devices__All_Apps__All_Queries__AllRowcountCDFGraph.pdf new file mode 100644 index 0000000..1680c27 Binary files /dev/null and b/graphs/activity/All_Devices__All_Apps__All_Queries__AllRowcountCDFGraph.pdf differ diff --git a/graphs/activity/All_Devices__All_Apps__All_Queries__AllRuntimeCDFGraph.pdf b/graphs/activity/All_Devices__All_Apps__All_Queries__AllRuntimeCDFGraph.pdf new file mode 100644 index 0000000..7f33b5b Binary files /dev/null and b/graphs/activity/All_Devices__All_Apps__All_Queries__AllRuntimeCDFGraph.pdf differ diff --git a/paper.tex b/paper.tex index 1ead867..dec7cf9 100644 --- a/paper.tex +++ b/paper.tex @@ -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} diff --git a/pytex/bin/texincludes b/pytex/bin/texincludes index ac345f9..ecc7756 100755 --- a/pytex/bin/texincludes +++ b/pytex/bin/texincludes @@ -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 diff --git a/sections/5-dba.tex b/sections/5-dba.tex index e69de29..26b5719 100644 --- a/sections/5-dba.tex +++ b/sections/5-dba.tex @@ -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.}