Title: Masters of Science Thesis
1Masters of Science Thesis
- AMPL Active Multiple Power Level Cluster
Formation - By
- Jeffrey D Rupp
- 10/30/2020
2Thesis Work
- Researched existing wireless cluster formation
algorithms - Researched existing wireless sensor network
simulators - Created and tested a cluster formation algorithm
for wireless sensors - Created a Java based simulator focused on power
consumption for wireless sensors
3Presentation Outline
- Wireless sensor background
- Wireless sensor cluster formation introduction
- AMPL introduction
- AMPL implementation details
- AMPL performance results
- Simulator background
- Simulator implementation details
4Wireless Sensor Background
- Small inexpensive wireless sensors are quickly
finding broad application in todays market place - As sensors find more use, long network life is
becoming market driven - Wireless sensors can be used to remotely monitor
temperature, sound, motion, light, and many other
environmental parameters - To be useful, sensor data must be gathered at a
central point, a sink node
5Wireless Sensor Cluster Formation
- Cluster formation has been shown to enhance the
lifespan of wireless sensor networks - Child nodes transmit their data to their cluster
head at low power - Cluster heads then relay the data to the sink
node at a higher power level - The Cluster heads have the option of aggregating
the data before relaying it, thus reducing the
power consumed
6Example Wireless Network Topology
7Related Work
- There are many cluster forming algorithms in
existence already - TEEN (Threshold sensitive Energy Efficient sensor
Network protocol)1 for reactive networks. - Fault Tolerant Clustering of Wireless Sensor
Networks 2 which addresses fail-over in
networks - . Scaleable Self-Assembly for Ad Hoc Wireless
Sensor Networks 2 which describes a link level
Ad-hoc network scheme. - A Clustering Scheme for Hierarchical Control in
Multi-hop Wireless Networks 3 which uses
geometry, and thus knowledge of the nodes
location, to for an efficient topology.
8AMPL Active Multiple Power Level Cluster
Formation
- AMPL differs from most other cluster formation
algorithms by actively establishing the proximity
relationships of all the nodes at the initial
network deployment - Most other cluster formation algorithms rely on a
rounds-based approach to establish and
dynamically change cluster heads - Since AMPL establishes the proximity
relationships once, it does not lend itself to
mobile networks, the node locations must be fixed
9AMPL Implementation Hello (1)
- The initial proximity relationships are
established through a multiple level hello
protocol - Every node performs the hello sequence
- The sink node tells the closest node to begin the
hello sequence - The node sends out a broadcast message starting
at its lowest power level, then increments the
power level up to its maximum power - Nodes that hear the transmitting node enter it
into a table along with the lowest level at which
they heard it
10AMPL Implementation Hello (2)
- The nodes that hear the transmitting node mark
themselves as needing to perform the hello
sequence after they hear the transmitting node at
the highest level - This provides all the nodes with a table of the
nodes they could hear and the levels at which
they heard those nodes
11AMPL Implementation Hello (3)
Initial hello showing range at each of the
levels. Note that the algorithm used a linear
increment of the power in dBm, which is
logarithmic, so the distance increment of the
outer rings is greater.
12AMPL Implementation Cluster Formation (1)
- Once all of the nodes have finished their hello
sequence clusters are formed - The sink node tells the closest node to form a
cluster - The node selects the nodes it heard below a
pre-configured level to join its cluster - The nodes heard above the selected level are told
to form their own clusters
13AMPL Implementation Cluster Formation (2)
- The number of nodes in a cluster can be limited
if the node density is high - This prevents a cluster from taking a long time
for each data gathering phase. - Child nodes are given a time slot and a unique
code for spreading to prevent conflicting
transmissions
14AMPL Implementation Cluster Formation (3)
- The nodes with the white circles around them
represent one cluster - The nodes with the blue squares at the upper left
are cluster heads - The pink node in the far upper left is the sink
node
15AMPL Implementation Cluster Head Transfer (1)
- When the cluster head reaches 40 of the battery
power it was at when it assumed the cluster head
duties it transfers the duties to another cluster
member. - The tired cluster head sends a message to all its
children asking them to report their current
battery power - When all the children have reported, or a timeout
period has expired, the cluster head transfers
the head duties to the strongest child node - This allows an active transfer without relying on
timing as with the rounds-based approaches - This approach takes very little time since the
cluster members are already established
16AMPL Implementation Cluster Head Transfer (2)
- The left image is the initial cluster, with the
initial head, the center image is after the
cluster head duties where transferred the first
time, the right image is the fourth node to
become cluster head - The half circle below the nodes represents the
battery power level
17AMPL Implementation Normal Communication (1)
- Once the initial clusters are established the
nodes go into the normal communication phase - During this phase the child nodes each transmit
their data to the cluster head to be relayed to
the sink node - The cluster head can also aggregate the data,
which is what the implementation tested assumed
18AMPL Implementation Normal Communication (2)
- This picture shows the communication taking place
in two clusters and between the cluster heads - This algorithm makes no assumptions for an
established path to the sink node, so each
cluster head must relay every message it hears
destined for the sink node - This is a weakness of this algorithm as it
stands, since this consumes power very rapidly.
However this algorithm is not a sink path
algorithm but a cluster formation algorithm. - The dark blue lines are intra-cluster, the light
blue are inter-cluster
19AMPL Implementation Optimizations Tested
- An optimization that was tested is to have a
cluster head check if it has no children - If the cluster head has no children it checks if
any other node offered to take it as a cluster
member - The lonely cluster head joins the cluster that
offered membership at the lowest power level - This prevents a single node from running out of
battery power far earlier than other nodes
20AMPL Performance (1)
- The performance of AMPL was tested via a
simulator I developed that focuses on wireless
network power consumption (more on this later) - Assumptions
- No path to sink node, all cluster heads must
relay data destined for the sink node at maximum
power - Power is only consumed by transmission
(acceptable for comparison) - WattHours ((10.0 (powerLeveldBm / 10)) /
1000) ((TransmitedBitCount / dataRateBps) /
s_SECONDS_PER_HOUR) - Free space for signal propagation
- pathloss in dB 20log10((1pidist)/wavelength)
- Where wavelength is 300/(frequency in MHz)
- The dist and wavelength are in the same units
21AMPL Performance (2)
- The following graphs compare AMPL, LEACH, HEED,
and no clustering - The X axis is number of nodes, from 10 to 150
- The performance metrics shown are
- Total bits transmitted by the network
- Simulation tics the network was alive for
- Power per packet
- Three cluster forming constraints were tested
with AMPL - Form new clusters at 30 of the maximum transmit
level (AMPL) - Form new clusters at 10 of the maximum transmit
level (more nodes clustered) (AMPL_LargeClusters) - Form clusters from 90 of the nodes heard
regardless of level (many more nodes clustered)
(AMPL_Opt)
22AMPL Performance (3)
- Total bits transmitted versus number of nodes
23AMPL Performance (4)
- AMPL achieved more total bits transmitted for all
constraints tested - All of the clustering algorithms performed better
than the non-clustering algorithm
24AMPL Performance (5)
- Total simulation tics before most nodes were out
of power versus number of nodes
25AMPL Performance (6)
- The non-clustering algorithm had the longest
duration, which I explain by the time it took
every node to relay every message, which resulted
in nodes missing their data gathering interval
since they were busy relaying messages - This was compounded by the simple protocol the
simulator was set for which used carrier detect
to avoid collisions, since all the nodes were
always transmitting at max power the protocol had
to back off quite often - Of the clustering algorithms AMPL_Opt lasted for
the most simulation tics - This is due to the very large clusters that
AMPL_Opt formed, resulting behavior similar to
the no-algorithm case
26AMPL Performance (7)
- Average power per packet
- Represents the power level each packet was
transmitted at - The no-algorithm case is omitted as it
over-shadows the others with values around 3e-4
versus the other algorithms with at 2e-6
27AMPL Performance (8)
- The average power per packet shows the average
transmit level the packets were sent at - The non-clustering algorithm transmitted at much
higher power - All packets were transmitted at maximum power
- AMPL and HEED formed clusters of a much smaller
size and hence over smaller distance requiring
the child nodes to transmit at lower levels
28AMPL Performance (9)
- This graph shows the total data bits transmitted
versus increasing the simulated area while
keeping the number of nodes constant at 115 nodes
29AMPL Performance (10)
- This comparison of algorithms across area shows
that clustering should not include the farthest
nodes - The performance of AMPL suffered at medium
density, but improved once more at the more
sparse node densities
30AMPL Performance (11)
- This result is really more of a representation of
the simulator results than specifically for this
algorithm
31AMPL Performance Summary
- AMPL was tested without any of the optimizations
that will be mentioned later in Future Work slide - AMPL out performed existing algorithms
- The hello sequence provides data that could be
used to implement two significant optimizations - Sink path
- Optimal clusters
32Simulator Background
- There are already several simulators that work to
represent wireless networks - http//www.isi.edu/nsnam/ns/
- http//www.j-sim.org/whitepapers/ns.html
- http//nab.epfl.ch/viz.html
- However these simulators all concentrate on
network topology, not on power consumption for
data transmission
33Simulator Implementation
- Implemented in Java
- Cross platform portability
- Easy graphics integration
- Pluggable architecture for expansion
- Simulator architecture concentrates on
transferring data between nodes
34Simulator Implementation Scheduler (1)
- As with any simulator the heart is the scheduler
- All simulated tasks must schedule a call-back via
the scheduler - Multi-threaded scheduling to force implementation
to deal with potential out of order event
execution - Since all of the nodes are independent processors
this simulates this asynchronous behavior much
better than a single thread of execution
35Simulator Implementation Scheduler (2)
- The threading is done via a thread pool, so as
the number of simulated nodes grows large there
isnt as much time spent swapping contexts - This is a configurable parameter
- An interesting problem encountered as the number
of nodes was increased was that the simple sorted
Vector of events quickly became very slow - Every event insertion required a binary search to
determine where to insert it
36Simulator Implementation Scheduler (3)
- To reduce this overhead I switched to a hash map
of bins, mapping from event time to a vector of
events - This resulted in each event insert either being
appended to a Vector, or a new Vector was created
and the event appended to that - The speed increase was dramatic
- Reduced the time to iterate from 10 to 150 nodes
in 10 node steps on the non-clustering case from
several hours to less than 15 minutes - The scheduling allowed for parallel events by
requiring each event inserted to include a time,
not simply appending to the queue - This allows nodes to schedule callbacks a
specific number of tics from what their view of
the current time is
37Simulator Implementation Plugins (1)
- The simulator has a plugin architecture, allowing
the interesting pieces to be dynamically changed - Node type
- Algorithms AMPL, LEACH, HEED
- Protocol type
- Transmission protocols 802.11, carrier detect
only - Propagation type
- Free space
- Packet type
- The only data the nodes can pass to each other
38Simulator Implementation Plugins (2)
- To expand the simulator a user is required only
to implement the appropriate interface - The simulator then traverses the classpath to
find all classes implementing the four plugable
interfaces and adds them to the Setup GUI
39Simulator Implementation
- The simulation only consumes power on transmit
- This could be easily modified by changing the
various Node classes to consume power for other
reasons such as reception of data, mundane OS
chores, general processing, sensor sampling, etc. - The simulator begins to starve nodes in the
scheduler above about 700 - The largest number of nodes I simulated without
evidence of starvation was 500
40Lessons Learned
- Threading makes the scheduler more flexible, but
it requires more attention in the node classes to
deal with the asynchronous events - A map of bins makes for a much faster scheduler
- It is difficult to tell when a stage of the
simulation is finished, e.g. hello sequence,
cluster formation - I did this by monitoring the scheduling queue,
when it was empty for more than ½ second of real
time a stage was finished - Preventing interference between the nodes
- I made the same assumption that LEACH did, that
the nodes could use signal spreading to prevent
inter-cluster interference
41Future Work
- The proximity relationships mapped out by the
hello sequence would allow for reasonably
accurate localization, which in turn would allow
the sink node to create optimal clusters and a
sink path for the network - Scaling to large networks (greater than 500
nodes) will require distributing the simulation
across many machines - The simulator would allow this expansion via the
plugin architecture - One could implement a new propagation class that
sends messages destined for nodes that arent in
the local network to other machines via a simple
socket interface
42Conclusion
- AMPL was shown to be superior to the algorithms
it was compared to - AMPL has the potential of superior performance if
the items mentioned in future work are executed - The simulator provides a fast and easy way to
compare algorithms, with the potential for
convenient expansion
43References
- 1 Arati Manjeshwar, Dharma P. Argawal TEEN A
Routing Protocol for Enhanced Efficiency in
Wireless Sensor Networks Center for Distributed
and Mobile Computing ECECS Department University
of Cincinnati 2001 http//axp1.csie.ncu.edu.tw/loc
al/research/conf/ipps/2001/DATA/PDC_12.PDF - 2 Gaurav Gupta, Mohamed Younis Fault-Tolerant
Clustering of Wirelses Sensor Networks Dept. of
Computer Science and Electrical Engineering 2001
http//axp1.csie.ncu.edu.tw/local/research/conf/WC
NC/WCNC2003/DATA/59_01.PDF - 3Katayoun Shorabi, William Merrill, Jeremy
Elson, Lewis Girod, Fredric Newberg, William
Kaiser Scaleable Self-Assembly for Ad Hoc
Wireless Sensor Networks Sensoria Corporation
http//www.sensoria.com/pdf/ad-hoc-networks.pdf - 4 Suman Banerjee, Samir Khuller A Clustering
Scheme for Hierarchical Control in Multi-hop
Wireless Networks University of Wisconson 2001
http//www.cs.wisc.edu/suman/pubs/infocom01.pdf