![Page 1: Joint Optimization of Scheduling and Congestion Control in Communication Networks](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/28.jpg)
28
Backup slides Oscillating example of A-Slivkins 2006.
![Page 29: Joint Optimization of Scheduling and Congestion Control in Communication Networks](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070410/5681469f550346895db3b6c2/html5/thumbnails/48.jpg)
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 !!!