flow control kaist cs644 advanced topics in networking

51
1 Flow Control KAIST CS644 Advanced Topics in Networking Jeonghoon Mo <[email protected]> School of Engineering Information and Communications University

Upload: plato-benton

Post on 30-Dec-2015

36 views

Category:

Documents


0 download

DESCRIPTION

Flow Control KAIST CS644 Advanced Topics in Networking. Jeonghoon Mo School of Engineering Information and Communications University. Acknowledgements. Part of slides is from tutorial of R. Gibbens and P. Key at SIGCOMM 2000 S. Low’s OFC presentation. Overview. Problem - PowerPoint PPT Presentation

TRANSCRIPT

1

Flow Control KAIST CS644

Advanced Topics in Networking

Jeonghoon Mo<[email protected]>

School of EngineeringInformation and Communications University

2Jeonghoon MoOctober 2004

Acknowledgements

Part of slides is from­ tutorial of R. Gibbens and P. Key at SIGCOM

M 2000­ S. Low’s OFC presentation

3Jeonghoon MoOctober 2004

Overview

Problem Objectives Kelly’s Framework - Wired Data Networks Extensions­ Quality of Service­ Wireless Network­ High Speed Network: Aggregated Flow

Control

4Jeonghoon MoOctober 2004

Problem

How to share the links bandwidth?

Flows share links:

5Jeonghoon MoOctober 2004

Problem

How to control the network to share the bandwidth efficiently and fairly?

6Jeonghoon MoOctober 2004

Link Model

Set of resources, J; set of routes, R A route r is a subset r J. Let

Capacity of resource j is Cj.

otherwise0

1 rjA jr

A’x c x 0

7Jeonghoon MoOctober 2004

A Few System Objectives

Max Throughput Max-min Fairness (Most Common) Proportional Fairness (Kelly) -Fairness (Mo, Walrand)

8Jeonghoon MoOctober 2004

Max System Throughput

Maximize: x(1) + x(2) + x(3)

x*= (0,6,6) maximizes the total system throughput.

However, user 1 does not get anything. => unfair

6 6x1x2 x3

Two links with capacity 6 Three users: 1,2,3 x(i) : bandwidth to user i x(1)+x(2) <= 6 x(1)+x(3) <= 6

9Jeonghoon MoOctober 2004

Max-Min Fairness

Most commonly used definition of fairness. Maximize Minimum of the x(i), recursively. x*= (3,3,3) is the max-min allocation.

However, user 1 uses more resources.

6 6x1x2 x3

10Jeonghoon MoOctober 2004

Proportional Fairness

Proposed by Frank Kelly Social Welfare: Sum of Utilities of Users Maximize the Social Welfare x*= (2,4,4) is the Proportional Fair Allocation. Can be generalized into “Utility Fairness”.

6 6x1x2 x3

i

