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.

Slides:



Advertisements
Similar presentations
Fair Queueing. Design space Buffer management: –RED, Drop-Tail, etc. Scheduling: which flow to service at a given time –FIFO –Fair Queueing.
Advertisements

1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 16: Congestion control II Slides used with.
1 ELEN 602 Lecture 18 Packet switches Traffic Management.
Ion Stoica, Scott Shenker, and Hui Zhang SIGCOMM’98, Vancouver, August 1998 subsequently IEEE/ACM Transactions on Networking 11(1), 2003, pp Presented.
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.
Nick McKeown CS244 Lecture 6 Packet Switches. What you said The very premise of the paper was a bit of an eye- opener for me, for previously I had never.
CS 268: Lecture 15/16 (Packet Scheduling) Ion Stoica April 8/10, 2002.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
Analysis and Simulation of a Fair Queuing Algorithm
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
Congestion Control and Resource Allocation
CS 268: Lecture 8 (Router Support for Congestion Control) Ion Stoica February 19, 2002.
CSE 401N Multimedia Networking-2 Lecture-19. Improving QOS in IP Networks Thus far: “making the best of best effort” Future: next generation Internet.
EE 122: Router Design Kevin Lai September 25, 2002.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
School of Information Technologies IP Quality of Service NETS3303/3603 Weeks
Lecture 4#-1 Scheduling: Buffer Management. Lecture 4#-2 The setting.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Switch and Router Architectures Computer Science Division Department of Electrical Engineering.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 3. QoS.
7/15/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Schedulers.
CS144, Stanford University Error in Q3-7. CS144, Stanford University Using longest prefix matching, the IP address will match which entry? a /8.
Computer Networks Switching Professor Hui Zhang
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 8: Bridging Slides used with permissions.
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.
CSE QoS in IP. CSE Improving QOS in IP Networks Thus far: “making the best of best effort”
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.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 4: Fundamental network design issues Slides.
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
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.
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.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Weighted Fair Queuing Some slides used with.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
Queue Scheduling Disciplines
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
Providing QoS in IP Networks
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
04/02/08 1 Packet Scheduling IT610 Prof. A. Sahoo KReSIT.
Network layer (addendum) Slides adapted from material by Nick McKeown and Kevin Lai.
QoS & Queuing Theory CS352.
Congestion Control and Resource Allocation
EE 122: Router Support for Congestion Control: RED and Fair Queueing
COMP/ELEC 429/556 Introduction to Computer Networks
Fair Queueing.
Advance Computer Networking
Computer Science Division
Advance Computer Networking
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Network Simulation NET441
COMP/ELEC 429 Introduction to Computer Networks
Chapter 3 Part 3 Switching and Bridging
Congestion Control Reasons:
Introduction to Packet Scheduling
Congestion Control and Resource Allocation
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
Fair Queueing.
Introduction to Packet Scheduling
کنترل جریان امیدرضا معروضی.
Presentation transcript:

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 permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University2 What Can a Basic Router do to Packets? Send it… Delay it… Drop it… How they are done impacts Quality of Service –Best effort? Guaranteed delay? Guaranteed throughput? Many variations in policies with different behavior Rich body of research work to understand them Limited Internet deployment –Many practical deployment barriers since Internet was best- effort to begin with, adding new stuff is hard –Some people just don’t believe in the need for QoS! Not enough universal support

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University3 Router Architecture Assumptions Assumes inputs just forward packets to outputs –Switch core is N times faster than links in a NxN switch –No contention at input, no head-of-line blocking Resource contention occurs only at the output interfaces Output interface has classifier, buffer/queue, scheduler components 1 2 Scheduler Classifier Buffer/ Queue

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University4 Internet Classifier A “flow” is a sequence of packets that are related (e.g. from the same application) Flow in Internet can be identified by a subset of following fields in the packet header –source/destination IP address (32 bits) –source/destination port number (16 bits) –protocol type (8 bits) –type of service (4 bits) Examples: –All TCP packets from Eugene’s web browser on machine A to web server on machine B –All packets from Rice –All packets between Rice and CMU –All UDP packets from Rice ECE department Classifier takes a packet and decides which flow it belongs to Note: In ATM or MPLS, the classifier can become just a label demultiplexer

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University5 Buffer/Queue Buffer: memory where packets can be stored temporarily Queue: using buffers to store packets in an ordered sequence –E.g. First-in-First-Out (FIFO) queue Buffer Packet Buffer Packet Head Of Queue

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University6 Buffer/Queue When packets arrive at an output port faster than the output link speed (perhaps only momentarily) Can drop all excess packets –Resulting in terrible performance Or can hold excess packets in buffer/queue –Resulting in some delay, but better performance Still have to drop packets when buffer is full –For a FIFO queue, “drop tail” or “drop head” are common policies –i.e. drop last packet to arrive vs drop first packet in queue to make room A chance to be smart: Transmission of packets held in buffer/queue can be *scheduled* –Which stored packet goes out next? Which is more “important”? –Impacts quality of service

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University7 Scheduler Decides how the output link capacity is shared by flows –Which packet from which flow gets to go out next? E.g. FIFO schedule –Simple schedule: whichever packet arrives first leaves first –Agnostic of concept of flows, no need for classifier, no need for a real “scheduler”, a FIFO queue is all you need E.g. TDMA schedule –Queue packets according to flows Need classifier and multiple FIFO queues –Divide transmission times into slots, one slot per flow –Transmit a packet from a flow during its time slot

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University8 TDMA Example 1 2 TDMA Scheduler flow 1 flow 2 flow n Classifier Buffer management

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University9 Internet Today FIFO queues are used at most routers No classifier, no scheduler, best-effort Sophisticated mechanisms tend to be more common near the “edge” of the network –E.g. At campus routers –Use classifier to pick out Kazaa packets –Use scheduler to limit bandwidth consumed by Kazaa traffic

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University10 Achieving QoS in Statistical Multiplexing Network We want guaranteed QoS But we don’t want the inefficiency of TDMA –Unused time slots are “wasted” Want to statistically share un-reserved capacity or reserved but unused capacity One solution: Weighted Fair Queuing (WFQ) –Guarantees a flow receives at least its allocated bit rate

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University11 WFQ Architecture 1 2 WFQ Scheduler flow 1 flow 2 flow n Classifier Buffer management

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University12 What is Weighted Fair Queueing? Each flow i given a weight (importance) w i WFQ guarantees a minimum service rate to flow i –r i = R * w i / (w 1 + w w n ) –Implies isolation among flows (one cannot mess up another) w1w1 w2w2 wnwn R Packet queues

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University13 What is the Intuition? Fluid Flow w1w1 water pipes w2w2 w3w3 t1t1 t2t2 w2w2 w3w3 water buckets w1w1

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University14 Fluid Flow System If flows can be served one bit at a time WFQ can be implemented using bit-by-bit weighted round robin –During each round from each flow that has data to send, send a number of bits equal to the flow’s weight

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University15 Fluid Flow System: Example Flow 2 (arrival traffic) time Flow 1 (arrival traffic) time Packet Size (bits) Packet inter-arrival time (ms) Arrival Rate (Kbps) Flow Flow Kbps Flow 1 ( w 1 = 1) Flow 2 ( w 2 = 1) Service in fluid flow system time (ms)

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University16 Fluid Flow System: Example Red flow has packets backlogged between time 0 and 10 –Backlogged flow  flow’s queue not empty Other flows have packets continuously backlogged All packets have the same size flows link weights

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University17 Implementation in Packet System Packet (Real) system: packet transmission cannot be preempted. Why? Solution: serve packets in the order in which they would have finished being transmitted in the fluid flow system

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University18 Packet System: Example Select the first packet that finishes in the fluid flow system Service in fluid flow system Packet system

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University19 Packet System: Example Packet system time Service in fluid flow system time (ms) Select the first packet that finishes in the fluid flow system

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University20 Implementation Challenge Need to compute the finish time of a packet in the fluid flow system… … but the finish time may change as new packets arrive! Need to update the finish times of all packets that are in service in the fluid flow system when a new packet arrives –But this is very expensive; a high speed router may need to handle hundred of thousands of flows!

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University21 Example Four flows, each with weight 1 Flow 1 time ε Flow 2 Flow 3 Flow Finish times computed at time 0 time Finish times re-computed at time ε 01234

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University22 Solution: Virtual Time Key Observation: while the finish times of packets may change when a new packet arrives, the order in which packets finish doesn’t! –Only the order is important for scheduling Solution: instead of the packet finish time maintain the round # when a packet finishes (virtual finishing time) –Virtual finishing time doesn’t change when a packet arrives System virtual time V(t) – index of the round in the bit- by-bit round robin scheme

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University23 Example Suppose each packet is 1000 bits, so takes 1000 rounds to finish So, packets of F1, F2, F3 finishes at virtual time 1000 When packet F4 arrives at virtual time 1 (after one round), the virtual finish time of packet F4 is 1001 But the virtual finish time of packet F1,2,3 remains 1000 Finishing order is preserved Flow 1 time ε Flow 2 Flow 3 Flow 4

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University24 System Virtual Time (Round #): V(t) V(t) increases inversely proportionally to the sum of the weights of the backlogged flows Since round # increases slower when there are more flows to visit each round Flow 2 (w2 = 1) Flow 1 (w1 = 1) time C C/2V(t)

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University25 Fair Queueing Implementation Define – - virtual finishing time of packet k of flow i – - arrival time of packet k of flow i – - length of packet k of flow i –w i – weight of flow i The finishing time of packet k+1 of flow i is Smallest finishing time first scheduling policy / w i

T. S. Eugene Ngeugeneng at cs.rice.edu Rice University26 Properties of WFQ Guarantee that any packet is transmitted within packet_length/link_capacity of its transmission time in the fluid flow system –Can be used to provide guaranteed services Achieve fair allocation –Can be used to protect well-behaved flows against malicious flows