Loading in 5 sec....

Flow Control KAIST CS644 Advanced Topics in NetworkingPowerPoint Presentation

Flow Control KAIST CS644 Advanced Topics in Networking

Download Presentation

Flow Control KAIST CS644 Advanced Topics in Networking

Loading in 2 Seconds...

- 99 Views
- Uploaded on
- Presentation posted in: General

Flow Control KAIST CS644 Advanced Topics in Networking

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

Flow Control KAIST CS644Advanced Topics in Networking

Jeonghoon Mo

<jhmo@icu.ac.kr>

School of Engineering

Information and Communications University

- Part of slides is from
- tutorial of R. Gibbens and P. Key at SIGCOMM 2000
- S. Low’s OFC presentation

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

Flows share links:

How to share the links bandwidth?

- 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

- 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

- 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

6

6

x1

x3

x2

- 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

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

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

(source: Is Fair Allocation Inefficient, INFOCOM 04)

- Counter-Example

Algorithms

How to achieve those system objectives?

- source
- controls its rate or window based on (implicit or explicit) network feedback

- router (link)
- Generate (implicit) feedback or controls packets

- TCP Vegas, RENO, ECN
- XCP

- Priority Queue
- WFQ
- RED
- REM
- XCP Router

Kelly’s Model and Algorithm

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

- Maximize aggregate utility, subject to capacity constraints

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

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

- SYSTEM(U,A,C)
- USERr(Ur;r)
- NETWORK(A,C;w)

- 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

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

- Strategy: design algorithms to implement proportional fairness
- Several algorithms possible: try to mimic design choices made in existing standards

- 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

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

- 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

Primal problem:

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

x1

c1

c2

x2

x3

- 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

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!

- Dual problem:
- Grad projection alg:
- Update rule:
- A distributed computation system to solve the dual problem by gradient projection algorithm

Decentralized: Source s needs only and

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

aggregate

source rate

- 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

- Idea: early warning of congestion
- Algorithm
Link:Source (Reno):

marking

window

1

queue

time

B

rate

fraction

of marks

1

- Idea: marks for estimation of shadow price
- Algorithm
LinkSource

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)

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

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

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

- 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

- player are core routers and access routers.

- 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

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

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.

100m x100m grid

12 random node, with 6 pairs of transmissions

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

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