An Energy-Efficient MAC Protocol for Wireless Sensor

An Energy-Efficient
MAC Protocol for
Wireless Sensor
Networks
Tijs van Dam
Quick recap
MAC protocol determines next node to
use the medium
Evaluate MAC protocols based on
energy usage
Use realistic communication patterns for
evaluation
Classic CSMA
If air is clear, send; if
receiving, wait
How do we know
when to receive?
Listen always!
Listening costs 200x
more energy than
sleeping
Not energy-efficient
S-MAC protocol
Fixed active/sleep
duty cycle
Synchronization of
active times
Not optimal for
fluctuating message
load


time (events)
location (important
nodes)
T-MAC protocol
Make duty cycle
dynamic
End active time with
time-out
All messages at
start of frame
T-MAC Protocol (2)
RTS/CTS/DATA/ACK exchange
Synchronization not critical
No increasing backoff: fixed contention
interval
Overhearing avoidance
Early sleeping problem
A
B
C
D
Ready-To-Send
Early sleeping problem
A
B
!
B overhears CTS
C
D
Clear-To-Send
Early sleeping problem
A
B
C
D
?
Data
B must remain silent
A times out and goes to sleep
Early sleeping problem
A
B
C
D
Ready-To-Send
When B can send, A is sleeping
B must wait until next frame (problem!)
Early sleeping problem
A node goes to sleep while another
node still has a message for it
Occurs mostly in asymmetric
communication:
uni-directional flow (nodes-to-sink)
 edge of active area

Throughput decreases dramatically
Solutions
After overhearing a CTS, quickly send a
Future-Request-To-Send


Target node will be awake
Short pause between CTS and DATA
When receiving an RTS, ignore and send
own RTS


only when running out of buffers
only after two tries
Solutions increase throughput with 100%
Simulation setup
10 x 10 grid network
Patterns: local unicast, nodes-to-sink
Active areas simulate real-world events
Realistic nodes


energy
radio properties
DAS2 cluster


32 – 64 cpus
2 mins / simulation, > 40,000 msgs
Simulation results
Nodes-to-sink pattern, msglength = 20
4.5
CSMA
4
30000
3.5
25000
energy [ mA / node ]
3
S-MAC
20000
2.5
2
15000
1.5
10000
1
T-MAC
5000
0.5
2500
0
0
0.05
0.1
0.15
load [ msg / node / s]
0.2
0.25
0.3
Simulation results (2)
Event-based local unicast, msglength=20
4.5
CSMA
energy used [avg. mA / node]
4
3.5
S-MAC
3
2.5
2
1.5
1
0.5
T-MAC
0
0
1
2
3
4
5
6
peak load [msg / node / s]
7
8
Real implementation
Implemented T-MAC on EYES nodes
FRTS and priority not implemented (yet)
Seems to work well, no data loss yet
When idle, radio is off 97.5% of the time
Conclusions
T-MAC reduces energy. A lot.
Simple implementation
Simple idea can lead to dramatic
improvements
Paper submitted for SENSYS’03
Infrared demo