Author: R. Fonseca, P. Dutta, P. Levis, and I. Stoica
Paper Title: "Quanto: Tracking Energy in Networked Embedded Systems"
Date: In OSDI 2008
Quanto is a "network-wide time and energy profiler for embedded
network devices". This type of monitoring tool is motivated by the
need for energy efficiency on embedded devices, which are often
battery-operated and move between distinct operating modes (e.g.
sampling from sensors, transmitting data, etc.). Quanto works by
taking fine-grained measurements ("as cheaply as reading a counter")
of aggregate energy use (from which it can distinguish component-wise
energy draw), and causally connects these energy costs to programmer-
defined, high-level activities. The contribution of this project is a
tool that allows high-level profiling of real energy cost, and that
could have a big impact for embedded systems able to be instrumented
for Quanto.
Related work includes energy-aware operating systems like ECOSystem,
which includes first-class abstractions for energy. Quanto takes this
a step further by tracking actually energy at runtime (Quanto uses a
model at runtime, and profiles energy offline), and by tracking energy
use over networked systems instead of single nodes. Other related
work includes Eon, "a programming language and runtime system that
allows paths or flows through the program to be annotated with
different energy states." This is similar to Quanto's association of
energy to high-level activities.
The authors evaluate Quanto with several experiments, and walk through
a few more that show Quanto being helpful for real-world use. I think
I understood most of the charts that communicate the results (I get
the feeling this is much easier for someone closer to this material).
The examples walking through Figures 11 and 12 help to motivate energy
and state transition monitoring.
A criticism I have is that the space of scenarios where the linearity
(or other) assumptions fail (causing bad regression) is not explored
very clearly in this section. When does Quanto really fail? Can we
generalize about this as it relates to classes of systems (i.e. are
some systems doomed, as far as monitoring with Quanto)?
The results of the paper could be reproduced based on the descriptions
with a bit of work. The authors are clear about their interface
abstractions, and walk through many of their methods (e.g. using
multivariate least squares to estimate power use given logs). Some
parts that require less cleverness and more engineering (e.g. TinyOS
instrumentation) are left at a high-level.
A question about future work: how feasible is real-time processing/
regression of the measured times/energy? The authors state that
energy and time intervals are recorded in real-time, but written out
to logs to be processed offline. Quanto is a monitoring tool, so real-
time processing may be less important, but for ECOSystem or Cinder,
which would like to react to energy observations, that type of online
processing would be important. Also, would be there be any benefit
for monitoring (aside from storage resource savings) if Quanto could
process the measurements online (e.g. parameter tuning, adaptive
monitoring)?