Commit 60b370fdae9789f2dc6440ca1467de08ba7dc1fb

Authored by Geoffrey Challen
1 parent 1b1ce456

New.

certainty.tex
... ... @@ -33,9 +33,6 @@ While the \texttt{score} value is used to evaluate the alternative, the
33 33 entire JSON object returned by the \texttt{evaluate} block is delivered to
34 34 the developer for later analysis. This allows \texttt{maybe} statements to be
35 35 connected with end-to-end app performance metrics not visible on the device.
36   -\texttt{evaluate} blocks may also want to query the user directly, and we are
37   -exploring ways to make this possible.
38   -
39 36 We expect that some \texttt{evaluate} blocks may need to know which
40 37 alternative was executed to compute a score---for example, if the two
41 38 alternatives produce different quality output. We are exploring the use of
... ...
introduction.tex
... ... @@ -98,21 +98,31 @@ them at runtime.}
98 98 \end{figure}
99 99  
100 100 In this paper, we present a novel a language construct for expressing
101   -structured uncertainty: the \texttt{maybe} statement. \texttt{maybe} allows
102   -the programmer to express and structure their uncertainty by providing two or
103   -more different \textit{alternatives} which together implement multiple
104   -approaches to runtime adaptation, possibly by making the same
105   -energy-performance or energy-accuracy tradeoffs described previously.
  101 +structured uncertainty: the \texttt{maybe} statement. Unlike previous
  102 +approaches to adaptation that relied on language support, \texttt{maybe} does
  103 +not attempt to encourage the programmer to provide more information about
  104 +their app to allow the compiler to improve performance or guarantee
  105 +correctness. Rather, \texttt{maybe} allows the programmer to express and
  106 +structure uncertainty by providing two or more different
  107 +\textit{alternatives} implementing multiple approaches to runtime adaptation,
  108 +possibly by making the same energy-performance or energy-accuracy tradeoffs
  109 +described previously. Conceptually, \texttt{maybe} extends the process of
  110 +compilation and optimization to include post-deployment testing while also
  111 +enabling flexible adaptation that may produce per-user, per-device, or
  112 +temporally-varying solutions.
  113 +
106 114 Figure~\ref{fig-example-maybe} shows how our earlier example can be easily
107   -rewritten to use a \texttt{maybe} statement. However, unlike the previous
108   -example \texttt{maybe} does not rely on the developer to implement a decision
109   -process or correctly anticipate the effects of each alternative. Instead, the
  115 +rewritten to use a \texttt{maybe} statement. Unlike the previous example
  116 +\texttt{maybe} does not rely on the developer to implement a decision process
  117 +or correctly anticipate the effects of each alternative. Instead, the
110 118 \texttt{maybe} system makes runtime choices about which alternative to use by
111 119 measuring the tradeoffs produced by each alternative and (in this case)
112   -activating an energy-saving alternative when appropriate.
  120 +activating an energy-saving alternative when appropriate. All the developer
  121 +has to do is provide alternatives when they are unsure what to do; the
  122 +\texttt{maybe} system does the rest.
113 123  
114   -How that choice is made is discussed in the remainder of our paper. We begin
115   -by providing a more complete description of the \texttt{maybe} statement in
  124 +The rest of our paper is structured as follows. We begin by providing a more
  125 +complete description of the \texttt{maybe} statement in
116 126 Section~\ref{sec-maybe}. Section~\ref{sec-certainty} describes several
117 127 techniques for transforming development-time uncertainty into runtime
118 128 certainty. We continue by describing several example use cases in
... ...
references.bib
... ... @@ -2,6 +2,15 @@
2 2 @string{sosp = "SOSP"}
3 3 @string{osdi = "OSDI"}
4 4  
  5 +@inproceedings{maui-mobisys10,
  6 + title={MAUI: making smartphones last longer with code offload},
  7 + author={Cuervo, Eduardo and Balasubramanian, Aruna and Cho, Dae-ki and Wolman, Alec and Saroiu, Stefan and Chandra, Ranveer and Bahl, Paramvir},
  8 + booktitle={Proceedings of the 8th international conference on Mobile systems, applications, and services},
  9 + pages={49--62},
  10 + year={2010},
  11 + organization={ACM}
  12 +}
  13 +
5 14 @inproceedings{foraging-mobisys07,
6 15 title={Simplifying cyber foraging for mobile devices},
7 16 author={Balan, Rajesh Krishna and Gergle, Darren and Satyanarayanan, Mahadev and Herbsleb, James},
... ...
related.tex
... ... @@ -33,12 +33,8 @@ powerful by allowing programmers to express uncertainty.
33 33 Recent approaches that allow mobile devices to effectively offload
34 34 computation by automating client-cloud partitioning are also related to the
35 35 \texttt{maybe} statement. Systems such as Tactics~\cite{tactics-mobisys03}
36   -and MAUI~\cite{FIXME} used a variety of approaches to enabling this form of
37   -adaptation but are narrowly-focused on harnessing opportunities for remote
38   -execution. While \texttt{maybe} statements can enable simple decisions about
39   -whether to offload portions of an app, the \texttt{maybe} approach is not yet
40   -rich enough to consider how much of the execution should be performed
41   -remotely or deal with server failures. At present \texttt{maybe} focuses on
42   -single-device adaptation, but we are interested in exploring the ability to
43   -use uncertainty to distribute computation between multiple devices as future
44   -work.
  36 +and MAUI~\cite{maui-mobisys10} used a variety of approaches to enabling this
  37 +form of adaptation but are narrowly-focused on harnessing opportunities for
  38 +remote execution. At present \texttt{maybe} focuses on single-device
  39 +adaptation, but we are interested in exploring the ability to use uncertainty
  40 +to distribute computation between multiple devices as future work.
... ...
usage.tex
... ... @@ -33,6 +33,8 @@ may never outperform the app-specific algorithm, in which cases
33 33 \texttt{maybe} allows both alternatives to coexist safely while ensuring that
34 34 each user enjoys whichever approach is most effective for them.
35 35  
  36 +\newpage
  37 +
36 38 \subsection{\texttt{\large PhoneLab} Conductor}
37 39  
38 40 \PhoneLab{} is a large scale smartphone platform testbed at the University at
... ...