ix )log(

11Jeonghoon MoOctober 2004

-Fairness

Generalized Fairness Definition System Objective:

includes proportional-fair, max-min-fair, max throughput­ = 0 : Maximum allocation (p=1)­ 1 : Proportional fair allocation ­ = 2 : TCP-fair allocation­ : Max-min fair allocation

(p=1)

Max i pix(1-)

1-

12Jeonghoon MoOctober 2004

-Fairness

Trade-off between Fairness and Efficiency­ Bigger favors Fairness­ Smaller favors Efficiency

(source: Is Fair Allocation Inefficient, INFOCOM 04)

13Jeonghoon MoOctober 2004

Fairness and Efficiency (Infocom 04)

Counter-Example

14

Algorithms

How to achieve those system objectives?

15Jeonghoon MoOctober 2004

Players

source­ controls its rate or window based on

(implicit or explicit) network feedback router (link)­ Generate (implicit) feedback or

controls packets

16Jeonghoon MoOctober 2004

Source Algorithm

TCP Vegas, RENO, ECN XCP

17Jeonghoon MoOctober 2004

Active Queue Management (AQM)

Priority Queue WFQ RED REM XCP Router

18

Kelly’s Model and Algorithm

19Jeonghoon MoOctober 2004

User: rate and utility

Each route has a user: if xr is the rate on route r, then the utility to user r is Ur(xr).

Ur() --- increasing, strictly concave, continuously differentiable on xr [0 , ) --- elastic traffic

Let C=(Cj, j J), x=(xr, r R) then Ax C.

20Jeonghoon MoOctober 2004

System problem

Maximize aggregate utility, subject to capacity constraints

0over

subject to

max

x

CAx

xURr

rr

21Jeonghoon MoOctober 2004

User problem

User r chooses an amount to pay per unit time wr, and receives in return a flow xr = wr/r

0over

max

w

wwU

r

r

r

rr

22Jeonghoon MoOctober 2004

Network problem

As if the network maximizes a logarithmic utility function, but with constants (wr, rR) chosen by the users

0over

subject to

logmax

x

CAx

xwRr

rr

23Jeonghoon MoOctober 2004

Three optimization problems

SYSTEM(U,A,C)

USERr(Ur;r)

NETWORK(A,C;w)

24Jeonghoon MoOctober 2004

Decomposition theorem

There exist vectors , w and x such that

1. wr = rxr for r R

2. wr solves USERr(Ur; r)

3. x solves NETWORK(A, C; w)

The vector x then also solves SYSTEM(U, A, C).

25Jeonghoon MoOctober 2004

Thus the system problem may be solved by solving simultaneously the network and user problems

26Jeonghoon MoOctober 2004

Result

A vector x solves NETWORK(A, C; w) if and only if it is proportionally fair per unit charge

27Jeonghoon MoOctober 2004

Solution of network problem

Strategy: design algorithms to implement proportional fairness

Several algorithms possible: try to mimic design choices made in existing standards

28Jeonghoon MoOctober 2004

Primal algorithm

Rrjrrr ttxwtx

dtd

sjssjj txpt

:

29Jeonghoon MoOctober 2004

Interpretation of primal algorithm

Resource j generates feedback signals at rate j(t)

signals sent to each user r whose route passes through resource j

multiplicative decrease in flow xr at rate proportional to stream of feedback signals received

linear increase in flow xr at rate proportional to wr

30Jeonghoon MoOctober 2004

Related Work

Optimization Flow Control (S. Low) Window based Model (Mo, Walrand)

31Jeonghoon MoOctober 2004

Optimization Flow Control

Distributed algorithm to share network resources

Link algorithm: what to feed back­ RED

Source algorithm: how to react­ TCP Tahoe, TCP Reno, TCP Vegas

Source alg

Link alg

32Jeonghoon MoOctober 2004

Welfare maximization

Primal problem:

Capacity can be less than real link capacity

Primal problem hard to solve & does not adapt

Llcx

xU

lSsls

sss

Mxm sss

, subject to

)( max

)(

lc

33Jeonghoon MoOctober 2004

c1 c2

Model

Network: Links l each of capacity cl

Sources s: (L(s), Us(xs), ms, Ms)

L(s) - links used by source sUs(xs) - utility if source rate = xs

x1

x2

x3

sss Mxm

121 cxx 231 cxx

34Jeonghoon MoOctober 2004

Distributed Solution

Dual problem:

BW price along path of s

Given sources can max own benefit individually indeed primal optimal if is dual optimal Solve dual problem!

pD(p)

0min

s l

lls

s cppBpD )()(

p psl

l L s

( )

B p U x x pss

m x Ms s s

s

s s s

( ) ( )

max

ps

x pss( ) ps

35Jeonghoon MoOctober 2004

Dual problem:

Grad projection alg:

Update rule:

A distributed computation system to solve the dual problem by gradient projection algorithm

Distributed Solution (cont…)

D(p)p

min0

p t p t D p t( ) [ ( ) ( ( ))] 1

))(( )1(

)])(()([ )1(1' tpUtx

ctxtptps

ss

ll

ll

36Jeonghoon MoOctober 2004

Source Algorithm

Decentralized: Source s needs only and )(' ss xU ps

ps

x p U pss

ss( ) ( )'= - 1

37Jeonghoon MoOctober 2004

Router (Link) Algorithm

Decentralized Rule of supply and demand Any work-conserving service discipline Simple

)])(()([)1( ll

ll ctxtptp

aggregate source rate

38Jeonghoon MoOctober 2004

Random Exponential Marking (REM)

Source algorithm­ Identical but does not communicate source rate

Link algorithm­ At update time t, sets price to a fraction of buffer

occupancy:

Theorem: Synchronous convergence Under same conditions (with possibly smaller ) :

­ Price update maintains descent direction ­ Gradient estimate converge to true gradient­ Limit point is primal-dual optimal

39Jeonghoon MoOctober 2004

RED

­ Idea: early warning of congestion­ Algorithm

Link: Source (Reno):

Bqueue

marking

1

time

window

40Jeonghoon MoOctober 2004

RED

­ Idea: marks for estimation of shadow price­ Algorithm

Link Source

Global behavior of network of REM: stochastic gradient algorithm to solve dual problem

Q

queue

marking

1

1

fraction of marks

rate

41Jeonghoon MoOctober 2004

Window-based Model [Mo,Walrand]

x1 + x2 c1q1(c1 - x1 - x2) =

0w1 = x1 d1 + x1 q1 + x1 q2

xi 0, i = 1, 2, 3qi 0, i = 1, 2,

A’x c

Q(c - A’x) = 0w = X(d + qA)

c1 c2x1

x2 x3

q11

q12q23

q21

d1

d2 d3

w1

Q = diag{qi }; X = diag{xi }.

42Jeonghoon MoOctober 2004

Window-based AlgorithmTheorem:­[Mowlr98]

Then x(t) -> unique weighted -fair point x*

Proof:

The function (si /wi ) 2i is a Lyapunov function

Let dwi

dt = - k di si

ti witi := end-to-end delay

si := wi - xi di - pi

43Jeonghoon MoOctober 2004

Extensions

­ Aggregated Flow Control­ Quality of Service­ Wireless Network­ Maxnet and Sumnet

44Jeonghoon MoOctober 2004

Aggregate Flow Control

Motivations:­ High Capacity of Optical Fiber

Idea:­ player are core routers and access

routers.access router: regulates the rate of

aggregated flowcore router: provide feedbacks to access

routers

45Jeonghoon MoOctober 2004

Quality of Service

Only bandwidth is modeled. QoS is affected by­ loss and delay also

How to incorporate other parameters?

46Jeonghoon MoOctober 2004

Non-Convex Utility Function (Lee04)

Considered sigmoidal utility function

Non-convex optimization problem =>duality gap

(source: J. Lee et. al. Non-convexity Issues, INFOCOM 04)

47Jeonghoon MoOctober 2004

Non-Convex Utility Functions

(source: J. Lee et. al. Non-convexity Issues, INFOCOM 04)

Dual Algorithm withSelf-Regulating Property

With Self-Regulation

Without Self-Regulation

48Jeonghoon MoOctober 2004

Wireless Ad-Hoc Network [RAD04]

Physical Model:Rate r is an increasing function of SINR. MAC : Each time slot determines power pn,which determine

s rate xn

Routing matrix R and flow to path matrix F are given.

49Jeonghoon MoOctober 2004

Random Topology Results

100m x100m grid

12 random node, with 6 pairs of transmissions

50Jeonghoon MoOctober 2004

In the wireless Ad-hoc Networks

The max-min fair rate allocation of any network has all rates equal to the worst node.

The capacity maximization objective leads to starving users.

Proportional Fair Allocation give reasonable trade-off between fairness and efficiency.­ The worst node does not starve.

51Jeonghoon MoOctober 2004

MaxNet and SumNet

Source takes max(d1,d2,…, dN) in the maxnet architecture

Source takes sum(d1,d2,…,dN) in the sumnet architecture.

Source Destination Link 2 Link N Link 1

Si d2 d1 dN

Max