48
March 24, 2006 1 Joint Optimization of Scheduling and Congestion Control in Communication Networks Matthew Andrews Bell Labs

Joint Optimization of Scheduling and Congestion Control in Communication Networks

  • Upload
    elisa

  • View
    22

  • Download
    2

Embed Size (px)

DESCRIPTION

Joint Optimization of Scheduling and Congestion Control in Communication Networks. Matthew Andrews Bell Labs. Congestion control and scheduling. Inj rate x2. S2. Scheduling: Decide which data should be served at each internal queue Congestion control - PowerPoint PPT Presentation

Citation preview

Page 1: Joint Optimization of Scheduling and Congestion Control in Communication Networks

March 24, 2006 1

Joint Optimization of Scheduling and Congestion Control in

Communication Networks

Matthew AndrewsBell Labs

Page 2: Joint Optimization of Scheduling and Congestion Control in Communication Networks

2

S1S2

t2

S3

t3 t1

Congestion control and scheduling

Scheduling: Decide which data should

be served at each internal queue

Congestion control Decide how much data

should be injected into each flow

i.e. choose x1, x2, x3

Inj rate x2

Inj rate x3Inj rate x1

Page 3: Joint Optimization of Scheduling and Congestion Control in Communication Networks

3

S1S2

t2

S3

t3 t1

Wireline networks

In wireline networks, scheduling and congestion control are typically only loosely coupled

Scheduling: Simple FIFO is often used No dependence on flow rates

Congestion control TCP only uses coarse info from

scheduler, e.g. RTTs, packet losses TCP operates without knowledge of

exact scheduling algorithm used

Inj rate x1

Inj rate x2

Inj rate x3

Page 4: Joint Optimization of Scheduling and Congestion Control in Communication Networks

4

Wireless networks

This talk: Three benefits to a tighter

coupling of scheduling and congestion control in wireless networks

Pointer to algorithm that achieves this coupling

Page 5: Joint Optimization of Scheduling and Congestion Control in Communication Networks

5

Congestion Control

Does it make sense to talk about alternatives to TCP?

In wireless networks… maybe… 3G networks employ proprietary congestion control

over the wireless link (e.g. www.venturiwireless.com)

Non-TCP based congestion control could be used in a self-contained ad-hoc network

Page 6: Joint Optimization of Scheduling and Congestion Control in Communication Networks

6

Congestion Control

One well known issue with TCP that I won’t discuss…

In wireless networks, TCP interprets losses due to interference as congestion and backs off too much

Well-studied issue Well-known solutions

Snoop protocol ( Balakrishnan, Seshan, Amir, Katz)

Loss prevention (FEC, HARQ, DARQ, link-level retransmissions etc.)

Page 7: Joint Optimization of Scheduling and Congestion Control in Communication Networks

7

Joint Congestion Control + Scheduling

Three benefits of joint congestion control + scheduling in wireless networks

1. Enables effective buffer sizing. Prevents excessive queue buildups.

2. Prevents conflicts between rate allocation due to congestion control and rate allocation due to link scheduler

3. Allows for network utility maximization, even in presence of complex queueing dynamics

(Applies to wireline as well as wireless networks)

Page 8: Joint Optimization of Scheduling and Congestion Control in Communication Networks

8

1. Buffer sizing

Standard rule for buffer sizing in wireline networks Buffer size = bandwidth delay product (BDP) Enables full utilization of link rate

In wireless networks BDP ill defined due to variable link bandwidth

Buffer sizing difficult Buffer too small – don’t utilize bandwidth when link rate is

high Buffer too large – excessive delays when link rate is low

link rate C(t)

end2end prop delay

d

Page 9: Joint Optimization of Scheduling and Congestion Control in Communication Networks

9

1. Buffer sizing example

Two link rates, 1Mbps and 20kbps 35KB buffer = 1Mbps x 280ms = 20kbps x 14s Downlink packet latencies for download of CNN homepage

1Mbps20kbps

1s 10s

Page 10: Joint Optimization of Scheduling and Congestion Control in Communication Networks

10

