10 IEEE EMBEDDED SYSTEMS LETTERS, VOL. 2, NO. 1, MARCH 2010
Evaluation of Dynamic Profiling Methodologies for
Optimization of Sensor Networks
Ashish Shenoy, Jeff Hiner, Susan Lysecky, Member, IEEE, Roman Lysecky, Member, IEEE, and
Ann Gordon-Ross, Member, IEEE
Abstract—To reduce the complexity associated with application-
specific tuning of sensor-based systems, dynamic profiling enables
an accurate view of the application behavior, such that the network
can be reoptimized at runtime in response to changing application
behavior or environmental conditions. However, dynamic profiling
must be able to accurately capture application behavior without in-
curring significant runtime overheads. We present several profiling
methods for dynamically monitoring sensor-based platforms and
analyze the associated network traffic, energy, and code impacts.
Index Terms—Application-specific optimization, design automa-
tion, dynamic profiling, sensor networks.
I. INTRODUCTION
N
UMEROUS sensor-based platforms have appeared en-
abling a wide range of application possibilities. With each
application scenario, developers have a unique set of applica-
tion requirements such as lifetime, responsiveness, reliability,
or throughput that must be met. For example, a disaster re-
sponse application requires high responsiveness and reliability
to survey damage or detect survivors, but may only require a
lifetime of days or weeks. Conversely, an automated vineyard
irrigation system would have a longer lifetime requirement as it
is intended to operate on the order of years.
To achieve various application goals, developers can tune
configurable node-level parameters such as voltage levels,
processor mode, or configurable baud rates [4]. Furthermore,
developers can also consider numerous protocol-level design
choices such as power cycling to sensing units [3], or data
aggregation and filtering [5]. While the effects of various pa-
rameter configurations have on high-level design metrics have
been well documented, balancing these numerous competing
metrics remains challenging. To further complicate matters,
predicting application behavior is extremely difficult at design
time. Tuning the underlying platform to inaccurate applica-
tion behavior estimates can yield either suboptimal results or
negatively impact the resulting system. Currently, application
developers are left to specify application-behavior via an input
Manuscript received January 22, 2010; revised March 06, 2010: accepted
March 06, 2010. Date of publication March 15, 2010. Date of current version
April 26, 2010. This work was supported in part by the National Science Foun-
dation, under Grants CNS-0834102 and CNS-0834080.
A. Shenoy, J. Hiner, S. Lysecky, and R. Lysecky are with the Department
of Electrical and Computer Engineering, University of Arizona, Tucson, AZ
85721 USA (e-mail: ashenoy@email.arizona.edu; jhiner@email.arizona.edu;
slysecky@ece.arizona.edu; rlysecky@ece.arizona.edu).
A. Gordon-Ross is with the Department of Electrical and Computer
Engineering, University of Florida, Gainesville, FL 32611 USA (e-mail:
ann@ece.ufl.edu).
Digital Object Identifier 10.1109/LES.2010.2045634
file [11], a mathematical model [10], or through synthetic data
generation [12]. While a few real-time tools have appeared
[9], they are not designed for dynamic profiling and incur
significant overhead.
To alleviate some of the complexity associated with applica-
tion-specific tuning of sensor-based systems, we have begun to
develop a dynamic profiling and optimization (DPOP) frame-
work. Dynamic profiling and optimization not only reduces de-
signer effort, but an automated environment increases accessi-
bility to nonexpert application developers by abstracting much
of the underlying platform specific knowledge. Dynamic pro-
filing enables an accurate view of the application behavior while
immersed in its intended environment, eliminating the guess-
work of trying to create a “good” benchmark. Furthermore, by
profiling applications dynamically, we can monitor how the ap-
plication responds to changes in environmental conditions or
changes in the underlying platform (i.e., a node is disabled),
opening opportunities to dynamically reoptimize and update the
underlying platform accordingly.
However, such dynamic optimization relies upon accurate
profiling results collected at runtime. Currently, an accurate and
robust method to capture external application-specific stimuli
remains elusive. While many dynamic profiling techniques
exist, these techniques are highly specific to their intended
system and thus, are quite low level. For example, working set
analysis [1] monitors the current set of executing instructions
to determine changes in system execution. Kaxiras et al. [6]
determines changes in cache requirements using counters
embedded within the cache structure, while other methods
simply observe current idle periods [2]. Whereas idle period
observation is a generalized, high-level mechanism to profile a
system, this method, when applied to sensor networks, provides
little information on overall system behavior. Furthermore, the
distributed nature of sensor-based networks complicate adop-
tion of previously developed profiling methods to sensor-based
networks.
One of the major challenges of dynamically profiling
sensor-based platforms is accurately capturing application
behavior without incurring significant overhead or significantly
altering system behavior. In this letter, we present several
profiling methods for dynamically monitoring sensor-based
platforms and analyze the traffic/energy/code impacts for two
prototyped sensor-based systems.
II. DPOP ENVIRONMENT
Fig. 1 illustrates the proposed dynamic profiling and opti-
mization platform. Three main components contribute to the
1943-0663/$26.00 © 2010 IEEE