New.
parent
f650d6b755
commit
dad5f0f7a7
45
.okwords
45
.okwords
|
@ -2,39 +2,30 @@
|
|||
0xc4
|
||||
10ms
|
||||
1ms
|
||||
al
|
||||
AndroBench
|
||||
AOSP
|
||||
AndroBench
|
||||
App
|
||||
app
|
||||
Apps
|
||||
apps
|
||||
Barcode
|
||||
bursty
|
||||
CDF
|
||||
CONCAT
|
||||
Const
|
||||
DS
|
||||
equi
|
||||
ETL
|
||||
Eventbrite
|
||||
Facebook
|
||||
filesystem
|
||||
FTL
|
||||
Facebook
|
||||
Gmail
|
||||
interarrival
|
||||
JDBC
|
||||
Jeong
|
||||
JuiceSSH
|
||||
KBS
|
||||
KakaoStory
|
||||
Kang
|
||||
KBS
|
||||
KitKat
|
||||
kong
|
||||
LINQ
|
||||
MobiGen
|
||||
MX
|
||||
offline
|
||||
MobiGen
|
||||
OLAP
|
||||
OLTP
|
||||
ORMs
|
||||
|
@ -42,20 +33,14 @@ OTA
|
|||
PhoneLab
|
||||
PlayerPro
|
||||
Pre
|
||||
pre
|
||||
Quickoffice
|
||||
runtimes
|
||||
smartphone
|
||||
smartphones
|
||||
Speedtest
|
||||
SQL
|
||||
SQLite
|
||||
sqlite
|
||||
StatusQuo
|
||||
subqueries
|
||||
SUBSTR
|
||||
TinyDB
|
||||
Speedtest
|
||||
StatusQuo
|
||||
TPC
|
||||
TinyDB
|
||||
TuneIn
|
||||
UB
|
||||
UPSERT
|
||||
|
@ -64,3 +49,19 @@ VLC
|
|||
Wifi
|
||||
YCSB
|
||||
YouTube
|
||||
al
|
||||
app
|
||||
apps
|
||||
bursty
|
||||
equi
|
||||
filesystem
|
||||
interarrival
|
||||
kong
|
||||
offline
|
||||
pre
|
||||
runtimes
|
||||
smartphone
|
||||
smartphones
|
||||
sqlite
|
||||
subqueries
|
||||
tradeoffs
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
Because embedded database engines such as SQLite provide a convenient data
|
||||
Because embedded database engines, such as SQLite, provide a convenient data
|
||||
persistence layer, they have spread along with the applications using them to
|
||||
many types of systems, including interactive devices such as smartphones.
|
||||
%
|
||||
Android, the most widely-distributed smartphone platform, both uses SQLite
|
||||
internally and provides interfaces encouraging apps to use SQLite to store
|
||||
their private structured data as well.
|
||||
their own private structured data.
|
||||
%
|
||||
As a result, embedded database performance affects the response times and
|
||||
resource consumption of both the platforms that operation billions of
|
||||
smartphones and the millions of applications that run on them---making it
|
||||
more important than ever to characterize smartphone embedded database
|
||||
workloads.
|
||||
smartphones and the millions of apps that run on them---making it more
|
||||
important than ever to characterize smartphone embedded database workloads.
|
||||
%
|
||||
To do so, we present results from an experiment which recorded SQLite
|
||||
activity on 11~Android smartphones during one month of typical usage.
|
||||
|
@ -19,5 +18,5 @@ Our analysis shows that Android SQLite usage produce queries and access
|
|||
patterns quite different from canonical server workloads.
|
||||
%
|
||||
We argue that evaluating smartphone embedded database will require a new
|
||||
benchmarking suite, and we use our results to begin to outline some of its
|
||||
benchmarking suite, and we use our results to outline some of its
|
||||
characteristics.
|
||||
|
|
|
@ -1,30 +1,64 @@
|
|||
% Mobile systems are important.
|
||||
|
||||
Since the introduction of the smartphone, mobile computing has become pervasive in our society, with one in every five people in the world owning a smartphone~\cite{phones}. Mobile devices, however,
|
||||
have evolved far beyond the stereotypical smartphone and tablet, and are now employed in a wide variety of domains. Of the currently available mobile systems, Android has seen the most widespread deployment outside of the consumer electronics market. Android's open source nature has prompted its ubiquitous adoption in sensing, medical, command and control, robotics, and automotive applications.
|
||||
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.
|
||||
|
||||
For each of these domains, Android supports specific client-side applications that often utilize an application-resident, or \textit{embedded database} called SQLite~\cite{sqlite} for tasks such as persisting state. Even Android
|
||||
itself, specifically the framework layer, makes use of embedded databases.
|
||||
The way in which mobile applications use databases, is however, rather different from traditional server farms and desktop applications that focus on ``big data.''
|
||||
Based on the experiments we present in this paper, SQLite on \textit{one} average Android smart-phone satisfies over 178 thousand database requests \textit{per day}, or about 2 requests every second.
|
||||
As such, client-side mobile applications represent a new and rapidly growing class of \textit{pocket-scale} database consumers. The execution context for these client-side application workloads varies wildly. This means that the performance of the database is not only dependent on the query workload being executed by the client-side application, but is also impacted by other applications that may have access to the database, other applications currently using system resources ({\em e.g.} processor, memory,
|
||||
file system), and the overall energy available and power profile of the system itself ({\em e.g.} voltage scaling, power governors, OS policies).
|
||||
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.
|
||||
|
||||
The challenges that arise in handling pocket-scale data --- that is, minimizing power consumption, latency, and I/O --- are familiar ground for database practitioners, but the trade-offs and workload characteristics are far less well understood. In this paper, we present the results of a one-month trace of SQLite activity on 11 Android smartphones, part of a real-world experimental testbed called \PhoneLab{}~\cite{phonelab}. We show that the workload characteristics encountered by SQLite on these phones differ substantially from the characteristics of database workloads expressed in popular database benchmarking suites. We argue that a new benchmark for mobile and embedded databases could spur innovation in this area, and outline the workload characteristics of such a benchmark.
|
||||
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.
|
||||
|
||||
\noindent The contributions of this paper are the following:
|
||||
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 A detailed examination of SQLite~\cite{sqlite} usage in a real-world mobile context. We compare our gathered results on mobile application and Android framework usage of SQLite to tradition TPC benchmark
|
||||
workloads.
|
||||
\item The synthesis of an open source data set gathered over one month of "in the wild" execution of database queries using eleven test subjects and their personal smartphones. Data was gathered using \PhoneLab{}~\cite{phonelab}.
|
||||
\item An outline of workload characteristics and other desiderata for a proposed TPC-MOBILE benchmark.
|
||||
%
|
||||
\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}
|
||||
|
||||
% The remainder of the paper is organized as follows.
|
||||
% We present our motivation observations in Section~\ref{sec:overview}. We outline our experimental setup and the process of obtaining data from 11 primary-use smart phones in
|
||||
% Section~\ref{sec:experimental}. We discuss relevant
|
||||
% workloads based on query complexity, and database activity in Section~\ref{sec:queryc} and Section~\ref{sec:dba} respectively. Based on this
|
||||
% detailed analysis and a review of related work, we sketch the requirements for a TPC-MOBILE benchmark in Section~\ref{sec:pocketdata}. We wrap up with conclusions in Section~\ref{sec:conc}.
|
||||
|
||||
|
||||
%% LocalWords: smartphone Android Android's SQLite io smartphones
|
||||
%% LocalWords: testbed PhoneLab TPC
|
||||
|
|
Loading…
Reference in New Issue