Commit a78b622f9c7d2c5c81db3589e170ca68cd38e0fb
1 parent
0fe5268b
clean up
Showing
4 changed files
with
17 additions
and
17 deletions
badwords
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} |