410 likes | 421 Views
Introducing T-MAC, an adaptive duty cycle protocol that reduces energy wastage on idle listening. It outperforms S-MAC and CSMA in various load conditions and offers energy-efficient solutions for sensor networks.
E N D
An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks by Tijs van Dam and Koen Langendoen Delft University of Technology The Netherlands in The First ACM Conference on Embedded Networked Sensor Systems (Sensys'03), November 2003
Abstract • In this paper we describe T-MAC (Timeout-MAC), a contention-based Medium Access Control protocol for wireless sensor networks. • To handle load variations in timeand location T-MAC introduces an adaptive duty cycle ina novel way: by dynamically ending the active part of it.This reduces the amount of energy wasted on idle listening.
Abstract(cont.) • We discuss the design of T-MAC, and provide a head-to-head comparison with classic CSMA (no duty cycle) andS-MAC (fixed duty cycle) through extensive simulations. • Under homogeneous load, T-MAC and S-MAC achieve similar reductions in energy consumption (up to 98 %) comparedto CSMA. In a sample scenario with variable load, however,T-MAC outperforms S-MAC by a factor of 5.
Introduction • MAC layer in Wireless Sensor Networks: This layer is described by a MAC protocol, which tries to ensurethat no two nodes are interfering with each other's transmissions, and deals with the situation when they do. • Wireless sensor networks have an additional aspect: assensor nodes are generally battery-operated, energy consumption is very important.
Communication patterns • We have identifed two main communication patterns in sensor applications: • Local uni-/broadcast: Local messages being exchanged between neighbors when an event occurs. • Nodes to sink: After processing a local eventor just periodically, nodes may want to reportsomething to sink.
EYES nodes • We use the EYES wireless sensor nodes • 16 Bit, variable clock rate (max 5 MHz) pocessor with 2KB RAM and 60KB of Flash memory • 2 MB EEPROM • 115 Kbps, 868.35 MHz hybrid transceiver Table 1: Power breakdown of EYES nodes.
Idle listening problem • Most energy in traditional MAC protocols is wasted byidle listening: since a node does not know when it willbe the receiver of a message from one of its neighbors, itmust keep its radio in receive mode at all times. • e.g. For one message per second, nodes use 5 ms for receiving and 5 ms for transmitting the message. 990 ms is wasted. %99 of the time nodes just listen but nothing happnes.
Outline • T-MAC, an adaptive energy-efficientMAC protocol for wireless sensor networks that minimizes idle listening. • In Section 2, some existing energy-saving solutions. • In Section 3, problems on T-MAC protocols and offered solutions of these problems. • In Section 4, simulation setup. • In Section 5, real implementation.
2. Related Work • TDMA based protocols • Not easy to implement in an ad-hoc network(complexity) • Wake-up radio • Extra component on the node • Basic CSMA based protocol with long preamble in The TinyOS project • It shifts the cost from receiver to the transmitter
2. Related Work(cont.) • S-MAC • Two state: Active and Sleep state • Energy wasted on idle listening is reduced. • Messages that happen in the sleep period will be queued until the start of the next state. • All messages are packed into the active part instead of being `spread out' over the whole frame. Figure 1: The S-MAC duty cycle; the arrowsindicate transmitted and received messages; note that messages come closer together.
3. T-MAC Protocol Design • Main criterion: Energy consumption • Other forms of energy waste are: • Collisions • Protocol overhead (control packets) • Overhearing (a node may receive packets that are not destined for it) • S-MAC has two parameters: the total frame time,which is limited by latency requirementsand bufer space and the active time. • Latency requirements and buffer space are generally fixed, the message rate will usually vary.
3. T-MAC Protocol Design(cont.) • The novel idea of the T-MAC protocol is to reduce idlelistening by transmitting all messages inbursts of variablelength, and sleeping between bursts. • To maintain an optimalactive time under variable load, we dynamically determineits length. • We end theactive time in an intuitive way: wesimply time out on hearing nothing.
3.1 Basic Protocol Figure 2: The basic T-MAC protocol scheme, with adaptive active times. TA, determines the min idle listening per frame. • Node communication: RTS, CTS, ACK • It provides both collision avoidance and reliable transmission • An active period ends when no activation event has occurred for a time TA. An activation event is: • the firing of a periodic frame timer; • the reception of any data on the radio; • the sensing of communication(with RSSI) on the radio, e.g. during a collision; • the end-of-transmission of a node's own data packet or acknowledgement; • the knowledge, through overhearing prior RTS andCTS packets, that a data exchange of a neighbor has ended.
3.2 Clustering and synchronization • Frame synchronization is inspired by virtual clustering • Nodes receive SYNC packets that contain the schedule of sending node. • A node must adopt both(its own and received) schedules. It must also transmit a SYNC with its own schedule to theother node, to let the other node know about the presence of another schedule. • The described synchronization scheme, which is calledvirtual clustering, urges nodes to form clusters with thesame schedule, without enforcing thisschedule to all nodes in the network.
3.3 RTS operation and choosing TA • Additional features of the T-MACprotocol that provide optimal tuning: • Fixed contention interval • In the T-MAC protocol, every node transmits its queuedmessages in a burst at the start of the frame. • The medium is saturated because of the message burst. • An increasing contention interval is not useful, since theload is mostly high and does not change. • Therefore, RTStransmission in T-MAC starts by waiting and listening for arandom time within a fixed contention interval.
3.3 RTS operation and choosing TA(cont.) • RTS retries • When a node sends an RTS, but does not receive a CTSback, one of three things has happened: • the receiving node has not heard the RTS due to collision; or • the receiving node is prohibited from replying due toan overheard RTS or CTS; or • the receiving node is asleep. • When the sending node receives no answer within the interval TA, it might go to sleep. However, that would be wrongin cases 1 and 2: we would then have a situation where thesending node goes to sleep, while the receiving node is still awake. • Therefore, a node should retry by re-sending the RTS if itreceives no answer. If there is still no reply after two retries,it should give up and go to sleep.
3.3 RTS operation and choosing TA(cont.) • Determining TA • A node should not go to sleep while its neighbors are stillcommunicating, since it may be the receiver of a subsequentmessage. Receiving the start of the RTS or CTS packet froma neighbor is enough to trigger a renewed interval TA. • Since a node may not hear, because it is not in range,the RTS that starts a communication with its neighbor, theinterval TA must be long enough to receive at least the startof the CTS packet (Figure 3). • TA > C + R + T, where C is the length of the contention interval, R is the length of an RTS packet,and T is the turn-around time(the short time between the end of the RTS packet and thebeginning of the CTS packet). Figure 3: A basic data exchange. Node C overhearsthe CTS from node B and will not disturb the communication between A and B. TA must be longenough for C to hear the start of the CTS.
3.4 Overhearing avoidance • The S-MAC protocol uses the idea of sleeping afteroverhearing an RTS or CTS destined for another node and saves energy. • In general, overhearing avoidance is a good idea, and itis an option in the T-MAC protocol. But it decreases maximum throughput for short packets by as much as 25%. • Thus, although overhearing avoidance saves energy, it mustnot be used when maximum throughput is (at times) required.
3.5 Asymmetric communication • The early sleeping problem: Since a node goes to sleep when a neighbor still has messages. Figure 4: The early sleeping problem. Node D goesto sleep before C can send an RTS to it. • C has data to send to D. But when it overhears a CTS from B, C has given up. D hears nothing and goes to sleep. • In the nodes-to-sink communication pattern, the earlysleeping problem reduced the total possible throughput ofT-MAC to less than half of the maximum throughput of traditional protocols or S-MAC.
Devised Solutions For Early Sleeping Problem • Future request to send: Figure 5: The future-request-to-send packet exchange keeps Node D awake. • If a node overhears aCTS packet destined for another node, it may immediatelysend a future-request-to-send (FRTS) packet, like node C in Figure 5. • A node that receives an FRTS packet knows it will bethe future target of an RTS packet and must be awake by that time.
Devised Solutions For Early Sleeping Problem(cont.) • Future request to send(cont.): • Data packet must be postponed for the duration of the FRTS packet. • To prevent any other node from taking the channel during the FRTS packet,the node that sent the initial RTS (node A in Figure 5)transmits a small Data-Send (DS) packet. • After the DS packet, it must immediately send the normal data packet. • FRTS feature increased the maximum throughput in unidirectional communication patterns by approximately 75%.But energy consumption also increases because of DS and FRTS overhead.
Devised Solutions For Early Sleeping Problem(cont.) • Taking priority on full buffers: • When a node's transmit/routing buffers are almost full,it may prefer sending to receiving. • When a node receives an RTS packet destined for it, it immediatelysends its own RTS packet to another node, instead of replying with a CTS like normal. Figure 6: Taking priority upon receiving RTS.
Devised Solutions For Early Sleeping Problem(cont.) • Taking priority on full buffers(cont.): • It is dangerous(collisions may occur) in a high-load situation where communication is not unidirectional. • T-MAC uses a threshold: a node may only use this scheme when ithas lost contention at least twice.
4. Experiments • In our experiments, we compared three protocols: CSMA,S-MAC and T-MAC. • CSMA: Worst-case • S-MAC: Like T-MAC and in-band signaling.
4.1 Simulation setup and parameters • OMNeT++ discrete event simulation package • Same limits on clock resolution and precision, radio turn-around andwake-up times, and transmission bit rates as the EYES nodes do. • Same energy consumption values as the real nodes use • 20 µA while sleeping • 4 mA while receiving • 10 mA while transmitting • 100 nodes in 10 by 10 grid. • Non-edge nodes all have 8 neighbors • The nodes-to-sink communication pattern • Randomized shortest path routing
4.1 Simulation setup andparameters(cont.) • In S-MAC protocol • Length of a frame is one sec. • Active time varies from 75 ms to 915 ms. • In T-MAC protocol • Length of a frame is 610 ms(20000 ticks of a quartz crystal) • TA is 15 ms • Optional features: Overhearing avoidance, full-buffer priority, FRTS.
4.2 Results • Homogeneous local unicast
4.2 Results(cont.) • Homogeneous local unicast • Best case • For T-MAC, overhearing avoidence used but no FRTS or full-buffer priority • T-MAC protocol uses even less energy than S-MAC and CSMA. • Maximum throughput of the T-MAC protocol with large messages (100 bytepayload) is less than that of the S-MAC protocol. This ismainly due to variations on the early sleeping problem as described in Section 3.5.
4.2 Results(cont.) • Nodes to sink communication
4.2 Results(cont.) • Nodes to sink communication • For T-MAC, overhearing avoidence, FRTS and full-buffer priority are used. • T-MAC protocol uses even less energy than S-MAC and CSMA. • Absolute load is much lower (factor of 10)for nodes-to-sink than for local unicast. • As with homogeneous local unicast we see that the maximum throughput of T-MAC is less than that of S-MAC. • The maximum throughput of T-MAC isat worst about 70% of S-MAC(under the extreme loads for example, by aggregating messages.)
4.2 Results(cont.) • Early sleeping problem FRTS mechanism increases maximum throughput by approximately 75% (0.08 vs. 0.14 messages per second), at the cost of some energy. Adding thefull-buffer priority mechanism adds approximately 30% (0.14vs. 0.18 messages per second) without the cost of extra energy.
4.2 Results(cont.) • Event based local unicast - This is a experiment with a complete scenario - An event per 10 sec - When no event happens: * 10 byte/20 sec local messaging * Report to sink per 100 sec - An event/10 sec • When an event happens: * Four 30 byte local messages per sec * 50 byte message to sink per sec
4.2 Results(cont.) • Eventbased local unicast and node to sink -For T-MAC, used overhearing avoidence but no FRTS and no full-buffer priority. - T-MAC uses much less energy thaneither S-MAC or CSMA, especially when the message frequency during events increases. • T-MAC suffers from the early sleepingproblem • - By adaptively changing the duty cycle, • T-MAC can decrease the used energy in this scenario by a • factor of 5.
5. Real Implementation • Implemented • T-MAC protocol on actual EYES nodes. • Drift correction with SYNC packets. • Right sleep time • When sending a continuous stream of data messages, the nodes rarerly go to sleep. • The radio is then inthe receive mode for 15 ms out of every 610 ms, which isless than 2.5% of the time. • Not implemented • Full buffer priority and FRTS. • Multiple schedules.
5.1 Energy consumption • Energy consumption experiments • One node is sending, and the other is receiving. • Message length is 20 byte. • Sample rate 500 Hz • Measured current precission is 15 µA.
5.1 Energy consumption(cont.) • Energy consumption experiments • In Figure 13 we see a node that transmits messagesat maximum rate. It is clear that this node never sleeps, asit should not. Instead, it toggles between receive (3.75 mA) and transmit (18 mA).
5.1 Energy consumption(cont.) • Energy consumption experiments • Figure 14 shows a closeup of a nodetransmitting 3 messages during a single frame.
5.1 Energy consumption(cont.) • Energy consumption experiments • Transmitting nodes use signicantly more energy than receiving nodes • Idle average current (0.138 mA) is less than 4% of the currentof a non-energy saving protocol (which would be between 3.75 and 4 mA). This is well above the theoretical limit (TA/Tframe 15ms/610ms = 2.5%). • 96% overall energy savings is a very good result.
6. Conclusion and Future Work • To solve the problem of idle listening in a wsn, we have proposed the T-MAC protocol. • T-MAC dynamically adapts a listen/sleep duty cycle in a novel way,through fine-grained timeouts, while having minimum complexity. • Simulations have shown that the T-MAC protocol introduces a way of decreasing energy consumption ina volatile environment where the message rate fluctuates,either in time or in location.
6. Conclusion and Future Work(cont.) • During a high load, nodes communicate without sleeping, but during a very low load, nodeswill use their radios for as little as 2.5% of the time, savingas much as 96% of the energy compared to a traditional protocol. • We have also identified a problem with the T-MAC protocol (the early sleeping problem) and proposed original solutions for this problem (FRTS and full-buffer priority).
6. Conclusion and Future Work(cont.) • The trade-off for very low energy consumption is a decreased maximum throughput. • Applying virtual clustering to groups of mobile nodes may be problemeatic. • Since synchronization of schedules can have a great impact onthe energy consumption, clustering is important. • T-MAC's reductions in energy consumption are very promising.