cs540/te630 computer network architecture spring 2009

47
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon

Upload: rafer

Post on 23-Feb-2016

29 views

Category:

Documents


0 download

DESCRIPTION

CS540/TE630 Computer Network Architecture Spring 2009. Tu / Th 10:30am-Noon Sue Moon. TCP. What do you remember from undergrad networking courses?. Questions. How does TCP detect loss? Do all packets arrive in order? If not, why? If not, how does TCP detect out-of-order packets?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS540/TE630 Computer Network Architecture Spring 2009

CS540/TE630Computer Network Architecture

Spring 2009

Tu/Th 10:30am-NoonSue Moon

Page 2: CS540/TE630 Computer Network Architecture Spring 2009

TCP

What do you remember from undergrad networking courses?

Page 3: CS540/TE630 Computer Network Architecture Spring 2009

Questions

How does TCP detect loss? Do all packets arrive in order?

If not, why? If not, how does TCP detect out-of-order packets?

Page 4: CS540/TE630 Computer Network Architecture Spring 2009

Congestion Control

Other Variables?

Page 5: CS540/TE630 Computer Network Architecture Spring 2009

Congestion Avoidance and Control

Van Jaconson1988

Page 6: CS540/TE630 Computer Network Architecture Spring 2009

Introduction

The first congestion collapse in the Internet Between LBL and UCB, the throughput dropped

from 32 Kbps to 40 bps

New algorithms proposed to fix the problem in 4.3BSD (Berkeley Unix) TCP

Page 7: CS540/TE630 Computer Network Architecture Spring 2009

New Algorithms

Round-trip time variance estimation Exponential retransmit timer backoff Slow-start More aggressive receiver ack policy Dynamic window sizing on congestion Karn’s clamped retransmit backoff Fast retransmit

Not covered in this paper

Page 8: CS540/TE630 Computer Network Architecture Spring 2009

When congestion collapses occur

Conservation of packets principle Running stably with a full window of data in transit

Three ways for packet conservation to fail The connection doesn’t get to equilibrium New packets are injected before old ones has exited The equilibrium can’t be reached due to resource

limits

Page 9: CS540/TE630 Computer Network Architecture Spring 2009

Slow-start

Self-clocking Acks are generated no faster than data packets

Page 10: CS540/TE630 Computer Network Architecture Spring 2009

Slow-start (cont’d)

How to start at the beginning? Exponentially increased window size

Simple changes to TCP Keep cwnd per connection Set cwnd to 1 when (re)starting Increase cwnd by 1 on each ack Send min(cwnd, rwnd)

Page 11: CS540/TE630 Computer Network Architecture Spring 2009

Effect of Slow-start

Without Slow-start With Slow-start

Available bandwidth Available

bandwidth

Page 12: CS540/TE630 Computer Network Architecture Spring 2009

Round-trip timing

Estimating mean round trip time (in RFC 793)

Retransmit timeout

