Z-MAC: Hybrid MAC for Wireless Sensor Networks
Injong Rhee Department of Computer Science North Carolina State University
With the following collaborators: Manesh Aia, Ajit Warrier, Jeongki Min
1
Introduction
Basic goal of WSN Reliable data delivery consuming minimum power.
Diverse Applications
Low to high data rate applications Low data rate
Periodic wakeup, sense and sleep High data rate (102 to 105 Hz sampling rate) In fact, many applications are high rate Industrial monitoring, civil infrastructure, medial monitoring, industrial process control, fabrication plants (e.g.,
Intel), structural health monitoring, fluid pipelining monitoring, and hydrology
Pictures by Wei Hong, Rory Oconnor, Sam Madden
Diverse data rates within an application
Sink
E.g., Target tracking and monitoring Typically trigger multiple sensors in near vicinity Data aggregation near targets or the sink Some areas of the network could be highly contentious.
Sensor Network Research at NCSU
Energy efficient/Low overhead/High throughput MAC
Approaches: Hybrid, TDMA+CSMA Congestion control, routing, MAC and power control.
Cross-layer optimization
Data Aggregation and Target Tracking
Dynamic clustering and aggregation
Wild animal tracking Red Wolf tracking (@Alligator River), Black Bear tracking (@Smokey Mountain).
4
Applications
Sensor MAC Requirements
High energy efficiency (High Throughput/energy Ratio) High channel utilization (High throughput) Low latency Reliability Scalability Robustness and adaptability to changes
Channel conditions (highly time varying) Sensor node failure (energy depletion, environmental changes) High clock drift
MAC Energy Usage
Four important sources of wasted energy in WSN: Idle Listening (required for all CSMA protocols) Overhearing (since RF is a broadcast medium) Collisions (Hidden Terminal Problem) Control Overhead (e.g. RTS/CTS or DATA/ACK)
Existing MAC Protocols (SMAC, B-MAC)
Our work: Z-MAC
Medium Access Paradigms
Contention Based (CSMA) Random-backoff and carrier-sensing Simple, no time synch, and robust to network changes High control overhead (for two-hop collision avoidance) High idle listening and overhearing overheads
Solve this by duty cycling
TDMA Based (or Schedule based) Nodes within interference range transmit during different times, so collision free Requires time synch and not robust to changes. Low throughput and high latency even during low contention. Low idle listening and overhearing overheads
Wake up and listen only during its neighbor transmission
7
Effective Throughput
CSMA vs. TDMA
IDEAL
CSMA Channel Utilization
Do not use any topology or time synch. Info. Thus, more robust to time synch. errors and changes.
TDMA
Sensitive to Time synch. errors, Topology changes, Slot assignment errors.
# of Contenders
8
Existing approaches
Hybird (CSMA + TDMA)
SMAC by Ye, Heidemann and Estrin @ USC
Duty cycled, but synchronized over macro time scales for neighbor communication
CSMA+Duty Cycle+LPL
BMAC by Polastre, Hill and Culler @ UC Berkeley
Duty cycled, but Low power listen - clever way reducing energy consumption (similar to aloha preamble sampling)
S-MAC Design
listen
Listen Period Sleep/Wake schedule synchronization with neighbors Receive packets from neighbors Sleep Period
sleep
listen
sleep
Turn OFF radio
Set timer to wake up later Transmission Send packets only during listen period of intended receiver(s) Collision Handling RTS/CTS/DATA/ACK
10
S-MAC Design
Schedules can differ, prefer neighboring nodes to have same schedule
Node 1 Node 2
listen sleep listen sleep sleep
listen
listen
sleep
Border nodes may have to maintain more than one schedule.
Schedule 1
Schedule 2
11
B-MAC: Basic Concepts
Keep core MAC simple
Provides basic CSMA access Optional link level ACK, no link level RTS/CTS
CSMA backoffs configurable by higher layers
Carrier sensing using Clear Channel Assessment (CCA)
Sleep/Wake scheduling using Low Power Listening (LPL)
12
Clear Channel Assessment
A packet arrives between 22 and 54ms. The middle graph shows the output of a thresholding CCA algorithm. ( 1: channel clear, 0: channel busy)
- Before transmission take a sample of the channel - If the sample is below the current noise floor, channel is clear, send immediately. - If five samples are taken, and no outlier found => channel busy, take a random backoff - Noise floor updated when channel is known to be clear e.g. just after packet transmission
13
Low Power Listening
Check Interval Receiver Sender Long Preamble Carrier sense Receive data Data Tx
Similar to ALOHA preamble sampling
Wake up every Check-Interval Sample Channel using CCA If no activity, go back to sleep for Check-Interval
Else start receiving packet
Preamble > Check-Interval
14
Low Power Listening
Check Interval Receiver Sender Long Preamble Carrier sense
Receive data
Data Tx
Longer Preamble => Longer Check Interval, nodes can sleep longer
At the same time, message delays and chances of collision also increase
Length of Check Interval configurable by higher layers
15
Z-MAC: Basic Idea - Can you do the contention resolution in Hybrid?
MAC CSMA TDMA Channel Utilization
Low Contention High Low High Contention Low High
Z-MAC a Hybrid MAC protocol combines the strengths of both CSMA and TDMA at the same time offsetting their weaknesses. Z-MAC uses a base TDMA schedule as a hint to schedule the transmissions of the nodes, and it differs from TDMA by allowing non-owners of slots to 'steal' the slot from owners if they are not transmitting. High channel efficiency and fair (quality of service)
16
Effective Throughput
CSMA vs. TDMA
IDEAL
Channel Utilization
TDMA
CSMA # of Contenders
17
Z-MAC: Basic components
Baseline - CSMA Use Imprecise Topology and Timing Info in a robust way.
Combining CSMA with TDMA
Scalable and Efficient TDMA scheduling
18
TDMA Scheduling
Two nodes in the interference range assigned to different time slots. Owners and non-owners
E A C D F Radio Interference Map A C B Input Graph D F B 1 DRAND slot assignment 3 2 D C 1 E F 0
1/7
0 A
2/7 3/7
5/7
4/7
6/7
5 6 7
7/7
Time slice Time period 19
Z-MAC Transmission Control
Busy Owner Accessing Channel
Busy
Owner Accessing Channel
Random Backoff (Contention Window)
Busy
To
Non-owner Accessing Channel
Busy
To
Non-owner Accessing Channel
Random Backoff (Contention Window)
20
Z-MAC Transmission Control (Continued)
TDMA and Z-MAC under high contention (Two node example) A A A B B B A A A B B B
TDMA under no contention (Two node example) A A A A A A
Z-MAC under no contention (Two node example) A A A A A A A A A A A A
21
DRAND
Z-MAC requires a conflict-free transmission schedule or a TDMA schedule. DRAND is a distributed TDMA scheduling scheme. Let G = (V, E) be an input graph, where V is the set of nodes and E the set of edges. An edge e = (u, v) exists if and only if u and v are within interference range. Given G, DRAND calculates a TDMA schedule in time linear to the maximum node degree in G. DRAND is fully distributed, and is the first scalable implementation of RAND, a famous centralized channel scheduling scheme.
22
DRAND AlgorithmE
A C B Radio Interference Map D F
A C B D
0 A B 1
2 C
3 D
1 E
Input Graph
DRAND slot assignment
F 0
23
DRAND Algorithm Successful Round
B F E G A B C D Step II Receive Grants B A G
Grant
F E G
Request
C D
Step I Broadcast Request B F A
Release
C D
C D
Two Hop Release
Step III Broadcast Release
Step IV Broadcast Two Hop Release
24
DRAND Algorithm Unsuccessful Round
B F E
Grant
Grant
B
Reject
F E G
Request
C D
C D
Step I Broadcast Request B A C D
Fail
Step II Receive Grants from A,B,D but Reject from E F E G
Step III Broadcast Fail
25
Simple Analysis (# of rounds)
26
Performance Results
DRAND and ZMAC have been implemented on both NS2 and on Mica2 motes (Software can be downloaded from: http://www.csc.ncsu.edu/faculty/rhee/export/zmac/index.html) Platform: Mica2 8-bit CPU at 4MHz 8KB flash, 256KB RAM 916MHz radio TinyOS event-driven
27
Experimental Setup Single Hop
Single-Hop Experiments: Mica2 motes equidistant from one node in the middle. All nodes within one-hop transmission range. Tests repeated 10 times and average/standard deviation errors reported.
28
Z-MAC Two-Hop Experiments
Setup Two-Hop
Dumbbell shaped topology
Transmission power varied between low (50) and high (150) to get two-hop situations. Aim See how Z-MAC works when Hidden Terminal Problem manifests itself.
Sources
Sink Sources
29
Experimental Setup - Testbed
40 Mica2 sensor motes in Withers Lab. Wall-powered and connected to the Internet via Ethernet ports. Programs uploaded via the Internet, all mote interaction via wireless. Links vary in quality, some have loss rates up to 30-40%. Assymetric links also present (14->15).
30
Z-MAC Single-Hop Throughput
Z-MAC
B-MAC
31
Z-MAC Two-Hop Throughput
Z-MAC Z-MAC
B-MAC
B-MAC
Low Power
High Power
32
Multi Hop Results Throughput
MULTI-HOP
Z-MAC B-MAC
33
Fairness (two hop)
34
Multi Hop Results Energy Efficiency (KBits/Joule)
Z-MAC HCL
B-MAC
MULTI-HOP
35
DRAND Performance Results Run Time
Single-Hop
Multi-Hop (Testbed)
Multi-Hop (NS2)
Round Time Single-Hop
36
DRAND Performance Results Message Count and Number of Slots
Multi-Hop (NS2)
Number of Slots Assigned Multi-Hop (NS2) Single Hop
37
Overhead (Hidden cost)
Operation Neighbor Discovery DRAND Local Frame Exchange Time Synchronization Average (J) StdDev 0.73 0.0018
4.88
1.33 0.28
3.105
1.39 0.036
Total energy: 7.22 J 0.03% of typical battery (2500mAh, 3V)
38
Conclusion
Z-MAC combines the strength of TDMA and CSMA
High throughput independent of contention. Robustness to timing and synchronization failures and radio interference from non-reachable neighbors.
Always falls back to CSMA.
Compared to existing MAC
It outperforms B-MAC under medium to high contention. Achieves high data rate with high energy efficiency.
39
Z-MAC
Hybrid MAC for WSN Combine strengths of TDMA and CSMA. Uses the TDMA schedule created by DRAND as a 'hint' to schedule transmissions. The owner of a time-slot always has priority over the nonowners while accessing the medium. Unlike TDMA, non-owners can 'steal' the time-slot when the owners do not have data to send. This enables Z-MAC to switch between CSMA and TDMA depending on the level of contention. Hence, under low contention, Z-MAC acts like CSMA (i.e. high channel utilization and low latency), while under high contention, Z-MAC acts like TDMA (i.e. high channel utilization, fairness and low contention overhead).
40
Z-MAC Local Frames
After DRAND, each node needs to decide on frame size. Conventional wisdom Synchronize with rest of the network on Maximum Slot Number (MSN) as the frame size. Disadvantage: MSN has to broadcasted across whole network. Unused slots if neighbourhood small, e.g. A and B would have to maintain frame size of 8, in spite of having small neighbourhood.
E 1(5)
F 3(5) A B C D 2(5) 0(5) 0(2) 1(2) Label is the assigned slot, number in parenthesis is maximum slot number within two hops G 4(5) H 5(5)
41
Z-MAC Local Frames
Time Frame Rule (TF Rule) Let node i be assigned to slot si, according to DRAND and MSN within two hop neighbourhood be Fi, then i's time frame is set to be 2a, where positive integer a is chosen to satisfy condition 2a-1 <= Fi < 2a 1 In other words, i uses the si-th slot in every 2a time frame (i's slots are L * 2a + si, for all L=1,2,3,...)
42
Z-MAC Local Frames
43
Z-MAC Transmission Control
Slot Ownership
If current timeslot is the node's assigned time-slot, then it is the Owner, and all other neighbouring nodes are NonOwners.
Low Contention Level Nodes compete in all slots, albeit with different priorities. Before transmitting: if I am the Owner take backoff = Random(To) else if I am Non-Owner take backoff = To + Random(Tno) after backoff, sense channel, if busy repeat above, else send.
Switches between CSMA and TDMA automatically depending on contention level
Performance depends on specific values of To and Tno From analysis, we use To = 8 and Tno = 32 for best performance
44
Z-MAC LCL
Problem Hidden Terminal Collisions
Although LCL effectively reduces collisions within one hop, hidden terminal could still manifest itself when two hops are involved.
C 2(2)
Time Slots A(0) B(1) Collision at C
45
0(2) A 0 1
B 1(2) 2 0
Z-MAC HCL
High Contention Level If in HCL mode, node can compete in current slot only if: It is owner of the slot OR It is one-hop neighbour to the owner of the slot
C 2(2) Time Slots A(0) B(1)
Slot in HCL, sleep till next time slot
0(2) A
0 1
B 1(2) 2
0
Collisions still possible here
46
Z-MAC Explicit Contention Notification
ECN Informs all nodes within two-hop neighbourhood not to send during its time-slot.
When a node receives ECN message, it sets its HCL flag.
ECN is sent by a node if it experiences high contention. High contention detected by lost ACKs or congestion backoffs. On receiving one-hop ECN from i, forward two-hop ECN if it is on the routing path from i. ECN Suppression HCL flag is soft state, so reset periodically Nodes need to resend ECN if high contention persists. To prevent ECN implosion, if ECN message received from one-hop neighbour, cancel one's own pending ECN message.
47
Z-MAC Explicit Contention Notification
C experiences high contention
Thick Line Routing Path Dotted Line ECN Messages
C broadcasts one-hop ECN message to A, B, D. A, B not on routing path (C->D->F), so discard ECN. D on routing path, so it forwards ECN as two-hop ECN message to E, F.
forward
D forward
C
A discard
E
B discard
Now, E and F will not compete during C's slot as Non-Owners. A, B and D are eligible to compete during C's slot, albeit with lesser priority as NonOwners.
48
Z-MAC Performance Results
Setup
Single-hop, Two-hop and Multi-hop topology experiments on Mica2 motes.
Comparisons with B-MAC, default MAC of Mica2, with different backoff window sizes.
Metrics: Throughput, Energy, Latency, Fairness
49
Z-MAC Performance Results Throughput, Fairness
Setup Single-Hop 20 Mica2 motes equidistant from a sink All nodes send as fast as they can throughput, fairness measured at the sink. Before starting, made sure that all motes are within one-hop
50
Z-MAC Energy Experiments
Setup
10 nodes within single cell sending to one sink
Find optimum (lowest) energy to get a given throughput at the sink
51
Z-MAC Performance Results Energy
52
Z-MAC Latency Experiments
Setup
10 nodes in a chain topology.
Source at one end transmits 100 byte packets at rate of 1 packet/10 s towards sink at the other end. Packet arrival time observed at each intermediate node, average per-hop latency calculated and then reported for different duty cycles.
Source
Sink
53
Multi Hop Results
54
Multi Hop Results
55
Z-MAC Performance Results Latency
56
Z-MAC a Hybrid MAC for Wireless Sensor Networks
Q&A
Thank you for your participation
57
LPL Check Interval
Too small Energy wasted on Idle Listening Too large Energy wasted on packet transmission (large preamble) In general, longer check interval is better.
58