Presentation is loading. Please wait.

Presentation is loading. Please wait.

March 24, 20061 Joint Optimization of Scheduling and Congestion Control in Communication Networks Matthew Andrews Bell Labs.

Similar presentations


Presentation on theme: "March 24, 20061 Joint Optimization of Scheduling and Congestion Control in Communication Networks Matthew Andrews Bell Labs."— Presentation transcript:

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

2 2 S1 S2 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

3 3 S1 S2 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

4 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

5 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)www.venturiwireless.com Non-TCP based congestion control could be used in a self- contained ad-hoc network

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

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

8 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

9 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 1Mbps 20kbps 1s10s

10 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

11 11 service rate vector (r 1 (t),…,r n (t)) r i (t) r j (t) t Opportunistic scheduling At each time step, pick one user to serve If user i chosen, serve at rate r i (t) R i (t) = ave service rate to user i 2. Scheduling vs congestion control

12 12 service rate vector (r 1 (t),…,r n (t)) r i (t) r j (t) t Proportional Fair wireless scheduling algorithm At each time step, serve user argmax r i (t) / R i (t) Aim is to maximize  i log R i (t) 2. Scheduling vs congestion control

13 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 R i 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 R1R1 R2R2 R3R3 Rates provided by Prop Fair

14 14 2. Scheduling vs congestion control Better solution Scheduling and congestion control work jointly to find optimal rate allocation

15 15 3. Network Utility Maximization Wireline networks max U i (x i ) subject to.  Q  i x i  c Q x i = inj rate into path i c Q = capacity of server Q U i (.) = 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

16 16 Kelly, Maulloo, Tan Example x i (t) = injection rate into flow i at time t p Q = price for congestion at router Q

17 17 3. Network Utility Maximization Wireless networks max U i (x i ) subject to. ( …, x i, … )  C C = system capacity region (convex) Depends on power assignments, interference etc. Chiang Joint power control and congestion control for solving problem

18 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 x2Inj rate x3 Inj rate x1 Cong at server A = x1 + x2

19 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? S1 S2 t2 S3 t3 t1

20 20 3: Sending rates vs arrival rates due to queues that are upstream, in general arrival rates arr 1 (t), arr 2 (t), arr 3 (t) are different from sending rates inj 1 (t), inj 2 (t), inj 3 (t) Suppose we use the true arrival rates i.e. cong = arr 1 (t) + arr 2 (t) + arr 3 (t) server S1S3 t1t2t3 S2 arr i (t) inj i (t)

21 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

22 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 U i (x i ) subject to. All queues are stable xjxj xixi

23 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 Q v,d = amount of dest d data at node i n v,d = next hop for Q v,d data r v,w (t) = data rate between nodes v,w xjxj xixi

24 24 Joint scheduling + cong control Greedy Primal Dual Algorithm (Stolyar) Scheduling Node v serves data from queue that maximizes (Q v,d – Q n v,d,d ) r v, n v,d (t) Scheduling Flow i injects a packet whenever U’(x i (t)) – b.Q i begin < 0 b = small parameter Q i begin = first queue on path of flow i xjxj xixi

25 25 Joint scheduling + cong control Greedy Primal Dual Algorithm (Stolyar) Solves the utility maximization problem max U i (x i ) 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” xjxj xixi

26 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

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

28 28 Backup slides Oscillating example of A-Slivkins 2006.

29 29 ?? Parameterized congestion control sender detects congestion using feedback from receiver yes  decrease sending rate; no  increase sending rate St no congestion: all queues are empty St congestion: at least one queue is non-empty

30 30 The basic gadget: high-level idea Q1Q4Q2Q3 St Q1Q4Q2Q3 St finish 1 1capacity1<1 Q1Q4Q2Q3 St 1 start

31 31 The basic gadget: animation Q1Q4Q2Q3 St 1capacity1<1 S’ t’ init rate 0 init rate  1

32 32 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 init rate 

33 33 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 rate

34 34 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 1

35 35 Q1Q4Q2Q3 St 1capacity1<1 The basic gadget: animation S’ t’ rate = 0 rate

36 36 Connect two gadgets identify Q4 from one gadget with Q1 from another 1423 1423 before after 1231423

37 37 Row of gadgets 123123123123 S1t1 fluid eventually reaches its destination, and the process stops not too exciting!

38 38 Row of gadgets 123123123123 S1t1 a better process

39 39 Row of gadgets 123123123123 S1t1 refil l a better process and now a refill happens

40 40 Row of gadgets 123123123123 S1t1 refil l a better process... and so on

41 41 Rows of gadgets 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 each row is running the same process, shifted in time

42 42 Rows of gadgets 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 refil l each row is running the same process, shifted in time now a refill happens

43 43 Rows of gadgets 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 refil l... and so on Wait a sec... how do the refills happen ???

44 44 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate  >0

45 45 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate  >0

46 46 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate  >0

47 47 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate

48 48 Refills and vertical sessions 123123123123 123123123123 123123123123 S1 S2 S3 t1 t2 t3 123123123123 S4t4 rate = 0 refilled !!!


Download ppt "March 24, 20061 Joint Optimization of Scheduling and Congestion Control in Communication Networks Matthew Andrews Bell Labs."

Similar presentations


Ads by Google