Commit c43bf515229ecb3a345603c690d199ac1d23b5b3
1 parent
9aa9847d
Progress
Showing
5 changed files
with
100 additions
and
4 deletions
badwords
design.tex
0 → 100644
| 1 | +\section{design} | ||
| 2 | +A QoE-centric OS must continuously prioritize resources based on their | ||
| 3 | +effect on QoE. Doing so requires the OS to both quantify QoE and understand | ||
| 4 | +which tasks contribute to it. Given the multi-threaded nature of modern apps, | ||
| 5 | +the complexity of the systems they run on, and the operating system's vantage | ||
| 6 | +point, this is a challenging task. Unlike approaches like | ||
| 7 | +AppInsight~\cite{appinsight-osdi2012} that requires app instrumentation, or | ||
| 8 | +QoE Doctor~\cite{qoe-doctor-imc14} which involves human intervention, using QoE | ||
| 9 | +to do continuous resource prioritization for all apps on all devices requires | ||
| 10 | +the ability to measure QoE on unmodified apps and without developer | ||
| 11 | +participation. | ||
| 12 | + | ||
| 13 | +% Task prioritization | ||
| 14 | +As principle, if a user is waiting for something, priority should | ||
| 15 | +be given to any task that contributes to that end. | ||
| 16 | + | ||
| 17 | +%Network prioritization... | ||
| 18 | + | ||
| 19 | +%I/O prioritization... | ||
| 20 | + | ||
| 21 | +%New approaches... |
introduction.tex
0 → 100644
| 1 | +\section{introduction} | ||
| 2 | + | ||
| 3 | +Current operating systems are already proficient at managing certain system | ||
| 4 | +resources, such as the CPU, memory, and disk. But on interactive mobile devices, | ||
| 5 | +users care more about resources such as time, battery life, and money, that are | ||
| 6 | +unmanaged or poorly managed by today's smartphone platforms. | ||
| 7 | +When apps slow down our typing, they waste our time. When apps download | ||
| 8 | +unnecessary resources, they waste battery life and potentially money, if using | ||
| 9 | +a metered data plan. It is the degree two which mobile devices effectively | ||
| 10 | +manage these human-facing resources that determines a user's | ||
| 11 | +\textit{quality of experience} (QoE), and it is QoE which should drive not just | ||
| 12 | +policy, but decisions on mobile devices. | ||
| 13 | + | ||
| 14 | +\begin{sloppypar} | ||
| 15 | +While modern operating systems such as Android make decisions based on policies | ||
| 16 | +meant to improve QoE, it is unclear that these static policies always result | ||
| 17 | +in the right decisions. For example, Android uses two mechanisms to control the | ||
| 18 | +underlying task scheduling in Linux: thread priority and control groups (cgroup). | ||
| 19 | +Background threads - any thread running in another app, or low priority threads | ||
| 20 | +running in the foreground app - are placed in a cgroup that receives a very | ||
| 21 | +limited share of the processor, \( \approx \) 5\% on Nexus 5 running stock | ||
| 22 | +Android 5.1.1. Furthermore, the scheduler considers priority for tasks withing | ||
| 23 | +the same cgroup. However, thread priorities can be set by app developers both | ||
| 24 | +directly through the API, and indirectly by creating an \texttt{AsyncTask}. | ||
| 25 | +While this policy was created based on the assumed effect on QoE, it is still | ||
| 26 | +possible to negatively affect QoE by assigning the wrong priority to a thread | ||
| 27 | +or by inappropriately using \texttt{AsyncTasks}. | ||
| 28 | +\end{sloppypar} | ||
| 29 | + | ||
| 30 | +The \texttt{ondemand} CPU frequency governor that is enabled in Android | ||
| 31 | +Linux is another example of where static policy meant to improve QoE may not | ||
| 32 | +result in correct decisions being made. This governor changes the CPU frequency | ||
| 33 | +depending on the current CPU load with the goal of improving performance. | ||
| 34 | +However since running at higher frequencies is less efficient, this increased | ||
| 35 | +performance comes at the cost. If QoE would not be improved by increasing the | ||
| 36 | +frequency, such as for time-insensitive background tasks or when the performance | ||
| 37 | +increase would not be perceivable, negative QoE may manifest itself through a | ||
| 38 | +quicker draining battery. | ||
| 39 | + | ||
| 40 | +Static policies can lead to resource allocation decisions that are less than | ||
| 41 | +optimal in terms of QoE. To remedy this, we propose designing QoE-centric | ||
| 42 | +mobile operating systems that can accurately quantify QoE and use it as feedback | ||
| 43 | +to drive resource allocation decisions. |
paper.tex
| 1 | \input{./include/start.tex} | 1 | \input{./include/start.tex} |
| 2 | 2 | ||
| 3 | \def\theconference{HotMobile'16} | 3 | \def\theconference{HotMobile'16} |
| 4 | -\def\thetitle{Poster: Quantifying Quality of Experience Using the Screen as a Sensor} | ||
| 5 | -\def\theauthors{Scott Haseley$^\star$, Geoffrey Challen$^\star$} | 4 | +\def\thetitle{Poster: QoE-centric Mobile Operating System Design} |
| 5 | +\def\theauthors{Scott Haseley, Geoffrey Challen} | ||
| 6 | \def\theemails{\{shaseley,challen\}@buffalo.edu} | 6 | \def\theemails{\{shaseley,challen\}@buffalo.edu} |
| 7 | 7 | ||
| 8 | \ifdefined\isdraft | 8 | \ifdefined\isdraft |
| @@ -32,7 +32,7 @@ | @@ -32,7 +32,7 @@ | ||
| 32 | 32 | ||
| 33 | \author{ | 33 | \author{ |
| 34 | \alignauthor\theauthors\\[0.05in] | 34 | \alignauthor\theauthors\\[0.05in] |
| 35 | - \affaddr{$\star$ University at Buffalo}\\ | 35 | + \affaddr{University at Buffalo}\\ |
| 36 | \email{\theemails} | 36 | \email{\theemails} |
| 37 | } | 37 | } |
| 38 | 38 | ||
| @@ -48,7 +48,9 @@ | @@ -48,7 +48,9 @@ | ||
| 48 | 48 | ||
| 49 | \maketitle | 49 | \maketitle |
| 50 | 50 | ||
| 51 | -\input{abstract.tex} | 51 | +%\input{abstract.tex} |
| 52 | +\input{introduction.tex} | ||
| 53 | +\input{design.tex} | ||
| 52 | 54 | ||
| 53 | {\scriptsize | 55 | {\scriptsize |
| 54 | \renewcommand{\baselinestretch}{0.8} | 56 | \renewcommand{\baselinestretch}{0.8} |
references.bib
| @@ -581,3 +581,19 @@ pages = {1-14}, | @@ -581,3 +581,19 @@ pages = {1-14}, | ||
| 581 | year={2008}, | 581 | year={2008}, |
| 582 | publisher={Elsevier} | 582 | publisher={Elsevier} |
| 583 | } | 583 | } |
| 584 | + | ||
| 585 | +@inproceedings{qoe-doctor-imc14, | ||
| 586 | + title = {QoE Doctor: Diagnosing Mobile App QoE with Automated | ||
| 587 | +UI Control and Cross-layer Analysis}, | ||
| 588 | + author = {Qi Alfred Chen and Haokun Luo and Sanae Rosen and Z. Morley Mao and | ||
| 589 | +Karthik Iyer and Jie Hui and Kranthi Sontineni and Kevin Lau}, | ||
| 590 | + booktitle = proc # {ACM Internet Measurement Conference}, | ||
| 591 | + year = {2014} | ||
| 592 | +} | ||
| 593 | + | ||
| 594 | +@inproceedings{appinsight-osdi2012, | ||
| 595 | + title = {AppInsight: Mobile App Performance Monitoring in the Wild}, | ||
| 596 | + author = {Lenin Ravindranath and Jitendra Padhye and Sharad Agarwal and Ratul Mahajan and Ian Obermiller and Shahin Shayandeh}, | ||
| 597 | + booktitle = proc # {OSDI}, | ||
| 598 | + year = {2012} | ||
| 599 | +} |