Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

49
Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi- Hop Wireless Network Thesis Defense of Harkirat Singh

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 Presentation

Transcript of Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Page 1: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Thesis Defense of

Harkirat Singh

Page 2: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion

Page 3: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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?

Page 4: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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]

Page 5: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 6: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 7: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 8: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 9: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 10: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Evolution of cwnd

Time

Outs

t and

i ng

D ata

Page 11: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 12: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 13: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 14: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 15: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 16: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Evolution of ACK received by TCP-SAC Sender  

Time

Sequ

ence

Num

ber

3 dup_ack

Page 17: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

TCP Protocols Summary

Partial

ACKRecv holes

detailsModified Recv

RENO NO NO NO

NEWRENO YES NO NO

SACK YES YES YES

Page 18: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion

Page 19: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Energy consumption of a node

Idle Current Consumption Pidle

Idle Period

Packet Reception + Processing Packet Processing + Transmission

Time

Cur

ren t

PRX

PTX

Page 20: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 21: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 22: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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!!

Page 23: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Evolution of TCP Sequence

Idle connection

Time

Sequ

ence

Nu

mbe

r

Page 24: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion

Page 25: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 26: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 27: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 28: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 29: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Energy Consumed by Node

Idealized Energy

Total Energy

Simultaneous measurement ofEnergy consumed by the radio

Time (msec)

Curre

nt (m

A)

Page 30: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 31: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Outline Motivation TCP Mechanism Energy Model Experiment Methodology Experiment Results Conclusion

Page 32: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 33: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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)

Page 34: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 35: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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)

Page 36: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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)

Page 37: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

TCP Reno, Newreno and SACK (Thruput)

SACK

Newreno

Reno

Time

Thru

put (

bps)

Average Thruput: 5% Packet Loss, MTU 1500

Page 38: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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)

Page 39: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 40: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 41: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 42: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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)

Page 43: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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)

Page 44: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 45: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 46: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 47: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 48: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

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

Page 49: Analysis of Energy Consumption of TCP Reno, Newreno, and SACK in Multi-Hop Wireless Network

Thank You