Commit a78b622f9c7d2c5c81db3589e170ca68cd38e0fb

Authored by Scott Haseley
1 parent 0fe5268b

clean up

badwords
@@ -6,7 +6,7 @@ Challen @@ -6,7 +6,7 @@ Challen
6 challen 6 challen
7 edu 7 edu
8 Haseley 8 Haseley
9 -HotMobile 9 +MobiSys
10 ondemand 10 ondemand
11 pdfinfo 11 pdfinfo
12 prioritization 12 prioritization
design.tex
@@ -18,14 +18,14 @@ without developer participation. @@ -18,14 +18,14 @@ without developer participation.
18 18
19 As principle, if a user is waiting for something, priority should be given to 19 As principle, if a user is waiting for something, priority should be given to
20 any task that contributes to that end. This priority must extend across 20 any task that contributes to that end. This priority must extend across
21 -multiple shared components, namely CPUs, disks, networks, batteries. 21 +multiple shared components, such as CPUs, disks, networks, and batteries.
22 % 22 %
23 To achieve this goal, the OS must be designed in such a way that gives it 23 To achieve this goal, the OS must be designed in such a way that gives it
24 -the visiblity it currently lacks into how its actions will affect QoE. 24 +the visibility it currently lacks into how its actions will affect QoE.
25 % 25 %
26 To further improve QoE for apps that use the network, this visibility should 26 To further improve QoE for apps that use the network, this visibility should
27 -extend past the device and into the network so priority decisions can be made  
28 -by the network to improve QoE. 27 +extend past the device and into the network so priority can be given to
  28 +QoE-sensitive network traffic.
29 % 29 %
30 The design of QoE-centric operating systems may require deep and fundamental 30 The design of QoE-centric operating systems may require deep and fundamental
31 changes in order to measure QoE, understand its effect on various components, 31 changes in order to measure QoE, understand its effect on various components,
introduction.tex
@@ -6,7 +6,7 @@ users care more about resources such as time, battery life, and money, that are @@ -6,7 +6,7 @@ users care more about resources such as time, battery life, and money, that are
6 unmanaged or poorly managed by today's smartphone platforms. 6 unmanaged or poorly managed by today's smartphone platforms.
7 When apps slow down our typing, they waste our time. When apps download 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 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 9 +a metered data plan. It is the degree to which mobile devices effectively
10 manage these human-facing resources that determines a user's 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 11 \textit{quality of experience} (QoE), and it is QoE which should drive not just
12 policy, but decisions on mobile devices. 12 policy, but decisions on mobile devices.
@@ -16,12 +16,12 @@ While modern operating systems such as Android make decisions based on policies @@ -16,12 +16,12 @@ 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 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 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). 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 19 +Background threads -- threads running in another app, or low priority threads
20 running in the foreground app -- are placed in a cgroup that receives a very 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 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 22 +Android 5.1.1. Furthermore, the scheduler considers thread priority for tasks within
23 the same cgroup. However, thread priorities can be set by app developers both 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}. 24 +directly through the API, and indirectly by using an \texttt{AsyncTask}.
25 While this policy was created based on the assumed effect on QoE, it is still 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 26 possible to negatively affect QoE by assigning the wrong priority to a thread
27 or by inappropriately using \texttt{AsyncTasks}. 27 or by inappropriately using \texttt{AsyncTasks}.
@@ -29,15 +29,15 @@ or by inappropriately using \texttt{AsyncTasks}. @@ -29,15 +29,15 @@ or by inappropriately using \texttt{AsyncTasks}.
29 29
30 The \texttt{ondemand} CPU frequency governor that is enabled in Android 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 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 32 +result in correct decisions. This governor changes the CPU frequency
33 depending on the current CPU load with the goal of improving performance. 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 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 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 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. 37 +increase would not be perceivable, negative QoE may manifest itself through
  38 +poor battery life.
39 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. 40 +In terms of QoE, static policies can lead to resource allocation decisions that
  41 +are less than optimal. To remedy this, we propose designing QoE-centric
  42 +mobile operating systems that use QoE as input to drive resource allocation
  43 +decisions.
paper.tex
1 \input{./include/start.tex} 1 \input{./include/start.tex}
2 2
3 -\def\theconference{HotMobile'16} 3 +\def\theconference{MobiSys'16}
4 \def\thetitle{Poster: QoE-centric Mobile Operating System Design} 4 \def\thetitle{Poster: QoE-centric Mobile Operating System Design}
5 \def\theauthors{Scott Haseley, Geoffrey Challen} 5 \def\theauthors{Scott Haseley, Geoffrey Challen}
6 \def\theemails{\{shaseley,challen\}@buffalo.edu} 6 \def\theemails{\{shaseley,challen\}@buffalo.edu}