Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.

Slides:



Advertisements
Similar presentations
Spring 2003CS 4611 Quality of Service Outline Realtime Applications Integrated Services Differentiated Services.
Advertisements

Spring 2000CS 4611 Quality of Service Outline Realtime Applications Integrated Services Differentiated Services.
Network and Communications Hongsik Choi Department of Computer Science Virginia Commonwealth University.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 – QoS.
Abhay.K.Parekh and Robert G.Gallager Laboratory for Information and Decision Systems Massachusetts Institute of Technology IEEE INFOCOM 1992.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Multimedia.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 20 – March 25, 2010.
1 Providing Quality of Service in the Internet Based on Slides from Ross and Kurose.
Real-Time Protocol (RTP) r Provides standard packet format for real-time application r Typically runs over UDP r Specifies header fields below r Payload.
COMP680E by M. Hamdi 1 Can we make these scheduling algorithms simpler? Using a Simpler Architecture.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #11 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
End-to-End Analysis of Distributed Video-on-Demand Systems Padmavathi Mundur, Robert Simon, and Arun K. Sood IEEE Transactions on Multimedia, February.
CS 268: Lecture 15/16 (Packet Scheduling) Ion Stoica April 8/10, 2002.
ACN: IntServ and DiffServ1 Integrated Service (IntServ) versus Differentiated Service (Diffserv) Information taken from Kurose and Ross textbook “ Computer.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
CS Summer 2003 Lecture 8. CS Summer 2003 Populating LFIB with LDP Assigned/Learned Labels Changes in the LFIB may be triggered routing or.
CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)
CSE 401N Multimedia Networking-2 Lecture-19. Improving QOS in IP Networks Thus far: “making the best of best effort” Future: next generation Internet.
1 Quality of Service Outline Realtime Applications Integrated Services Differentiated Services.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 3. QoS.
Spring 2002CS 4611 Quality of Service Outline Realtime Applications Integrated Services Differentiated Services.
CS144, Stanford University Error in Q3-7. CS144, Stanford University Using longest prefix matching, the IP address will match which entry? a /8.
24-1 Chapter 24. Congestion Control and Quality of Service part Quality of Service 23.6 Techniques to Improve QoS 23.7 Integrated Services 23.8.
Ch 7. Multimedia Networking Myungchul Kim
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-Node Case Abhay K. Parekh, Member, IEEE, and Robert.
QoS Guarantees  introduction  call admission  traffic specification  link-level scheduling  call setup protocol  required reading: text, ,
Packet Scheduling and Buffer Management in Routers (A Step Toward Quality-of-service) 10-1.
CIS679: Scheduling, Resource Configuration and Admission Control r Review of Last lecture r Scheduling r Resource configuration r Admission control.
Integrated Services (RFC 1633) r Architecture for providing QoS guarantees to individual application sessions r Call setup: a session requiring QoS guarantees.
CSE679: QoS Infrastructure to Support Multimedia Communications r Principles r Policing r Scheduling r RSVP r Integrated and Differentiated Services.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 23 - Multimedia Network Protocols (Layer 3) Klara Nahrstedt Spring 2011.
CSE QoS in IP. CSE Improving QOS in IP Networks Thus far: “making the best of best effort”
QOS مظفر بگ محمدی دانشگاه ایلام. 2 Why a New Service Model? Best effort clearly insufficient –Some applications need more assurances from the network.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
Advance Computer Networking L-5 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
© Jörg Liebeherr, Quality-of-Service Architectures for the Internet Integrated Services (IntServ)
March 29 Scheduling ?. What is Packet Scheduling? Decide when and what packet to send on output link 1 2 Scheduler flow 1 flow 2 flow n Buffer management.
Network Support for QoS – DiffServ and IntServ Hongli Luo CEIT, IPFW.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Nick McKeown Spring 2012 Lecture 2,3 Output Queueing EE384x Packet Switch Architectures.
fairness ii-2. What is Multi-Rate? Ability of a wireless card to automatically operate at several different bit-rates (e.g. 1, 2, 5.5, and 11 Mbps.
EE 122: Lecture 15 (Quality of Service) Ion Stoica October 25, 2001.
Ch 6. Multimedia Networking Myungchul Kim
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 18: Quality of Service Slides used with.
Scheduling CS 218 Fall 02 - Keshav Chpt 9 Nov 5, 2003 Problem: given N packet streams contending for the same channel, how to schedule pkt transmissions?
048866: Packet Switch Architectures
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
Queue Scheduling Disciplines
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Providing QoS in IP Networks
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
Integrated Services & RSVP Types of pplications Basic approach in IntServ Key components Service models.
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Multicast and Quality of Service Internet Technologies and Applications.
Chapter 30 Quality of Service Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS244 Packet Scheduling (Generalized Processor Sharing) Some slides created by: Ion Stoica and Mohammad Alizadeh
04/02/08 1 Packet Scheduling IT610 Prof. A. Sahoo KReSIT.
Advanced Computer Networks
EE384x: Packet Switch Architectures
Computer Science Division
COMP/ELEC 429 Introduction to Computer Networks
CIS679: Two Planes and Int-Serv Model
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
Presentation transcript:

Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim

Courtesy: Nick McKeown, Stanford 2 The problems caused by FIFO queues in routers 1. In order to maximize its chances of success, a source has an incentive to maximize the rate at which it transmits. 2. (Related to #1) When many flows pass through it, a FIFO queue is “unfair” – it favors the most greedy flow. 3. It is hard to control the delay of packets through a network of FIFO queues. Fairness Delay Guarantees

Courtesy: Nick McKeown, Stanford 3 Fairness 1.1 Mb/s 10 Mb/s 100 Mb/s A B R1R1 C 0.55 Mb/s 0.55 Mb/s What is the “fair” allocation: (0.55Mb/s, 0.55Mb/s) or (0.1Mb/s, 1Mb/s)? e.g. an http flow with a given (IP SA, IP DA, TCP SP, TCP DP)

Courtesy: Nick McKeown, Stanford 4 Fairness 1.1 Mb/s 10 Mb/s 100 Mb/s A B R1R1 D What is the “fair” allocation? 0.2 Mb/s C

Courtesy: Nick McKeown, Stanford 5 Max-Min Fairness A common way to allocate flows N flows share a link of rate C. Flow f wishes to send at rate W(f), and is allocated rate R(f). 1. Pick the flow, f, with the smallest requested rate. 2. If W(f) < C/N, then set R(f) = W(f). 3. If W(f) > C/N, then set R(f) = C/N. 4. Set N = N – 1. C = C – R(f). 5. If N > 0 goto 1.

Courtesy: Nick McKeown, Stanford 6 1 W(f 1 ) = 0.1 W(f 3 ) = 10 R1R1 C W(f 4 ) = 5 W(f 2 ) = 0.5 Max-Min Fairness An example Round 1: Set R(f 1 ) = 0.1 Round 2: Set R(f 2 ) = 0.9/3 = 0.3 Round 3: Set R(f 4 ) = 0.6/2 = 0.3 Round 4: Set R(f 3 ) = 0.3/1 = 0.3

Courtesy: Nick McKeown, Stanford 7 Max-Min Fairness  How can an Internet router “allocate” different rates to different flows?  First, let’s see how a router can allocate the “same” rate to different flows…

Courtesy: Nick McKeown, Stanford 8 Fair Queueing 1. Packets belonging to a flow are placed in a FIFO. This is called “per-flow queueing”. 2. FIFOs are scheduled one bit at a time, in a round-robin fashion. 3. This is called Bit-by-Bit Fair Queueing. Flow 1 Flow N ClassificationScheduling Bit-by-bit round robin

Courtesy: Nick McKeown, Stanford 9 Weighted Bit-by-Bit Fair Queueing Likewise, flows can be allocated different rates by servicing a different number of bits for each flow during each round. 1 R(f 1 ) = 0.1 R(f 3 ) = 0.3 R1R1 C R(f 4 ) = 0.3 R(f 2 ) = 0.3 Order of service for the four queues: … f 1, f 2, f 2, f 2, f 3, f 3, f 3, f 4, f 4, f 4, f 1,… Also called “Generalized Processor Sharing (GPS)”

Courtesy: Nick McKeown, Stanford 10 Packetized Weighted Fair Queueing (WFQ) Problem: We need to serve a whole packet at a time. Solution: 1. Determine what time a packet, p, would complete if we served flows bit-by-bit. Call this the packet’s finishing time, F p. 2. Serve packets in the order of increasing finishing time. Also called “Packetized Generalized Processor Sharing (PGPS)”

Courtesy: Nick McKeown, Stanford 11 Understanding bit by bit WFQ 4 queues, sharing 4 bits/sec of bandwidth, Equal Weights Weights : 1:1:1: B1 = 3 A1 = 4 D2 = 2 D1 = 1 C2 = 1C1 = 1 Time B1 = 3 A1 = 4 D2 = 2 D1 = 1 C2 = 1C1 = 1 A1B1C1D1 A2 = 2 C3 = 2 Weights : 1:1:1:1 D1, C1 Depart at R=1 A2, C3 arrive Time Round 1 Weights : 1:1:1: B1 = 3 A1 = 4 D2 = 2 D1 = 1 C2 = 1C1 = 1 A1B1C1D1 A2 = 2 C3 = 2 A1B1C2D2 C2 Departs at R=2 Time Round 1Round 2

Courtesy: Nick McKeown, Stanford 12 Understanding bit by bit WFQ 4 queues, sharing 4 bits/sec of bandwidth, Equal Weights Weights : 1:1:1: B1 = 3 A1 = 4 D2 = 2 D1 = 1 C2 = 1C1 = 1 A1B1C1D1 A2 = 2 C3 = 2 A1B1C2D2 D2, B1 Depart at R=3 A1B1C3D2 Time Round 1Round 2Round 3 Weights : 1:1:1: B1 = 3 A1 = 4 D2 = 2 D1 = 1 C2 = 1C3 = 2C1 = 1 C1D1C2B1 D2 A 1 A2 = 2 C3 A2 Departure order for packet by packet WFQ: Sort by finish round of packets Time Sort packets B1 = 3 A1 = 4 D2 = 2 D1 = 1 C2 = 1C1 = 1 A1B1C1D1 A2 = 2 C3 = 2 A1B1C2D2 A1 Depart at R=4 A1B1C3D2A1C3A2 Time Round 1Round 2Round 3 Round 4 C3,A2 Departs at R=6 56

Courtesy: Nick McKeown, Stanford 13 The use of WFQ for (weighted) fairness  WFQ can be used to provide different rates to different flows.  Most routers today implement WFQ and can be used to give different rates to different flows. (Not used much yet).  Different definitions of a flow are possible: Application flow, all packets to a destination, all packets from a source, all http packets, the CEO’s traffic, … etc.

Courtesy: Nick McKeown, Stanford 14 The problems caused by FIFO queues in routers 1. In order to maximize its chances of success, a source has an incentive to maximize the rate at which it transmits. 2. (Related to #1) When many flows pass through it, a FIFO queue is “unfair” – it favors the most greedy flow. 3. It is hard to control the delay of packets through a network of FIFO queues. Fairness Delay Guarantees

Courtesy: Nick McKeown, Stanford 15 Some applications that would like bounds on packet delay  Multimedia Applications  One-to-many streaming stored audio or video.  Interactive streaming audio or video.  Other delay-sensitive applications  Real-time control.  Other delay-sensitive applications  Premium Internet/web access

Courtesy: Nick McKeown, Stanford 16 The need for a playback buffer e.g. 10fps, 600x500 bytes per frame ~= 24Mb/s Mb/s

Courtesy: Nick McKeown, Stanford 17 The need for a playback buffer Cumulative Bytes Time 24Mb/s Total delay Source Destination

Courtesy: Nick McKeown, Stanford 18 In real life: Delay Variation Prob Delay/latency Min e.g. 200ms 99%

Courtesy: Nick McKeown, Stanford 19 The need for a playback buffer Cumulative Bytes Time 24Mb/s delaybuffer Source Destination

Courtesy: Nick McKeown, Stanford 20 The need for a playback buffer 24Mb/s Playback point 24Mb/s

Courtesy: Nick McKeown, Stanford 21 The need for a playback buffer Cumulative Bytes Time latencybuffer 24Mb/s

Courtesy: Nick McKeown, Stanford 22 Playback buffer  How to set the playback point?  Why not just set it to be very large?  How big to make the buffer?  Can we ever know how big to make the buffer?

Courtesy: Nick McKeown, Stanford 23 Some observations Cum. Bytes Time latencybuffer 1.Has a maximum instantaneous rate of <= 100Mb/s 2.Has an average rate of <= 24Mb/s 3.Has a short-term average rate of <= 45Mb/s Mb/s

Courtesy: Nick McKeown, Stanford 24 time Cumulative bytes A(t) D(t) R B(t) Deterministic analysis of a router queue FIFO delay, d(t) R A(t)D(t) Model of router queue B(t)

Courtesy: Nick McKeown, Stanford 25 So how can we control the delay of packets? Assume continuous time, bit-by-bit flows for a moment… 1. Let’s say we know the arrival process, A f (t), of flow f to a router. 2. Let’s say we know the rate, R(f) that is allocated to flow f. 3. Then, in the usual way, we can determine the delay of packets in f, and the buffer occupancy.

Courtesy: Nick McKeown, Stanford 26 R A(t)D(t) Model of FIFO router queue B(t) R(f 1 ) A(t) D(t) Model of WFQ router queues R(f 2 ) R(f N ) A 1 (t) A 2 (t) A N (t) Router Without QoS: Router With QoS:

Courtesy: Nick McKeown, Stanford 27 How to bound packet delay? time Cumulative bytes A 1 (t) D 1 (t) R(f 1 ) Key idea: In general, we don’t know the arrival process. So let’s constrain it.

Courtesy: Nick McKeown, Stanford 28 Let’s say we can bound the arrival process time Cumulative bytes   Number of bytes that can arrive in any period of length t is bounded by: This is called “(  ) regulation” A 1 (t)

Courtesy: Nick McKeown, Stanford 29 (  ) Constrained Arrivals and Minimum Service Rate time Cumulative bytes A 1 (t) D 1 (t) R(f 1 )   d max B max Theorem [Parekh,Gallager ’93]: If flows are leaky-bucket constrained, and routers use WFQ, then end-to-end delay guarantees are possible.

Courtesy: Nick McKeown, Stanford 30 The leaky bucket “(  )” regulator Tokens at rate,  Token bucket size,  Packet buffer Packets One byte (or packet) per token

Courtesy: Nick McKeown, Stanford 31 How the user/flow can conform to the (  ) regulation Tokens at rate,  Token bucket size  Variable bit-rate compression To network time bytes time bytes time bytes  C

Courtesy: Nick McKeown, Stanford 32 Providing Delay Guarantees: Summary 1. Before starting a new flow, source asks network for end- to-end delay guarantee. 2. Source negotiates ( ,  ) values with each router along the path so as to bound delay through every router, and hence bound the end-to-end delay. 3. Routers perform admission control to check whether they have sufficient resources (link data rate and buffers). 4. Each router along path reserves resources. 5. Flow starts, and source starts sending packets according to agreed ( ,  ) values. 6. Router determines which flow each arriving packet belongs to, and puts it in the right queue. 7. Router serves queues, using WFQ, so as to bound packet delay through the router.

Courtesy: Nick McKeown, Stanford 33 Steps Involved in Providing Delay Guarantees  Per-session  Call setup, call admission and resource reservation “Can the network accept the call and provide the QoS?”  Per-packet  Packet Classification: “What flow does this packet belong to, and when should I send it?”  Shaping: “Am I keeping my side of the contract?”  Policing: “Did the user keep his/her side of the contract?”  Packet Scheduling: “Sending the packet at the right time.”

Courtesy: Nick McKeown, Stanford 34 Proposed Techniques for QoS in the Internet  Resource ReSerVation Protocol (RSVP)  Integrated Services: Uses RSVP  Differentiated Services

Courtesy: Nick McKeown, Stanford 35 Differentiated Services  Instead of per-flow queues and rates, uses per-class queues and rates.  Much simpler to implement, introduce and manage.  But… means that many flows share the same queue, state and capacity. So, it is like a simple approximation to Integrated Services.

Courtesy: Nick McKeown, Stanford 36 Quality of Service in the Internet Some Interesting Questions  How can we implement per-flow buffering and scheduling when the number of flows is large?  How can we encourage/force users to ask for only the resources they need?  How can we bill users for the service they receive?

Courtesy: Nick McKeown, Stanford 37 Quality of Service in the Internet The jury is still out as to what scheme makes most sense, if any. 1. Some people believe that fine-grained guarantees are needed. 2. Others believe that simple, coarse-grained guarantees will be sufficient. 3. Still others believe that a simple strict priority mechanism between “premium” and “best-effort” service will be OK. 4. Many people believe we should just provision a lot more capacity and be done with it!

Courtesy: Nick McKeown, Stanford 38