In this section, we validate our claim that intelligently exploiting
both proxy and sensor resources offers greater energy benefit than
placing intelligence only at the proxy or only at the
sensor. We compare the performance of model-driven push used
in PRESTO against two other data-acquisition algorithms. The first
algorithm, model-driven pull, is representative of the class of
techniques where intelligence is placed solely at the proxy. This
algorithm is motivated by the approach proposed in BBQ [3]. In
this algorithm, the proxy uses a model of sensor data to predict
future data and estimate the confidence interval in the prediction. If
the confidence interval exceeds a pre-defined threshold (),
the proxy will pull data from the sensor nodes, thus keeping the
confidence interval bounded. The sensor node is simple in this
case, and performs neither local storage nor model processing. While
BBQ uses multi-variate Gaussians and dynamic Kalman Filters in their
model-driven pull, our model-driven pull uses ARIMA predictions to
ensure that the results capture the essential difference between the
techniques and not the difference between the models used. The second
algorithm that we compare against is a relatively naive value-driven
push. Here, the sensor node pushes the data to the proxy
when the difference between current data and last pushed data is
larger than a threshold (
). The proxy assumes that the sensor
value does not change until the next push from the sensor.
In general, a pull requires two messages, a request from the
proxy to the sensor and a response, whereas push requires only a single
message from the sensor to the proxy.
We compared the three techniques using Matlab simulations that use
real data traces from James Reserve. Each experiment uses 5 days worth
of data and each data point is the average of 10 runs. Figure
3 compares these three techniques in terms of the
number of messages transmitted and mean-square error of
predictions. In communication cost, PRESTO out-performs both the other
schemes irrespective of the choice of . When
is 100,
the communication cost of PRESTO is half that of model-driven pull,
and 25% that of value-driven push. At the same time, the mean square
error in PRESTO is 30% that of model-driven pull, and 60% that of
value driven push. As
decreases, the communication cost
increases for all three algorithms. However, the increase in
communication cost for model-driven pull is higher than that for the
other two algorithms. When
is 50, value driven push begins to
out perform model-driven pull. When
reaches 10, the number of
messages in model-driven pull is 20 times more than that of PRESTO,
and 8 times more than that of value driven push. This is because in
the case of model-driven pull, the proxy pulls samples from the sensor
whenever the prediction error exceeds
. However, since the
prediction error is often an overestimate and since each pull is twice
as expensive as a push, this results in a larger number of pull
messages compared to PRESTO and value-driven push. The accuracies of
the three algorithms become close to each other when
decreases. When
is smaller than 40, model-driven pull has
slightly lower mean square error than PRESTO but incurs 4 times the
number of messages.
Summary: These performance numbers demonstrate that model-driven push combines the benefits of both proxy-centric as well as sensor-centric approaches. It is 2-20 times more energy-efficient and upto 3 times more accurate than proxy-centric model-driven pull. In addition, PRESTO is upto 4 times more energy-efficient than a sensor-centric value-driven push approach.