Flow Control KAIST CS644 Advanced Topics in Networking

1 / 51

# Flow Control KAIST CS644 Advanced Topics in Networking - PowerPoint PPT Presentation

Flow Control KAIST CS644 Advanced Topics in Networking. Jeonghoon Mo &lt;[email protected]&gt; 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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Flow Control KAIST CS644 Advanced Topics in Networking' - plato-benton

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Flow Control KAIST CS644Advanced 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
• Objectives
• Kelly’s Framework - Wired Data Networks
• Extensions
• Quality of Service
• Wireless Network
• High Speed Network: Aggregated Flow Control
Problem

How to share the links bandwidth?

Problem
• How to control the network to share the bandwidth efficiently and fairly?
• Set of resources, J; set of routes, R
• A route r is a subset r J.
• Let
• Capacity of resource j is Cj.

A’x  c

x  0

A Few System Objectives
• Max Throughput
• Max-min Fairness (Most Common)
• Proportional Fairness (Kelly)
• -Fairness (Mo, Walrand)
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

6

x1

x3

x2

Max System Throughput
• 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
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

6

x1

x3

x2

Max-Min Fairness

6

6

x1

x3

x2

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”.

x(1-)

1-

Max i pi

-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)
-Fairness
• Trade-off between Fairness and Efficiency
• Bigger  favors Fairness
• Smaller  favors Efficiency

(source: Is Fair Allocation Inefficient, INFOCOM 04)

### Algorithms

How to achieve those system objectives?

Players
• source
• controls its rate or window based on (implicit or explicit) network feedback
• Generate (implicit) feedback or controls packets
Source Algorithm
• TCP Vegas, RENO, ECN
• XCP
Active Queue Management (AQM)
• Priority Queue
• WFQ
• RED
• REM
• XCP Router

### Kelly’s Model and Algorithm

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.
System problem
• Maximize aggregate utility, subject to capacity constraints
User problem
• User r chooses an amount to pay per unit time wr, and receives in return a flow xr = wr/r
Network problem
• As if the network maximizes a logarithmic utility function, but with constants (wr, rR) chosen by the users
Three optimization problems
• SYSTEM(U,A,C)
• USERr(Ur;r)
• NETWORK(A,C;w)
Decomposition theorem
• There exist vectors  , w and x such that
• wr = rxr for r  R
• wr solves USERr(Ur; r)
• x solves NETWORK(A, C; w)

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

Thus the system problem may be solved by solving simultaneously the network and user problems
Result
• A vector x solves NETWORK(A, C; w) if and only if it is proportionally fair per unit charge
Solution of network problem
• Strategy: design algorithms to implement proportional fairness
• Several algorithms possible: try to mimic design choices made in existing standards
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
Related Work
• Optimization Flow Control (S. Low)
• Window based Model (Mo, Walrand)
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

Welfare maximization

Primal problem:

• Capacity can be less than real link capacity
• Primal problem hard to solve & does not adapt

x1

c1

c2

x2

x3

Model
• Network: Links l each of capacity cl
• Sources s:(L(s), Us(xs), ms, Ms)

L(s) - links used by source s

Us(xs) - utility if source rate = xs

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!
Distributed Solution (cont…)
• Dual problem:
• Update rule:
• A distributed computation system to solve the dual problem by gradient projection algorithm
Source Algorithm

Decentralized: Source s needs only and

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

aggregate

source rate

Random Exponential Marking (REM)
• Source algorithm
• Identical but does not communicate source rate
• 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
• Limit point is primal-dual optimal
RED
• Idea: early warning of congestion
• Algorithm

marking

window

1

queue

time

B

rate

fraction

of marks

1

RED
• Idea: marks for estimation of shadow price
• Algorithm

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

marking

1

queue

Q

d1

q11

q21

w1

x1

c2

c1

x3

x2

q23

q12

d2

d3

A’x  c

Q(c - A’x) = 0

w = X(d + qA)

Window-based Model [Mo,Walrand]

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

xi  0, i = 1, 2, 3

qi  0, i = 1, 2,

x1+x2 c1

q1(c1 - x1 - x2) = 0

w1=x1d1 + x1 q1 + x1 q2

Window-based Algorithm

Theorem:[Mowlr98]

Let

dwi

si := wi - xi di - pi

di si

= - k

ti := end-to-end delay

dt

ti wi

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

Proof:

2

The function

(si /wi )

i

is a Lyapunov function

Extensions
• Aggregated Flow Control
• Quality of Service
• Wireless Network
• Maxnet and Sumnet
Aggregate Flow Control
• Motivations:
• High Capacity of Optical Fiber
• Idea:
• player are core routers and access routers.
• access router: regulates the rate of aggregated flow
• core router: provide feedbacks to access routers
Quality of Service
• Only bandwidth is modeled.
• QoS is affected by
• loss and delay also
• How to incorporate other parameters?
Considered sigmoidal utility function

Non-convex optimization problem =>duality gap

Non-Convex Utility Function (Lee04)

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

Non-Convex Utility Functions

Dual Algorithm with

Self-Regulating Property

Without Self-Regulation

With Self-Regulation

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

• Physical Model:Rate r is an increasing function of SINR.
• MAC : Each time slot determines power pn,which determines rate xn
• Routing matrix R and flow to path matrix F are given.
Random Topology Results

100m x100m grid

12 random node, with 6 pairs of transmissions