1. Buffer sizing

Another example Chakravorty and Pratt (2002) observed queues >30s in

GPRS networks Leads to unacceptable delays for other flows sharing same

buffer

What would be better? Have large buffers to deal with high bandwidth case Recognize when link has low bandwidth

Make sure congestion control does not send too much data in this case

Page 11: Joint Optimization of Scheduling and Congestion Control in Communication Networks

11

service rate vector(r1(t),…,rn (t))

ri (t)

rj (t)

t

Opportunistic scheduling At each time step, pick one user to serve If user i chosen, serve at rate ri (t) Ri (t) = ave service rate to user i

2. Scheduling vs congestion control

Page 12: Joint Optimization of Scheduling and Congestion Control in Communication Networks

12

service rate vector(r1(t),…,rn (t))

ri (t)

rj (t)

t

Proportional Fair wireless scheduling algorithm At each time step, serve user argmax ri (t) / Ri (t) Aim is to maximize i log Ri (t)

2. Scheduling vs congestion control

Page 13: Joint Optimization of Scheduling and Congestion Control in Communication Networks

13

2. Scheduling vs congestion control

Conflict between scheduling and cong. control!!

Link scheduler tries to do optimal rate allocation among flows E.g. Prop Fair aims to maximize i log Ri

TCP also tries to do rate allocation among flows Whenever RTTs are low, TCP increases sending rate to try and get more bandwidth But TCP can’t get more bandwidth than wireless link scheduler allows All we get are bigger queues

R1 R2

R3

Rates provided by Prop Fair

Page 14: Joint Optimization of Scheduling and Congestion Control in Communication Networks

14

2. Scheduling vs congestion control

Better solution Scheduling and congestion control work jointly to find

optimal rate allocation

Page 15: Joint Optimization of Scheduling and Congestion Control in Communication Networks

15

3. Network Utility Maximization

Wireline networks

max Ui(xi)

subject to .

Q i xi cQ

xi = inj rate into path i cQ = capacity of server Q Ui(.) = utility function (e.g. log)

Kelly-Maulloo-Tan, Low-Lapsley, Low-Peterson-Wang… “TCP is a primal dual algorithm for solving this problem”

S1 server A

S2

t2

server B

S3

t3

t1

Page 16: Joint Optimization of Scheduling and Congestion Control in Communication Networks

16

Kelly, Maulloo, Tan

Example

: ( )

( )

2

( ) ( ) ( )

( ) ( )

( ) ( 1 ) /

i i i QQ i S Q

Q Q ii S Q

Q

x t w x t t

t p x t

p y y

xi (t) = injection rate into flow i at time t pQ = price for congestion at router Q

Page 17: Joint Optimization of Scheduling and Congestion Control in Communication Networks

17

3. Network Utility Maximization

Wireless networks

max Ui(xi)

subject to .( …, xi , … ) C

C = system capacity region (convex) Depends on power assignments, interference etc.

Chiang Joint power control and congestion control for solving problem

Page 18: Joint Optimization of Scheduling and Congestion Control in Communication Networks

18

3: Convergence vs oscillations

S1 Server A

S2

t2

S3

t3

t1

Prior work: Congestion of server Q = F(injection rates of flows that use Q) For example, congestion is signaled before queues buildup

(e.g. via ECN) Arrival rate of flow at server = flow injection rate Allows for convergence results

Server B

Inj rate x2 Inj rate x3

Inj rate x1Cong at server A

= x1 + x2

Page 19: Joint Optimization of Scheduling and Congestion Control in Communication Networks

19

3: Convergence vs oscillations

A-Slivkins (Infocom 06) Suppose congestion causes queue buildups Flow arrival rate at server not necessarily equal to flow

injection rate Do convergence results still hold?

S1S2

t2

S3

t3 t1

Page 20: Joint Optimization of Scheduling and Congestion Control in Communication Networks

20

3: Sending rates vs arrival rates

due to queues that are upstream,in general arrival rates arr1(t), arr2(t), arr3(t)are different from sending rates inj1(t), inj2(t), inj3(t)

