65 lines
3.5 KiB
TeX
65 lines
3.5 KiB
TeX
% Mobile systems are important.
|
|
|
|
The world's 2~billion smartphones represent the most powerful and pervasive
|
|
distributed system ever built. And open application marketplaces, such as the
|
|
Google Play Store, have resulted in a vibrant software ecosystem comprising
|
|
millions of smartphone and tablet apps in hundreds of different categories
|
|
that both meet existing user needs and provide exciting novel capabilities.
|
|
As mobile apps and devices become even more central to the personal computing
|
|
experience, it is increasingly important to understand and improve their
|
|
performance.
|
|
|
|
A common requirement of mobile apps and systems is persisting structured
|
|
private data, a task that is frequently performed using an \textit{embedded
|
|
database} such as SQLite~\cite{sqlite}. Android, the open-source and
|
|
widely-used smartphone platform, provides interfaces that simplify the
|
|
process of accessing private SQLite databases, and many apps make use of
|
|
SQLite for this purpose. In addition, the Android platform services that
|
|
provide the app interface make heavy use of SQLite, as do built-in (Mail,
|
|
Contacts) and popular apps (Gmail, Maps) and libraries (Google Play Services)
|
|
distributed by Google. As a result, the large and growing number of mobile
|
|
apps using embedded databases represent a new and important class of database
|
|
clients.
|
|
|
|
Unsurprisingly, mobile app usage of embedded databases is quite different
|
|
from the workloads experienced by database servers supporting websites or big
|
|
data applications. For example, while database servers are frequently tested
|
|
and tuned for continuous high-throughput query processing, embedded databases
|
|
experience lower-volume but bursty workloads produced by interactive use. And
|
|
while enterprise database servers are frequently provisioned to have
|
|
exclusive access to an entire machine, apps using embedded databases compete
|
|
for shared system resources with other apps and may be effected by
|
|
system-wide policies that attempt to conserve limited energy on
|
|
battery-constrained mobile devices. So while the fundamental challenges
|
|
experienced by mobile apps using embedded databases---minimizing energy
|
|
consumption, latency, and disk utilization---are familiar ground for database
|
|
researchers, the specific tradeoffs produced by this domain's specific
|
|
workload characteristics are far less well understood.
|
|
|
|
In this paper, we present results drawn from a one-month trace of SQLite
|
|
activity on 11~\PhoneLab{}~\cite{phonelab} smartphones running the Android
|
|
smartphone platform. Our analysis shows that the workloads experienced by
|
|
SQLite on these phones differ substantially from the database workloads
|
|
expressed by popular database benchmarking suites. We argue that a new
|
|
benchmark for mobile embedded databases is required to effectively measure
|
|
their performance could spur innovation in this area, and outline the
|
|
workload characteristics of such a benchmark. The main contributions of the
|
|
paper are the following:
|
|
%
|
|
\begin{itemize}
|
|
%
|
|
\item The synthesis of an open source data set containing all database
|
|
queries and query performance statistics generated by the personal
|
|
smartphones of 11~\PhoneLab{} participants over one month.
|
|
%
|
|
\item A detailed examination of real-world Android SQLite~\cite{sqlite}
|
|
usage including a comparison to traditional TPC benchmark workloads.
|
|
%
|
|
\item An outline of workload characteristics for a
|
|
proposed TPC-MOBILE benchmark.
|
|
%
|
|
\end{itemize}
|
|
|
|
%% LocalWords: smartphone Android Android's SQLite io smartphones
|
|
%% LocalWords: testbed PhoneLab TPC
|