Lecture 10. TCP flow Control Used for data transfer Every successful packet is acknowledged One can not have more than W unacknowledged packets, where.

Slides:



Advertisements
Similar presentations
Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Advertisements

Price Of Anarchy: Routing
1 EP2210 Fairness Lecture material: –Bertsekas, Gallager, Data networks, 6.5 –L. Massoulie, J. Roberts, "Bandwidth sharing: objectives and algorithms,“
Introduction to Algorithms
Interconnect throughput modeling. Important network performance metrics Throughput – Point to point (link bandwidth + end host software overheads) – Aggregate.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
How Bad is Selfish Routing? By Tim Roughgarden Eva Tardos Presented by Alex Kogan.
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
Resource Allocation in Wireless Networks: Dynamics and Complexity R. Srikant Department of ECE and CSL University of Illinois at Urbana-Champaign.
EE 685 presentation Optimal Control of Wireless Networks with Finite Buffers By Long Bao Le, Eytan Modiano and Ness B. Shroff.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
HW2 Solutions. Problem 1 Construct a bipartite graph where, every family represents a vertex in one partition, and table represents a vertex in another.
Lecture 9. Unconstrained Optimization Need to maximize a function f(x), where x is a scalar or a vector x = (x 1, x 2 ) f(x) = -x x 2 2 f(x) = -(x-a)
1 Internet Networking Spring 2002 Tutorial 9 Max-Min Fairness.
Charge-Sensitive TCP and Rate Control Richard J. La Department of EECS UC Berkeley November 22, 1999.
Lecture 3. Preview of Markov Process A sequence of random variables X 1, X 2,….,X n,….. such that –X i+1 is independent of X 1,….X i-1 given X i –Pr(X.
Bandwidth sharing: objectives and algorithms Jim Roberts France Télécom - CNET Laurent Massoulié Microsoft Research.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
1 Internet Networking Spring 2004 Tutorial 9 Max-Min Fairness.
Network Bandwidth Allocation (and Stability) In Three Acts.
Approximation Algorithms
Lecture 5 Group Communication. Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in the network are destinations.
The max flow problem
Group Strategyproofness and No Subsidy via LP-Duality By Kamal Jain and Vijay V. Vazirani.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
EE 685 presentation Optimization Flow Control, I: Basic Algorithm and Convergence By Steven Low and David Lapsley Asynchronous Distributed Algorithm Proof.
A Fair Scheduling Policy for Wireless Channels with Intermittent Connectivity Saswati Sarkar Department of Electrical and Systems Engineering University.
Lecture 8. Why do we need residual networks? Residual networks allow one to reverse flows if necessary. If we have taken a bad path then residual networks.
1 Optimization and Stochastic Control of MANETs Asu Ozdaglar Electrical Engineering and Computer Science Massachusetts Institute of Technology CBMANET.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Flow Models and Optimal Routing. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and.
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
Homework 2. Problem 1 Families 1…..N go out for dinner together. To increase their social interaction, no two members of the same family use the same.
EE 685 presentation Distributed Cross-layer Algorithms for the Optimal Control of Multi-hop Wireless Networks By Atilla Eryılmaz, Asuman Özdağlar, Devavrat.
L14. Fair networks and topology design D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2015.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Mazumdar Ne X tworking’03 June 23-25,2003, Chania, Crete, Greece The First COST-IST(EU)-NSF(USA) Workshop on EXCHANGES & TRENDS IN N ETWORKING 1 Non-convex.
Interconnect Performance Modeling. Performance modeling Given an interconnect topology, routing, and other parameters, predict the interconnect performance.
Solution to HW1. Problem 1 Need to find shortest path from a single source s to a single destination d. Have a condition in the Dijkstra algo loop which.
Approximating Market Equilibria Kamal Jain, Microsoft Research Mohammad Mahdian, MIT Amin Saberi, Georgia Tech.
Optimization Flow Control—I: Basic Algorithm and Convergence Present : Li-der.
Congestion Control in CSMA-Based Networks with Inconsistent Channel State V. Gambiroza and E. Knightly Rice Networks Group
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Some Networking Aspects of Multiple Access Muriel Medard EECS MIT.
EE 685 presentation Optimization Flow Control, I: Basic Algorithm and Convergence By Steven Low and David Lapsley.
1 WEEK 11 Graphs III Network Flow Problems A Simple Maximum-Flow Algorithm Izmir University of Economics.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
1 - CS7701 – Fall 2004 Review of: Detecting Network Intrusions via Sampling: A Game Theoretic Approach Paper by: – Murali Kodialam (Bell Labs) – T.V. Lakshman.
Research Unit in Networking - University of Liège A Distributed Algorithm for Weighted Max-Min Fairness in MPLS Networks Fabian Skivée
June 4, 2003EE384Y1 Demand Based Rate Allocation Arpita Ghosh and James Mammen {arpitag, EE 384Y Project 4 th June, 2003.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Homework 1 Problem 1: (5 points) Both Dijkstras algorihm and Bellmanford Algorithm generates shortest paths to all destinations. Modify the algorithm to.
2/14/2016  A. Orda, A. Segall, 1 Queueing Networks M nodes external arrival rate (Poisson) service rate in each node (exponential) upon service completion.
Slides by Yong Liu1, Deep Medhi2, and Michał Pióro3
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
D. AriflerCMPE 548 Fall CMPE 548 Routing and Congestion Control.
Approximation Algorithms based on linear programming.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.
Greedy Algorithms / Interval Scheduling Yin Tat Lee
TCP, XCP and Fair Queueing
CS223 Advanced Data Structures and Algorithms
Coverage Approximation Algorithms
EE5900 Advanced Embedded System For Smart Infrastructure
Maximum Flow Neil Tang 4/8/2008
Presentation transcript:

Lecture 10

TCP flow Control Used for data transfer Every successful packet is acknowledged One can not have more than W unacknowledged packets, where W is the window size. Initially, W = 1, W increases by 1 at every acknowledgement, and W is reduced by a factor of 2 (W  W/2), whenever there is a loss (additive increase/multiplicative decrease)

Every packet loss is because of congestion, i.e., input rate exceeding the link capacity. Reducing the window size is equivalent to reducing the input rate and vice-versa. So, whenever there is congestion, the input rate decreases, and whenever there is under-utilization input rate increases. A successful packet transmission means that there may be spare capacity. Resembles utility optimization strategies!

However, in the utility maximization scenario, increase and decrease of rate depends on the utility functions. In general, it may not be additive increase and multiplicative decrease. However, certain choices of utility functions indeed give additive increase/multiplicative decrease. So, TCP is a special case of utility maximization!

Utility Maximization Over Multirate Multicast networks Every receiver has a utility function. Need to maximize the sum of receiver utilities subject to feasibility C l i: session i traverses link l max j: virtual session j of session i traverses link l rji rji (Capacity Constraint) Maximize  i,k U k (r k i ) subject to

Dual Approach L(r, p) =  i, k U k (r k i ) -  l p l  i:session i traverses link l max k is receiver of i r k i +  l p l C l =  i (  k:k is a receiver of i U k (r k ) -  l p l  i:session i traverses link l max k is receiver of i r k i ) +  l p l C l Receivers of the same session depend on each other. Rate update of each depends on that of another. So, distributed implementation of the above is difficult.

Alternate Formulation Links leading to recievers are receiver links. Let l k be the receiver-link of receiver k. For each session i, let x il be the rate of session i in link l. So,  i,k U k (r k i ) =  i,k U k (x ilk ) Let session i traverse link l and then branch into links l1 and l2. Then l1 and l2 are children of link l for session i. x il  x il1 x il  x il2 1 2 l l1 l2

C l i: session i traverses link l max j: virtual session j of session i traverses link l rji rji (Capacity Constraint) Maximize  i,k U k (r k i ) subject to Maximize  i,k U k (x ilk ) subject to x il  x il1 x il  x il2 ………  i:session i traverses link l x il  C l

New Dual L(r, p, q) =  i, k ( U k (x ilk ) - p l x ilk ) +  i, k q i,l ( x il - x il1 ) … +  l p l C l We can group into local factors. So, distributed implementation possible. However, the objective function is not strictly concave in its arguments. So the dual is not differentiable!

So gradient search is not possible! Need to use non-differentiable optimization techniques Optimization based rate control for multirate, multicast sessions,’’ K. Kar, S. Sarkar and L. Tassiulas, INFOCOM 2001

Fair Allocation of Rates Utility Maximization is a Congestion Control technique. Try to push in as much traffic as possible! Traffic for different sessions depend on their respective utility functions and the congestion in their paths. Fair allocation of rates is distributing the bandwidth, with some notion of equity among sessions.

Notions of Fairness A simple notion of fairness: All sessions have equal rates! However, different sessions have different paths, and different paths have different bandwidths. The previous definition means we may have to give low rates to all sessions just because one session has a bad link!

Notions of Fairness n Maxmin Fairness – A rate allocation is maxmin fair if subject to feasibility, one can not increase the rate of a virtual session, without decreasing the rate of another virtual session having equal or lesser rate (Bertsekas and Gallager) r 1 Capacity = 6 unitCapacity = 1 unit r2r2 Maxmin fair rate for session 1 = 5 Maxmin fair rate for session 2 = 1

r 1 Capacity = 1 unit r2r2 r3r3 Maxmin fairness: Every session gets 0.5 Utility Maximization (U 1 (x) = U 2 (x) = U 3 (x) = x) Sessions 1 and 2 get 1 each, session 3 gets 0 Utility Maximization (U 1 (x) = U 2 (x) = U 3 (x) = ln x) Sessions 1 and 2 get 2/3 each, session 3 gets 1/3 Utility Maximization (U 1 (x) = U 2 (x) = ln x, U 3 (x) = 2ln x) Every session gets 0.5

Bottleneck Link A link l is a bottleneck link for a session k, If capacity of link l is fully utilized Rate of session k is greater than or equal to that of any other session j travelling the link r 1 =5 Capacity = 6 unitCapacity = 1 unit r 2 =1 Link 1 Link 2 Link 1 is bottleneck for session 1 Link 2 is bottleneck for session 2 Link 1 is not bottleneck for session 2

Necessary and Sufficient Condition for Max-min fair Allocation A rate allocation is max-min fair if and only if every session has a bottleneck link. (Bertsekas and Gallager) r 1 =5 Capacity = 6 unitCapacity = 1 unit r 2 =1 Link 1 Link 2 r 1 =5.5 Capacity = 6 unitCapacity = 1 unit r 2 =0.5 Link 1 Link 2 Session 2 does not have a bottleneck link

Proof Suppose every session has a bottleneck link. Let us try to increase the rate of session k. Its rate must be increased in its bottleneck link. But the capacity of the bottleneck is fully utilized. So the rate of session k must be increased by hurting other sessions travelling the bottleneck link. But all these sessions have rate less than or equal to that of session k.

This means, we can increase the rate of session k only by hurting a session which has equal or lower rate. Thus this allocation is maxmin fair.

Consider a rate allocation. Suppose session k does not have a bottleneck link. Then any link which session k traverses has either unutilized capacity or gives greater rate to a different session This means that bandwidth allocated to session k can be increased in any link on its path without hurting any session which has equal or lower rate. Thus the allocation is not maxmin fair!

Algorithm for computing maxmin fair allocation A session is saturated if the capacity is utilized on at least one link in its path. 1.Initially assume all sessions are unsaturated. 2.Fair share of a link is the total link capacity unutilized by the saturated sessions divided by the number of unsaturated sessions. Bandwidth allocated to an unsaturated session is the minimum fair share on its path. Find out which sessions saturate newly. If some sessions are still unsaturated, go back to step 2, else STOP

Example r 1 =5 Capacity = 6 unitCapacity = 1 unit r 2 =1 Link 1 Link 2 Initially, both sessions are unsaturated. Fair share in link 1 is 3, and that in link 2 is 1 Session 2 is saturated with rate 1, session 1 (rate 3) is not. Fair share in link 1 is 5 Session 1 is saturated with bandwidth 5

Complexity Analysis At least one session saturates every iteration. In fact, all sessions traversing through the link with the minimum fair session saturate. So the algorithm terminates in min(E, N) iterations (N is the number of sessions).

Proof of Correctness Intuitively, rate allocation at the end of every iteration is feasible. Rate allocated to a session at the end of every iteration is less than or equal to the fair share in all links on its path. Thus, whenever a session saturates, it has a bottleneck link. Thus all sessions have bottleneck links at the end.

Distributed Implementation The rate of a session in every iteration depends on fair shares along its path. Saturation status of a session depends on rates of sessions along its path. Fair share of a link depends on the rates and numbers of saturated sessions on its path. So, it is possible to implement this algorithm in a distributed manner.

However, this argument assumes that all iterations start at the same time and Initially all sessions are unsaturated. This means we require a lot of time synchronization. Also, every time there is a small change, the computation restarts. Masters thesis of A. Charny (1994, MIT) gives an asynchronous algorithm which converges to maxmin fair rates in finite number of iterations, starting from arbitrary initial states.

Attaining fair rates Compute the fair rates Use congestion control mechanisms to attain them Integrated approach –Schedule to attain the fair rates without computing them explicitly

Scheduling for maxmin fair rate allocation Computation for fair rates not always possible Fair rate computation requires –elaborate message exchange –exact knowledge of system parameters like link capacities Scheduling policy for unicast networks ( Hahne JSAC’ 91 )

Unicast scheduling policy Window parameter (W) Sessions traversing a link are sampled in a round robin manner. When a session is sampled, it transmits a packet if –the destination node of the link has less than W packets of the session –session has a packet to transmit

This policy allocates maxmin fair rates in unicast networks for sufficiently large windows Basic premise of the proof: –Node queue lengths inherently bounded –No packet loss in intermediate nodes B3B3 B4B4 B1B1 B2B2 L1L1 L2L2 L3L3 Node 1 Node 2

Intuition Behind this Result Round robin service offers equal bandwidth share to all sessions traversing a link r 1 Capacity = 6 unitCapacity = 1 unit r2r2 Window flow control conveys the bottleneck information

Discrete Feasible Sets Does Maxmin fair allocation exist always? Always exists for the feasible set we considered: can allocate any bandwidth subject to capacity constraints Suppose, we can allocate bandwidth in discrete chunks only. ``Fair allocation of discrete bandwidth layers in multicast networks’’, S. Sarkar and L. Tassiulas, INFOCOM 2000

Multirate Multicast Transmission r1r1 r2r2 r3r3 r 4 = max (r 1,, r 2 ) r = max (r 3,, r 4 ) S L1L1 L2L2 L3L3 L4L4 r3r3 r1r1 r2r2 Fractional layer reception not meaningful: Discrete bandwidth reception

Counter Example in Discrete Case Maxmin fair allocation may not exist! r 1 Capacity = 1 unitCapacity = 5 unit r2r2 Suppose allocated bandwidths can be integers only. Possible allocations are (0, 0), (1, 0) and (0, 1) Neither is maxmin fair!

Alternate notions of fairness Lexicographically optimal First try to maxmize the minimum component, subject to that maximize the second minimum etc.. Lexicographically optimum exists but its computation is NP-hard! Both (1, 0) and (0, 1) are lexicographically optimum in the previous example.

Proof for NP-hardness This problem is equivalent to finding the largest independent set in a graph. An independent set is a set of vertices such that there is no edge between the vertices in the set. ab c d (a, c) is a largest independent set. It is well-known that finding a largest independent set is an NP- hard problem.

Suppose, we have a polynomial complexity routine to compute lexicographically optimal allocation. We will show that then we can compute the largest independent set in any graph in polynomial complexity. Given a graph we consider a network as follows: For every vertex in the graph, we have a session in the network. If two vertices have an edge between them, then we construct an edge in the network with the corresponding sessions traversing the edge. Join the path of every session by infinite capacity edges If a session does not traverse any edge, then add an unit capacity edge for that session.

Example ab c d 4 sessions, a, b, c, d, Session a, b traverse edge e1 Session a, d traverse edge e2 Session b. c traverse edge e3 Session c, d traverse edge e4 C = 1 e1(a, b)e2 (a, d) e3(b, c)e4(c, d) C = 1 C = 

Possible rate allocations for session is 0 or 1. Two sessions can both get 1 bandwidth only if they do not share an edge, And hence the corresponding vertices do not have an edge between them in the given graph. Any set of sessions with bandwidth 1 correspond to an independent set and vice versa. Clearly lexicographically optimum rate allocation consists of largest number of sessions with bandwidth one unit. Thus maximum independent set corresponds to lexicographically optimum allocation.

Weaker notion of fairness for discrete sets Maximal fairness Polynomial complexity computable. If there is maxmin fair allocation, then maximal fairness is the only maxmin fair allocation. Lexicographically optimal allocation is a maximally fair allocation.

Fair Allocation of Utilities External observer sees reception quality (Quality of Service) Find rates that provide good quality of service vectors Use ``utility functions’’ to connect rates with quality of service Schedule the sessions so that the utilities are allocated in a fair manner

Utility: A Generalized Framework For Fairness Max-min fairness treats all users equally in some sense. However, users have different requirements. Users may be willing to pay different revenues Need to distinguish between users. Utility framework allows one to distinguish among users within the framework of fairness.

Users choose their own utilities Network charges the users in accordance to their utility functions Network allocates bandwidths to the users so as to attain a max-min fair allocation of the utilities. Consider a single link and two users –One user wants a lot of bandwidth, but is willing to pay more –Another user wants less bandwidth, but can pay a limited amount –The former chooses a slowly increasing utility function while the latter chooses a fast increasing utility function

bandwidth utility

Utility functions may not be continuous (may have step jumps) Utility functions may not be strictly increasing. ``Fair Allocation of Utilities in Multirate Multicast Networks’’, S. Sarkar, L. Tassiulas, Allerton 99 Maxmin fair allocation of utilities may not exist. Lexicographically optimal allocation NP-hard Need to consider maximally fair allocation.