Suppose we use the true arrival rates i.e. cong = arr1(t) + arr2(t) + arr3(t)

server

S1 S3

t1 t2 t3

S2

arri(t)

inji(t)

Page 21: Joint Optimization of Scheduling and Congestion Control in Communication Networks

21

3: Convergence vs oscillations

Result: for any TCP-like congestion control mechanism,there exists a network of (wireline) servers and a set of flows such that starting from a certain initial state, system oscillates in a suboptimal state

at all times, for each server, the total sending rate

of all flows that use this server is less than its capacity

at all times, for each server, the total sending rate

of all flows that use this server is less than its capacity

Page 22: Joint Optimization of Scheduling and Congestion Control in Communication Networks

22

Joint scheduling + cong control How should we do joint scheduling

and congestion control?

Problem definition Model queues explicitly

When data served by one server, passes to next server on flow route

Design scheduling + cong control max Ui(xi)

subject to . All queues are stable

xjxi

Page 23: Joint Optimization of Scheduling and Congestion Control in Communication Networks

23

Joint scheduling + cong control Greedy Primal Dual Algorithm (Stolyar)

Simple version Flow Routes are given Set of routes to destination d form

rooted tree At most 1 pckt into each flow per

time step Per destination queues

Qv,d = amount of dest d data at node i

nv,d = next hop for Qv,d data rv,w(t) = data rate between nodes v,w

xjxi

Page 24: Joint Optimization of Scheduling and Congestion Control in Communication Networks

24

Joint scheduling + cong control Greedy Primal Dual Algorithm (Stolyar)

Scheduling Node v serves data from queue

that maximizes(Qv,d – Qnv,d,d) rv, nv,d

(t)

Scheduling Flow i injects a packet whenever

U’(xi(t)) – b.Qibegin < 0

b = small parameter

Qibegin = first queue on path of flow i

xjxi

Page 25: Joint Optimization of Scheduling and Congestion Control in Communication Networks

25

Joint scheduling + cong control Greedy Primal Dual Algorithm

(Stolyar)

Solves the utility maximization problem max Ui(xi)

subject to . All queues are stable

Works for wireless networks Joint scheduling and cong control

Collaboration via queues sizes Do not get excessive queue buildup

Scheduling creates “backpressure”

xjxi

Page 26: Joint Optimization of Scheduling and Congestion Control in Communication Networks

26

Conclusions

Three reasons why joint scheduling and congestion control make sense in wireless networks

Sketched one possible method for doing this (Stolyar) Related work due to Eryilmaz-Srikant and Neely-

Modiano-Li

Page 27: Joint Optimization of Scheduling and Congestion Control in Communication Networks

27

Conclusions Implementation issues?

Need communication between scheduler and cong control E.g. in Greedy Primal Dual algorithm, need to exchange

queue sizes between neighbors For wireless networks, need to exchange channel state

information for optimal throughput Could piggyback queue state info on channel state info

Different channel models? Optimality of Greedy Primal Dual proved for stationary

channels What about adversarial channels?

Page 28: Joint Optimization of Scheduling and Congestion Control in Communication Networks

28

Backup slides Oscillating example of A-Slivkins 2006.

Page 29: Joint Optimization of Scheduling and Congestion Control in Communication Networks

29

??

Parameterized congestion control

sender detects congestion using feedback from receiver yes decrease sending rate; no increase sending rate

S t

no congestion: all queues are empty

S t

congestion: at least one queue is non-empty

Page 30: Joint Optimization of Scheduling and Congestion Control in Communication Networks

30

The basic gadget: high-level idea

Q1 Q4Q2 Q3S t

Q1 Q4Q2 Q3S tfinish1

1capacity 1<1 <1

Q1 Q4Q2 Q3S t1

start

Page 31: Joint Optimization of Scheduling and Congestion Control in Communication Networks

31

The basic gadget: animation

Q1 Q4Q2 Q3S t

1capacity 1<1 <1

S’

t’

init rate 0

init rate 0

init rate

init rate

1

Page 32: Joint Optimization of Scheduling and Congestion Control in Communication Networks

