190 likes | 347 Views
Energy vs Latency tradeoffs in SMAC. By Moshe Golan Nithya Ramanathan. S-MAC. MAC level protocol with periodic sleep schedules to save energy Nodes auto-synchronize by broadcasting schedules All nodes know neighboring schedules, so can communicate with any node No hierarchy. S-MAC.
E N D
Energy vs Latency tradeoffs in SMAC By Moshe Golan Nithya Ramanathan
S-MAC • MAC level protocol with periodic sleep schedules to save energy • Nodes auto-synchronize by broadcasting schedules • All nodes know neighboring schedules, so can communicate with any node • No hierarchy
S-MAC • Over Hearing Vs Adaptive Listen • Message Passing despite Fragmentation • Schedules exchanged every 10 sec • During SYNC period • Neighbor Discovery
Experiment Setup • Controlled 1 – 6 Hops • Duty cycle varied from 10 – 100% • Data Packet size of 50 and 200B • Control Packet Length = 10B • Num Fragments varied from 1 – 5 fragments • Packets Period of 1 and 10 sec • 64 Packets sent each run • Awake Time = 150ms • Adaptive-listen turned off • Effective Data-rate = 10kbps
Experiment Setup (2) • Mote – mica1, IPAQ used to timestamp packet • One data-source in Network • Hop-time = TnodeB-sends – TnodeA-sends IPAQ IPAQ Sniffer Mote IPAQ Data Source Mote Relay Motes
Setting up Packet Transmission • Transmission setup during “awake” period • Only one packet-transmission can be setup per “awake” period • RTS-CTS used for unicast • Broadcast sent after Carrier Sense in Awake Time
Setting up Packet Transmission (2) Duty Cycle = Time Awake / Frame-time Unicast Pkt transmission Starts here Sync RTS Awake Sleep CTS • Awake Time is Const – 0.15 sec • Duty Cyce of 20% Frame Time = 0.15 / 0.2 = 0.75 sec • Sleep Time = 0.75 – 0.15 = 0.6 sec
10% Duty Cycle Time to send packet = .5 sec Total Delay = 1.35 sec + .15 sec = 1.50 sec Pkt transmission Starts here Pkt transmission Ends here Next Pkt transmission Starts here Awake Sleep (.15sec) (1.35sec) Remaining Sleep 1.35 - .5 = .85s
20% Duty Cycle Total Delay = .6 sec + .15 sec = .75 sec Pkt xmission Starts here Pkt xmission Ends here Next Pkt xmission Starts here Awake Sleep (.15sec) (.6 sec) Remaining Sleep .6 - .5 = .1s
40% Duty Cycle Total Delay = .225 sec + .15 sec + .225 + .15 = .75 sec Pkt xmission Starts here Pkt xmission Ends here Next Pkt xmission Starts here Awake Sleep (.15 sec) (.225 sec) Remaining Awake time is NOT ENOUGH To set-up next transmission!! Have to wait until NEXT awake time Remaining Awake-Time .15 + .225 + .15 - .5 = .025s
Delay for 40% = Delay for 20% Transmission of packet delayed by one frame for the 40% duty cycle case To maximize energy vs latency: Transmission time for packet = sleep-time + SYNC time Next Pkt Should have been sent here Pkt xmission Starts here Instead it is sent here
Latency vs Duty-Cycle 1-hop Network Rate = 1 pkt every 10 sec Pkt-length = 5 x 40B fragments Rate = 1 pkt every 10 sec Pkt-length = 5 x 40B fragments
Latency vs Sequence No 1 Hop Network Rate = 1 pkt / 10 sec Pkt-Length = 5 x 40B Fragments Distance <= frame-time for 50%
Latency vs Duty-CycleMulti-hop NW Rate = 1 pkt every 10 sec Pkt-length = 5 x 40B fragments
Latency vs Duty-Cycle for Multi-hopPacket sent 1 / 10 sec Rate = 1 pkt / 10 sec Pkt-Length = 1 x 50B Fragments
Unique to SMAC? • Phenomena is dependent on fixed / synchronized schedules • Fixed Active Time
Conclusions • We can trade Energy for Latency • As packet gets smaller – this “dipping” phenomena is less pronounced SO • If have two different applications with different packet length requirements: adjust duty cycle based on larger packet
ConclusionsSometimes More is Less • Must take packet-length into account when determining optimum duty-cycle • Time to send packet - including carrier sense – shouldn’t exceed sleep-time by much
Future Work • Fragmentation: BER Vs Transmit Time • Example 50 byte • Broadcast • Variable Size Active Time