analysis of energy consumption of tcp reno, newreno, and sack in multi-hop wireless network
DESCRIPTION
Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network. Thesis Defense of Harkirat Singh. Outline. Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion. Motivation. Wireless devices need to be Reliable - PowerPoint PPT PresentationTRANSCRIPT
Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network
Thesis Defense of
Harkirat Singh
Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion
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
Cong
esti o
n W
i ndo
w
Evolution of cwnd
Time
Outs
t and
i ng
D ata
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
Evolution of ACK received by TCP-SAC Sender
Time
Sequ
ence
Num
ber
3 dup_ack
TCP Protocols Summary
Partial
ACKRecv holes
detailsModified Recv
RENO NO NO NO
NEWRENO YES NO NO
SACK YES YES YES
Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion
Energy consumption of a node
Idle Current Consumption Pidle
Idle Period
Packet Reception + Processing Packet Processing + Transmission
Time
Cur
ren t
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!!
Evolution of TCP Sequence
Idle connection
Time
Sequ
ence
Nu
mbe
r
Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion
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
PktPkt
Energy Consumed by Node
Idealized Energy
Total Energy
Simultaneous measurement ofEnergy consumed by the radio
Time (msec)
Curre
nt (m
A)
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
Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion
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
Ene
rgy
(Jou
les
* e-
6/B
it)
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
RENO512SACK1500
NEWRENO1500
Average RTT(msec) Average RTT(msec)
Total Energy Idealized Energy
Tota
l Ene
rgy
(Jou
les
* e-
6/B
it)
Idea
lized
Ene
rgy
(Jou
les
* e-
6/B
it)
5% Packet Loss
Total Energy Goodput
SACK512
RENO512 & NEWRENO512SACK1500
RENO1500RENO512 & NEWRENO512
SACK512
SACK1500
NEWRENO1500RENO1500
Average RTT(msec) Average RTT(msec)
Goo
dput
(Kbp
s)
Tota
l Ene
rgy
(Jou
les
* e-
6/B
it)
TCP Reno, Newreno and SACK (Thruput)
SACK
Newreno
Reno
Time
Thru
put (
bps)
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 T
otal
Ene
rgy
(Joul
es *
e-6/
Bit)
Idea
lized
Ene
rgy
(Joul
es *
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)
Good
put (
Kbps
)
Good
put (
Kbps
)
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
T
otal
Ene
rgy
(Joul
es *
e-6/
Bit)
Idea
lized
Ene
rgy
(Joul
es *
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
T
otal
Ene
rgy
(Joul
es *
e-6/
Bit)
Id
ealiz
ed E
nerg
y (Jo
ules
* e-
6/Bi
t)
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
ergy
(Jou
les *
e-
6/Bi
t)
Goodput (Kbps)
E α 1/ζ
Total Energy vs Goodput
• Energy α 1 / Goodput
• Idealized Energy is a factor of Protocol
Discussion contd.’
% Loss
Aver
age
Num
ber o
f Tim
eout
s
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
Thank You