Energy Consumption of TCP Reno, Newreno and SACK in Multi-Hop Wireless Network Harkirat Singh &...
-
date post
19-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of Energy Consumption of TCP Reno, Newreno and SACK in Multi-Hop Wireless Network Harkirat Singh &...
Energy Consumption of TCP Reno, Newreno and SACK in Multi-Hop Wireless Network
Harkirat Singh &
Suresh Singh
Motivation Wireless devices need to be
Reliable Light Weight
Wireless links are error prone, low bandwidth etc.
TCP connection suffers long idle time hence
low throughput
How is Power consumed in a wireless node?
Radio States : Transmit, receive, idle, sleep
Idle / Sleep
Power (Idle) = 780mW
Power (Sleep) = 50mW
Recv Xmt
Power (Xmt) = 1478mW
Data
Ack
Power (Recv) = 900mW
Lucent 802.11 Silver (11 Mbps) WaveLAN DSSS PC Card Characteristics [INFOCOM’01]
TCP Mechanism TCP is a sliding window protocol with built in
self-clocking and congestion control algorithm• Slow start Congestion avoidance• Fast retransmit• Fast recovery
TCP Tahoe implements first three
TCP Reno, Newreno and SACK have all four
Slow start Slow start is used during initial phase of a connection or after retransmission timeout (Probing the network) It is also known as additive increase and multiplicative decrease
Sender
Receiver
cwnd:1 cwnd:2 cwnd:4 cwnd:8
Fast retransmit and recovery TCP receiver generates ack for next expected
packet In the event of packet loss or reordering, receiver
Acks last in-sequence pkt received TCP sender retransmits first unacknowledged
packet after 3 dup_acks without waiting for retransmit timer to go off
ssthresh = min (cwnd, rcv advertised window) / 2 Send missing pkt and set cwnd += 3 Inflate cwnd till retransmitted pkt is acked Deflate the window, enter Congestion Avoidance
Congestion Avoidance When cwnd > ssthresh TCP invokes
Congestion Avoidance
cwnd += 1/cwnd (for each ack) In other words cwnd is incremented
(cwnd++) by one per round trip time It is conservative approach to increase
cwnd as name suggests
When congestion is detected (by timeout), TCP slows down and invokes slow start
Evolution of TCP window
RTT RTT
W
W+1
2 W
2
4
8
1
RTT
Fast retransmit and recovery
Congestion avoidance
Slow start
Time
Con
gest
ion
Win
dow
TCP Newreno TCP Reno is optimized for single packet loss in a
window, multiple pkt loss degrades the performance
TCP Newreno enhances the performance in the event of multiple pkt drop without having SACK
Introduces new variable Partial ACK• When fast retransmit is invoked record the
highest sequence number transmitted as Recover• When all of the data up to and including Recover
is acknowledged TCP exits fast recovery Avoids invocation of Fast retransmit in quick
succession
Sender Receiver
0 .. 61 14
cwnd : 8
7 .. 14 7 .. 13
0 .. 131
cwnd : 15
15 .. 28 15 .. 28
New round
14 14, 29 .. 34
14
14 dup Acks
New round
cwnd : 10
29 .. 34
cwnd : 21
0 .. 281
cwnd : 7
Receiver generates Ack 29, sender exitsFast recovery and adjust “inflated” cwnd and enters Congestion avoidance
TCP SACK SACK Data structure
• Recover and Partial ack as Newreno• Receiver informs non-contiguous data• Receiver can reflects max of three SACK
blocks• Sender maintains a queue of segments that
have been transmitted but not yet acknowledged, Scoreboard
SACK is invoked in the event of three dup_acks
Sender can judiciously send new packet or retransmit packet to fill hole at receiver
TCP SACK Data Structuresstruct tcpcb { …
struct sackhole *snd_holes; …
tcp_seq start
tcp_seq end
next
dups
rxmit
tcp_seq start
tcp_seq end
next
dups
rxmit
tcp_seq start
tcp_seq end
next
dups
rxmit
…
SACK Example
1 2 3 4 5 6 1
4
6
2
ACK 1 SACK [2]
1 3 4 5 6 2 3
ACK 1 SACK [3,2]
1 4 5 6 2 3 5
ACK 1 SACK [5,3,2]
1 4 6 HOLES AT RCVR
Sender’s queue Receiver’s queue
TCP Protocols Summary
Partial ACK
Recv holes details
Modified Recv
RENO NO NO NO
NEWRENO YES NO NO
SACK YES YES YES
Energy consumption of a node
Idle Current Consumption Pidle
Idle Period
Packet Reception + Processing Packet Processing + Transmission
Time
Cu
rre
nt
PRX
PTX
Energy Model Total energy (E) can be represented as
PTX is energy spent for transmission tTX is time spent in transmission tRX is negligible so can be eliminated
Assume average connection throughput is bytes/sec and the transmission speed is r bytes/sec we can write
TxTxTxtotalidle tPttPE
)()/()/( idleTxidle PPrBPBE
Goals Awake node during ideal time consume
unnecessary power
Power off nodes during idle period this gives lower bound of Total Energy consumption though not realistic call it Idealized Energy
Alternatively during idle period node is asleep and in the event of a pkt node is awoken up by radio
Goals contd.’ Investigate the Energy consumption of TCP
variants (Total Energy vis-à-vis Idealized Energy)
TCP connection characteristic in wireless revisited Low bandwidth connection Higher BER Mobility These leads to longer Idle time
Hence TCP sender can sleep!!
Test Bed Three hop wireless ad hoc network
Each laptop equipped with Lucent 11 Mbps WaveLAN card Running FreeBSD 4.3
SACK is implemented based on RFC 2018
Dummynet used for packet loss and delay
Energy measurement at sender using HP 34401A multimeter and VeePro software
Energy Measurement Two multimeters simultaneously used for
measuring Radio and Total Node Power
Multimeter takes current measurement with a granularity of 1 millisecond
Multimeter dumps data to different laptop
Integration of current * voltage over connection time gives total Energy
Workload, Factors, and Metrics TTCP used as a constant workload generator - 5 MB
Error : 1%, 5% and 10%
RTT : 15, 40, 70, 100 and 130 msec
Reordering : 1% and 5%
Burst Error : 85% for 1 sec every 12 sec
MTU 512 and 1500
A typical run ..
TCP SENDER
RECEIVER
SONY WITH MULTIMETER (TAKES1000 SAMPLINGS PER SECOND)
Start multimeter
Stop
Start
TTCP Router generates
Loss and Delay(DUMMYNET)
Start TTCP server
Start Loss+Delay script
Pkt
Pkt
Pkt
Energy Consumed by Node
Idealized Energy
Total Energy
Simultaneous measurement ofEnergy consumed by the radio
Time (msec)
Curr
ent
(mA
)
Metrics
Total Energy/bit ( E ) measured in Joules/bit. This includes the energy consumed while the sender is idle
Idealized Energy/bit ( EI ) measured in Joules/bit. This measure excludes the idle time energy and thus more closely approximates the cost of the various protocols
Goodput in kbps
Experiment Results – Burst Loss
Parameters Values
Average RTT Burst Packet Loss MTU Size RTS/CTS Protocols
15, 40, 70, 100, 130 msec 85% loss rate for 1 second every 12 seconds 1500 bytes OFF Reno, Newreno, and SACK
Burst loss
Sack-Total
NEWRENO-Total
NEWRENO-IdealSACK-Ideal
Reno
SACK
Goo
dput
(k
bps)
Average RTT (msec) Average RTT (msec)
Energy Goodput
E
nerg
y (J
oule
s *
e-6/
Bit)
Random uniform Loss
Parameters Values
Average RTT Packet Loss MTU Size RTS/CTS Protocols
15, 40, 70, 100, 130 msec 1%, 5%, and 10% 512 and 1500 bytes ON, OFF Reno, Newreno, and SACK
1% Packet Loss
SACK1500
SACK512
RENO512 SACK512
RENO512
SACK1500
NEWRENO1500
Average RTT(msec) Average RTT(msec)
Total Energy Idealized Energy
Tot
al E
nerg
y (J
oule
s *
e-6/
Bit)
Idea
lized
En
ergy
(Jo
ule
s *
e-6/
Bit)
5% Packet Loss
Total Energy Goodput
SACK512
RENO512 & NEWRENO512
SACK1500
RENO1500RENO512 & NEWRENO512
SACK512
SACK1500
NEWRENO1500RENO1500
Average RTT(msec) Average RTT(msec)
Goo
dput
(K
bps)
Tot
al E
nerg
y (J
oule
s *
e-6/
Bit)
TCP Reno, Newreno and SACK (Thruput)
SACK
Newreno
Reno
Time
Th
rup
ut
(bp
s)
Average Thruput: 5% Packet Loss, MTU 1500
10% Packet Loss
Total Energy Idealized Energy
Average RTT(msec) Average RTT(msec)
SACK1500
NEWRENO1500
SACK512
SACK1500
NEWRENO512
Tota
l E
nerg
y (
Jou
les
* e-6
/Bit
)
Idealiz
ed
Energ
y (
Joule
s *
e-6
/Bit
)
Loss Experiment Summary - (mtu 512)
1% Loss 5% Loss 10% Loss
Goodput SACK SACK SACK
Total Energy SACK SACK SACK
Idealized Energy
Reno Newreno Newreno
Packet Reordering
Parameters Values
Average RTT Packet Loss Reorder Packet MTU Size RTS/CTS Protocols
15, 40, 70, 100, 130 msec None 1% and 5% packets reordered 512 and 1500 bytes ON, OFF Reno, Newreno, and SACK
Goodput : Packet Reordering
Average RTT(msec) Average RTT(msec)
Goodpu
t (K
bps)
Goodpu
t (K
bps)
NEWRENONEWRENO
SACK512 & 1500 SACK
1500
1500512
512 1500
512
1% Packet reorder 5% Packet reorder
1% Packet Reordering
Total Energy Idealized Energy
Average RTT(msec) Average RTT(msec)
SACK512
RENO512
NEWRENO512 RENO512
NEWRENO512
SACK512
Tota
l E
nerg
y (
Jou
les
* e-6
/Bit
)
Idealiz
ed
Energ
y (
Joule
s *
e-6
/Bit
)
5% Packet Reordering
Total Energy Idealized Energy
Average RTT(msec) Average RTT(msec)
NEWRENO512
NEWRENO1500
SACK512 & 1500
RENO
1500512
NEWRENO
1500512
SACK512 & 1500
Tota
l E
nerg
y (
Jou
les
* e-6
/Bit
)
Idealiz
ed
Energ
y (
Joule
s *
e-6
/Bit
)
Discussion SACK outperforms in most of the cases (Burst
Loss, Random uniform Loss and Packet Reordering)
Does SACK help YES/NO Higher Goodput at the cost of extra processing
SACK has higher Idealized Energy
Discussion contd.’En
erg
y (
Jou
les
* e-6
/Bit
)
Goodput (Kbps)
E α 1/ζ
Total Energy vs Goodput
• Energy α 1 / Goodput
• Idealized Energy is a factor of Protocol
Discussion contd.’
% Loss
Avera
ge N
um
ber
of
Tim
eouts
Timeouts (Loss case)
SACK1500
RENO512
NEWRENO512
SACK512
• At higher loss all protocols perform alike
• SACK512 leads to lesser timeouts
• SACK - No timeout in reordering case, Reno > Newreno
TCP Energy based on simulation We measured energy using a wireless test-bed
and a real TCP/IP stack (FreeBSD)
Metrics considered were Total Energy, ratio of successful transmission to total number of transmission Total as well as Idealized energy (Processing
energy)
Related Work
Conclusion Awake Energy α 1 / Goodput
Idealized Energy is a factor of Complexity of the Protocol
Channel conditions are important in selection of particular Protocol
SACK is not suitable for nodes with low Idle Energy
SACK has lower Total Energy and Idealized Energy under Packet reordering