32

Q1 Q4Q2 Q3S t

1capacity 1<1 <1

The basic gadget: animation

S’

t’

rate = 0rate = 0

init rate

init rate

Page 33: Joint Optimization of Scheduling and Congestion Control in Communication Networks

33

Q1 Q4Q2 Q3S t

1capacity 1<1 <1

The basic gadget: animation

S’

t’

rate = 0rate = 0

rate rate

Page 34: Joint Optimization of Scheduling and Congestion Control in Communication Networks

34

Q1 Q4Q2 Q3S t

1capacity 1<1 <1

The basic gadget: animation

S’

t’

rate = 0rate = 0

rate = 0

rate = 0

1

Page 35: Joint Optimization of Scheduling and Congestion Control in Communication Networks

35

Q1 Q4Q2 Q3S t

1capacity 1<1 <1

The basic gadget: animation

S’

t’

rate = 0rate = 0

rate rate

Page 36: Joint Optimization of Scheduling and Congestion Control in Communication Networks

36

Connect two gadgets

identify Q4 from one gadget with Q1 from another

1 42 3

1 42 3

before

after 1 2 3 1 42 3

Page 37: Joint Optimization of Scheduling and Congestion Control in Communication Networks

37

Row of gadgets

1 2 3 1 2 3 1 2 3 1 2 3S1 t1

fluid eventually reaches its destination, and the process stopsnot too exciting!

fluid eventually reaches its destination, and the process stopsnot too exciting!

Page 38: Joint Optimization of Scheduling and Congestion Control in Communication Networks

38

Row of gadgets

1 2 3 1 2 3 1 2 3 1 2 3S1 t1

a better processa better process

Page 39: Joint Optimization of Scheduling and Congestion Control in Communication Networks

39

Row of gadgets

1 2 3 1 2 3 1 2 3 1 2 3S1 t1

refill

a better processa better process

and now a refill happensand now a refill happens

Page 40: Joint Optimization of Scheduling and Congestion Control in Communication Networks

40

Row of gadgets

1 2 3 1 2 3 1 2 3 1 2 3S1 t1

refill

a better processa better process

... and so on... and so on

Page 41: Joint Optimization of Scheduling and Congestion Control in Communication Networks

41

Rows of gadgets

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

each row is running the same process, shifted in timeeach row is running the same process, shifted in time

Page 42: Joint Optimization of Scheduling and Congestion Control in Communication Networks

42

Rows of gadgets

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

refill

refill

refill

each row is running the same process, shifted in timeeach row is running the same process, shifted in time

now a refill happensnow a refill happens

Page 43: Joint Optimization of Scheduling and Congestion Control in Communication Networks

43

Rows of gadgets

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

refill

... and so on... and so on

Wait a sec... how do the refills happen ???Wait a sec... how do the refills happen ???

Page 44: Joint Optimization of Scheduling and Congestion Control in Communication Networks

44

Refills and vertical sessions

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

1 2 3 1 2 3 1 2 3 1 2 3S4 t4

rate >0

rate >0

Page 45: Joint Optimization of Scheduling and Congestion Control in Communication Networks

45

Refills and vertical sessions

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

1 2 3 1 2 3 1 2 3 1 2 3S4 t4

rate >0

rate >0

Page 46: Joint Optimization of Scheduling and Congestion Control in Communication Networks

46

Refills and vertical sessions

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

1 2 3 1 2 3 1 2 3 1 2 3S4 t4

rate >0

rate >0

Page 47: Joint Optimization of Scheduling and Congestion Control in Communication Networks

47

Refills and vertical sessions

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

1 2 3 1 2 3 1 2 3 1 2 3S4 t4

rate rate

Page 48: Joint Optimization of Scheduling and Congestion Control in Communication Networks

48

Refills and vertical sessions

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

1 2 3 1 2 3 1 2 3 1 2 3

S1

S2

S3

t1

t2

t3

1 2 3 1 2 3 1 2 3 1 2 3S4 t4

rate = 0rate = 0

refilled !!!refilled !!!