MRR )1(

average RTT esti-mate

filter gain constant(suggested value: 0.9)

most recent RTT measure-ment

Rrto RTT variation(suggested value: 2)

Page 13: CS540/TE630 Computer Network Architecture Spring 2009

Estimating variation

Proposed method Using mean deviation that is much easier to com-

pute than standard deviation ( = measurement)

)|(| vErrgvvgErraaamErr

m

Page 14: CS540/TE630 Computer Network Architecture Spring 2009

Timer improvement

RFC 793 retransmit timer

Mean+Variance retransmit timer

TimerTimer

Page 15: CS540/TE630 Computer Network Architecture Spring 2009

Congestion avoidance

Two parts in congestion avoidance Signal that notifies endpoints when congestion is

occurring• Timeout event indicates that network is congested

Policy that decreases utilization when signal is re-ceived

• Multiplicative decrease of window size on congestion

• Additive increase on no congestion

)1( 1 ddWW ii

)( max1 WuuWW ii

Page 16: CS540/TE630 Computer Network Architecture Spring 2009

Slow-start & congestion avoidance

Combined algorithm Ssthresh is kept to switch between the two algo-

rithms When new data is acked,

Page 17: CS540/TE630 Computer Network Architecture Spring 2009

Effect of congestion avoidance (1)

Multiple conversation test setup

► 1 Mbyte transfers

► One conversation per pair (4 conversations overall)

Page 18: CS540/TE630 Computer Network Architecture Spring 2009

Effect of congestion avoidance (2)

Without congestion avoid-ance

With congestion avoidance

Each line represents each conversation

Page 19: CS540/TE630 Computer Network Architecture Spring 2009

Effect of congestion avoidance (3)

Total bandwidth usage

No congestion avoidance

congestion avoid-ance

Page 20: CS540/TE630 Computer Network Architecture Spring 2009

Effect of congestion avoidance (4)

Effective bandwidth

No congestion avoidance

congestion avoid-ance

Page 21: CS540/TE630 Computer Network Architecture Spring 2009

Future Work:Gateway side of congestion control

Algorithms at endpoints cannot insure fair sharing

However, gateways have enough information to control sharing and fair allocation Gateways signal endpoints as early as possible

while not getting starved for traffic

Page 22: CS540/TE630 Computer Network Architecture Spring 2009

Summary

Congestion collapses brought serious performance degradation to the original TCP

New algorithms were proposed to deal with the problem Slow-start Appropriate retransmit timer Congestion avoidance Etc.

Page 23: CS540/TE630 Computer Network Architecture Spring 2009

Analysis of the Increase and Decrease Algo-rithms for Congestion Avoidance

in Computer Networks

Spring 2009 CS540/TE630 Computer Network Architecture

Computer Networks and ISDN Systems 1989

Dah-Ming CHIU and Raj JAIN

Page 24: CS540/TE630 Computer Network Architecture Spring 2009

Outline

Motivation Problem Definition Model Feasible linear controls Optimizing the control schemes Discussion

Page 25: CS540/TE630 Computer Network Architecture Spring 2009

Motivation

Throughput increaseResponse time

Throughput stop increasingResponse time increase

Throughput decreaseResponse time increase

Congestion control

Congestion avoidance

Page 26: CS540/TE630 Computer Network Architecture Spring 2009

Problem Definition

network

feedback(0/1)

0 : underflow1 : overflow

feedback(0/1) feedback

(0/1)

Increase or decrease load

Increase or decrease load

Increase or decrease loadDifferent increase / decrease algo-

rithms performance(efficiency / fairness)???

Page 27: CS540/TE630 Computer Network Architecture Spring 2009

Model (1)

bottleneckaround knee

user i’s network load

Binary feedback (0/1)

Page 28: CS540/TE630 Computer Network Architecture Spring 2009

Model (2)

loadincreaseloaddecerasety _0

_1)(

))(),(()()1( tytxftxtx iii

)(0)(,)(1)(,

)()()1( increasety

decreasetyitxbatxba

iII

iDDtx

Page 29: CS540/TE630 Computer Network Architecture Spring 2009

Model (3)

Linear control models Multiplicative x(t+1) = b x(t) Additive x(t+1) = a + x(t) Example

• Additive increase, multiplicative decrease

)(0)(,)(1)(,

)()()1( increasety

decreasetyitxatxbiI

iDtx

)(0)(,)(1)(,

)()()1( increasety

decreasetyitxbatxba

iII

iDDtx

Page 30: CS540/TE630 Computer Network Architecture Spring 2009

Criteria Efficiency

closeness of the total load on the resource to the knee point

Fairness Equal share of bandwidth

Distributedness Knowledge of the state of

the system

Convergence Responsiveness Smoothness

Page 31: CS540/TE630 Computer Network Architecture Spring 2009

Linear controls

x1 = x2

x1 + x2 = Xgoal

additive in-crease/decrease

multiplicativeincrease/de-

crease

)(2)(

22

21

221

xxxxFairness

Page 32: CS540/TE630 Computer Network Architecture Spring 2009

Examples of linear control

Additive increaseMultiplicative de-crease

Additive in-creaseAdditive de-crease

Page 33: CS540/TE630 Computer Network Architecture Spring 2009

Convergence to Efficiency

Negative feedback )()1(0)( txtxty ii

)()1(1)( txtxty ii

0)()1( txbna iII

0)()1( txbna iDD )(txandn i

)(1

)(1

txnab

txnab

i

DD

i

II

)(txandn i

Page 34: CS540/TE630 Computer Network Architecture Spring 2009

Convergence to Fairness (1)

)))((

)(1()))((1())((

))(())((

))(())((

))1(())1((

))1((

2

2

2

2

2

2

2

2

txcntx

txFtxF

bacwhere

txcntxc

tbxantbxa

txntx

txF

i

i

i

i

i

i

i

i

C ≥ 0 : non-decrease of fairnessC = 0 : same fairness stayRequire C < 0 for either increase or decrease policy

Page 35: CS540/TE630 Computer Network Architecture Spring 2009

Convergence to Fairness (2)

Require C(= ) < 0 for either increase or decrease policyba

Fairness goes up during de-crease, goes up or stay during increase

Fairness goes up during in-crease, goes up or stay during decrease

00

00

D

D

I

I

D

D

I

I

baand

baor

baand

ba

Page 36: CS540/TE630 Computer Network Architecture Spring 2009

Convergence toEfficiency and Fairness

00

00

D

D

I

I

D

D

I

I

baand

baor

baand

ba

)(1

)(1

txnab

txnab

i

DD

i

II

)(txandn i

10,0,0,0

ID

II

baba aI and bI not

be both zero

aI and aD not be both zero

Page 37: CS540/TE630 Computer Network Architecture Spring 2009

Distributedness

We don’t know

')(''' txandn i

)(1

)(1

txnab

txnab

i

DD

i

II

)(txandn i

)()1(0)( txtxty ii

)()1(1)( txtxty ii

0)()1( txbna iII

0)()1( txbna iDD )(txandn i

)()1(1)()()1(0)(txtxtytxtxty

ii

ii

0)()1(0)()1(

txbatxba

iDD

iII

0)( txi

10,0,1,0

ID

II

baba

Page 38: CS540/TE630 Computer Network Architecture Spring 2009

Conclusion about feasible linear control

Increasing policy must have Additive component, must have multiplicative component with no less one

Decreasing policy must be multiplicative

10,0,1,0

ID

II

baba

Page 39: CS540/TE630 Computer Network Architecture Spring 2009

Vectorial Representation (1)

x1 + x2 = xh

Assume overload network (in case of de-creasing)

Page 40: CS540/TE630 Computer Network Architecture Spring 2009

Vectorial Representation (2)

Convergence to Efficiency

b>1

b<1

a<0a>0

a<0 b<1

Convergence to Fairness

Higher fairness than xh

Page 41: CS540/TE630 Computer Network Architecture Spring 2009

Vectorial Representation (3)

Intersection of Efficiency and Fairness

Decrease must be multiplica-

tive

Page 42: CS540/TE630 Computer Network Architecture Spring 2009

Vectorial Representation (4)

Increase have - additive component- multiplicative compo-nent less than 1

Page 43: CS540/TE630 Computer Network Architecture Spring 2009

Optimizing the convergence

Time to converge to efficiency Responsiveness, te

Oscillation size Smoothness, se

Page 44: CS540/TE630 Computer Network Architecture Spring 2009

Optimal convergence to Efficiency

ix X wherebX(t) na 1)X(t

From initial state X(0) to Xgoal

0,)0(

0,)log(

))0()1(

)1(log(

banXX

bbXbanXban

t

goal

goal

e

|)1(| goale Xbans

Monotonically decreas-ing function of a and b

Monotonically increas-ing function of a and b

Page 45: CS540/TE630 Computer Network Architecture Spring 2009

Optimal convergence to Fairness

Improvement of Fairness Increased with larger c (= ) larger a, smaller b

ba

10,0,1,0

ID

II

baba

Increasing process : additiveDecreasing process : multi-plicative

From

Decreasing processFairness will stay

Increasing processSmaller b bI = 1

Page 46: CS540/TE630 Computer Network Architecture Spring 2009

Practical consideration

Scaling parameters are not easily gathered Human help

Resource allocation unit is integral Buffers, windows… Rounding off violation of convergence condition

Ease of implementation Multiplication, exponentiation

Page 47: CS540/TE630 Computer Network Architecture Spring 2009

Future works

Affect of delayed feedback Increased bits of feedback If one can know current number of user n? Impact of asynchronous operation