Paper Title |
Quanto: Tracking Energy in Networked Embedded Systems |
Author(s) |
Rodrigo Fonseca, Prabal Dutta, Philip Levis…, and Ion Stoica | ||
Date | 2008 | ||
Novel Idea |
Monitor power use of in embedded systems efficiently and usefully. Existing hardware makes it possible to monitor overall system energy usage efficiently; the novel contribution here is a software strategy for extracting detailed, per-conceptual-unit information from the coarse data it provides. | ||
Main Result(s) |
There are two major components of Quanto: estimating the power consumption of each actual component in each of its 'power states' (usage modes that are known beforehand to be likely to use different and roughly constant amounts of power, and breaking power usage down by programmer-specified activity rather than physical component. The first step is achieved by monitoring the total power draw of the system in each interval for which no power states changed, and then eventually solving a system of equations once enough states have been observed. In order to do this, each device driver must be instrumented to indicate to Quanto when its power state has changed (and what those states are in the first place). The second stage requires the programmer to define a set of activities that they care about, and add a small number of API calls to their code to indicate when each one starts. A system developer who wants eir system to support Quanto must do significantly more work to instrument each supported device to accept activity labels from devices that query them, and pass them on to devices they query. Quanto itself ensures that that TinyOS's task scheduler preserves activities across arbitrarily multiplexed sets of tasks. Quanto adds a field to the default TinyOS node messaging format that allows activity labels to be passed easily across the network as well. | ||
Impact |
This article has been cited a number of times already; two articles that seemed interesting were one that proposed using a similar activity-tracking system in 'micropower mobiscopes' embedded, and IDEA, a system that appears to build off of Quanto in order to implement automated distributed energy management in embedded systems, rather than just usage monitoring. | ||
Evidence |
They evaluate Quanto on two sample TinyOS applications, and more interestingly, in two case studies on more realistic applications. In these, they observed a significant effect of radio interference in a common Low-power Listening setup, and discovered an energy-draining flaw in (I think) a default TinyOS timer behavior. It's not entirely clear from the wording here how wide an impact this flaw actually has. | ||
Prior Work |
Lots and lots, but they mention RIALTO as an especially large stepping stone. | ||
Reproducibility |
They are fairly explicit about their API, but a whole awful lot of device driver instrumentation goes on behind the scenes. | ||
Question/Criticism |
The paper acknowledges that a lot of OS internals and device drivers have to be modified for this to work, but claims that these modifications are 'easy' and doesn't talk about any potential alternatives. Easy as they may be, they still must be done for each platform and device, which may present a significant barrier to non-developer users of networks with devices whose developers have not bothered to provide such support. Is it possible to do more in-depth tracing and analysis to deduce power state transitions from running applications, thus removing the need to modify the drivers? Would such an approach render activity monitoring untenable? | ||
Ideas for further work |
They provide a nice list of enabled research, at least some of which appears to have been begun by others (see 'Impact'). |
Quanto: Tracking Energy in Networked Embedded Systems
Authors
Rodrigo Fonseca, Prabal Dutta, Philip Levis, Ion Stoica
Date
OSDI'08 - Symposium on Operating Systems Design and Implementation
Novel Idea
Using OS-integrated fine grained energy measurements to produce
information that is able to spot how much energy programmer-level
tasks spend on a multi-node network.
Main Results
Quanto uses fine-grained energy measurements in a multi-node
environment to infer causality relations regarding programmer-level
tasks that run in the system. The processes of runtime measurement,
logging and post-processing are decoupled from each other.
Impact
This approach to energy tracking is appropriate in situations where
operational conditions are dynamically enough (or unpredictable
enough) such that simple test-case analysis are not very effective
and/or high-level reasoning about the spending of energy becomes too
difficult.
Evidence
The paper describes clearly the approach to track how much energy is
spent, as well as how "activity tracking" is done in Quanto. The
evaluation is done using the applications "Blink" and "Bounce", two
simple applications in the scenario in question.
Prior Work + Competitive Work
The paper mentions that ECOSystem has similar techniques, but Quanto
measures energy at runtime, different from ECOSystem. They also cite
Eon, which is a programming language and runtime system, that decides
which part of the application is going to run depending on energy
annotations in the program. PowerTOSSIM simulates applications but
using a predefined view of the hardware, and is not concerned with
activity tracking.
They mention that the RIALTO OS introduced the "activity" abstraction
that Quanto borrows from (extending to a network-wide case). Finally
they cite tracing tools such as Magpie, Pinpoint, X-Trace, Pip, and
Causeway, mentioning that they provided ideas to Quanto, which uses
them in the sense of tracking energy expenditures across the network.
Reproducibility
The applications used in the evaluation section are quite simple, so
if the system is available, the experiments are reproducible. I
couldn't find the implementation online though.
Questions + Criticism
[Question] Is there any class of devices that do not expose their
power changes at all and are yet relevant in practice? Is there any
way Quanto could go around this (for instance, if such devices exist,
is there at least a common standard to query its internal state?).
[Criticism] First, I liked the way the output graphic is done -- when
the problem tacked is visualization (tracking energy expenditures, in
this case), the way the information is actually visualized is crucial.
The system seems to do a good work at that. The case studies were
interesting. The third was particularly interesting for me, because it
shows how the MAC fairness would be hurt based only on timing (of the
states), and not energy. I missed some experimental setup that
incorporated many pervasive operational changes at once, like in the
real-case scenarios the paper describes in the introduction. I guess I
stayed with that in mind. But I know that incorporating a (then)
prototypical system into such kind of network is complicated.
On Wed, Dec 1, 2010 at 7:56 PM, Rodrigo Fonseca
<rodrigo...@gmail.com> wrote: