Multicost (or QoS) routing For example: More generally, Minimize f(V)=f(V 1,…,V k ) over all paths.

Slides:



Advertisements
Similar presentations
Scheduling An Engineering Approach to Computer Networking.
Advertisements

Multicost (or QoS) routing For example: More generally, Minimize f(V)=f(V 1,…,V k ) over all paths.
1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
Playback-buffer Equalization For Streaming Media Using Stateless Transport Prioritization By Wai-tian Tan, Weidong Cui and John G. Apostolopoulos Presented.
Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.
Scheduling An Engineering Approach to Computer Networking.
# 1 Scheduling: Buffer Management. # 2 The setting.
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.
Worst-case Fair Weighted Fair Queueing (WF²Q) by Jon C.R. Bennett & Hui Zhang Presented by Vitali Greenberg.
DigiComm II Scheduling and queue management. DigiComm II Traditional queuing behaviour in routers Data transfer: datagrams: individual packets no recognition.
Scheduling CS 215 W Keshav Chpt 9 Problem: given N packet streams contending for the same channel, how to schedule pkt transmissions?
CS 268: Lecture 15/16 (Packet Scheduling) Ion Stoica April 8/10, 2002.
Generalized Processing Sharing (GPS) Is work conserving Is a fluid model Service Guarantee –GPS discipline can provide an end-to-end bounded- delay service.
Service Disciplines for Guaranteed Performance Service Hui Zhang, “Service Disciplines for Guaranteed Performance Service in Packet-Switching Networks,”
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
Scheduling. Outline What is scheduling Why we need it Requirements of a scheduling discipline Fundamental choices Scheduling best effort connections Scheduling.
תזכורת  שבוע הבא אין הרצאה m יום א, נובמבר 15, 2009  שיעור השלמה m יום שישי, דצמבר 11, 2009 Lecture 4: Nov 8, 2009 # 1.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
Mani Srivastava UCLA - EE Department Room: 7702-B Boelter Hall Tel: WWW: Copyright 2001.
Lecture 4#-1 Scheduling: Buffer Management. Lecture 4#-2 The setting.
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.
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
Packet Scheduling and Buffer Management in Routers (A Step Toward Quality-of-service) 10-1.
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.
Scheduling and Policing Outline What is scheduling? Why we need it? What is scheduling? Why we need it? Requirements of a scheduling discipline.
Advance Computer Networking L-5 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
Queueing and Scheduling Traffic is moved by connecting end-systems to switches, and switches to each other Traffic is moved by connecting end-systems to.
Competitive Queue Policies for Differentiated Services Seminar in Packet Networks1 Competitive Queue Policies for Differentiated Services William.
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.
Packet Scheduling and Buffer Management Switches S.Keshav: “ An Engineering Approach to Networking”
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.
Packet Scheduling: SCFQ, STFQ, WF2Q Yongho Seok Contents Review: GPS, PGPS SCFQ( Self-clocked fair queuing ) STFQ( Start time fair queuing ) WF2Q( Worst-case.
EE 122: Lecture 15 (Quality of Service) Ion Stoica October 25, 2001.
Dynamic Bandwidth Allocation with Fair Scheduling For WCDMA Systems Liang Xu, Xumin Shen, and Jon W. Mark University of Waterloo published in IEEE Wireless.
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.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Real-Time Networks – WAN Packet Scheduling.
Scheduling Determines which packet gets the resource. Enforces resource allocation to each flows. To be “Fair”, scheduling must: –Keep track of how many.
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?
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.
Lecture Note on Scheduling Algorithms. What is scheduling? A scheduling discipline resolves contention, “who is the next?” Goal: fairness and latency.
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
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
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.
QoS & Queuing Theory CS352.
QoS Guarantees introduction call admission traffic specification
Quality of Service For Traffic Aggregates
Fair Queueing.
Scheduling.
Scheduling: Buffer Management
Computer Science Division
Network Simulation NET441
Introduction to Packet Scheduling
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
An Engineering Approach to Computer Networking
Fair Queueing.
Introduction to Packet Scheduling
کنترل جریان امیدرضا معروضی.
Presentation transcript:

Multicost (or QoS) routing For example: More generally, Minimize f(V)=f(V 1,…,V k ) over all paths

Cost of a path:

Examples of cost functions

Scheduling switch

Scheduling Sharing always results in contention Sharing always results in contention A scheduling discipline resolves contention and decides order: who’s next? A scheduling discipline resolves contention and decides order: who’s next? The objective is to share resources fairly and provide performance guarantees The objective is to share resources fairly and provide performance guarantees What can scheduling disciplines do? Give different users different QoS (example: passengers waiting to board a plane). Best effort vs guaranteed service Give different users different QoS (example: passengers waiting to board a plane). Best effort vs guaranteed service Scheduling disciplines can allocate bandwidth, delay, loss Scheduling disciplines can allocate bandwidth, delay, loss They also determine how fair the network is They also determine how fair the network is Requirements An ideal scheduling discipline is easy to implement, is fair, provides performance bounds, etc An ideal scheduling discipline is easy to implement, is fair, provides performance bounds, etc

Notion of fairness Τι είναι δίκαιο? Ο καθένας παίρνει το ίδιο? (Αμα δεν το χρειαζεται?) Ο καθένας παίρνει αυτό που θέλει? (Τι γίνεται με τo congestion?) Πως σχετίζεται η δικαιοσύνη με την ικανότητα κάποιου να χρησιμοποιήσει ένα resource? Τι γίνεται με τα excess resources? Πως παίρνουμε υπ’ όψιν μας την δυνατότητα κάποιου να πληρώσει παραπάνω κόστος για ένα resource? Π.χ. φορολογικό σύστημα (flat tax rate ή progressive tax rate) n switch

max-min fairness Intuitively: each connection gets no more than what it wants, and the excess, if any, is equally shared Intuitively: each connection gets no more than what it wants, and the excess, if any, is equally shared AB C AB C Transfer half of excess Unsatisfied demand Demanded Rates Max-Min Fair Sharing (First iteration) Max-Min Fair Sharing (Second iteration) Fair Rates Residue30-23=710 Table 1: An example of the non-weighted Max-Min fair Sharing algorithm if the overall processor capacity is 30.

Fairness is a global objective, but scheduling is local

Performance guarantees This is a way to obtain a desired level of service This is a way to obtain a desired level of service Can be deterministic or statistical Can be deterministic or statistical Common parameters are bandwidth, delay, delay-jitter, loss Common parameters are bandwidth, delay, delay-jitter, loss Specified as minimum bandwidth measured over a prespecified interval (e.g. > 5Mbps over intervals of > 1 sec) Specified as minimum bandwidth measured over a prespecified interval (e.g. > 5Mbps over intervals of > 1 sec) Meaningless without an interval! Meaningless without an interval! Can be a bound on average (sustained) rate or peak rate Can be a bound on average (sustained) rate or peak rate Delay and delay-jitter Bound on some parameter of the delay Bound on some parameter of the delay distribution curve distribution curve Bandwidth

Priority Packet is served from a given priority level only if no packets exist at higher levels Packet is served from a given priority level only if no packets exist at higher levels Highest level gets lowest delay Highest level gets lowest delay Watch out for starvation! Watch out for starvation! Low bandwidth urgent messages RealtimeNon-realtime Priority Fundamental choices 1. Number of priority levels 2. Degree of aggregation 3. Service order within a level

Degree of aggregation More aggregation More aggregation  less state  cheaper (e.g. smaller VLSI)  BUT: less individualization/differentiation Solution Solution  aggregate to a class, members of class have same performance requirement  no protection within class Issue: what is the appropriate class definition?

Work conserving vs non-work-conserving Work conserving discipline is never idle when packets await service Work conserving discipline is never idle when packets await service Why bother with non-work conserving? Why bother with non-work conserving? Non-work-conserving disciplines Key conceptual idea: delay packet till eligible Key conceptual idea: delay packet till eligible Reduces delay-jitter => fewer buffers in network Reduces delay-jitter => fewer buffers in network Increases mean delay (not a problem for playback applications) Increases mean delay (not a problem for playback applications) Wastes bandwidth (can serve best-effort packets instead) Wastes bandwidth (can serve best-effort packets instead) Always punishes a misbehaving source Always punishes a misbehaving source How to choose eligibility time? How to choose eligibility time?  rate-jitter regulator (bounds maximum outgoing rate)  delay-jitter regulator (compensates for variable delay at previous hop)

Scheduling best-effort connections Main requirement is fairness (in the max-min sense) Main requirement is fairness (in the max-min sense) Achievable using Generalized processor sharing (GPS) Achievable using Generalized processor sharing (GPS)  Visit each non-empty queue in turn  Serve infinitesimal from each  Why is this fair?  How can we give weights to connections?

More on GPS Obviously GPS is unimplementable (we cannot serve infinitesimals, only packets) Obviously GPS is unimplementable (we cannot serve infinitesimals, only packets) However, GPS provides a baseline for comparisons However, GPS provides a baseline for comparisons No packet discipline can be as fair as GPS (while a packet is being served, we are unfair to others) No packet discipline can be as fair as GPS (while a packet is being served, we are unfair to others) Degree of unfairness can be bounded Degree of unfairness can be bounded Define: Define: work(I,a,b) = # bits transmitted for connection I in time [a,b] work(I,a,b) = # bits transmitted for connection I in time [a,b] Absolute fairness bound for discipline S Absolute fairness bound for discipline S  Max (work_GPS(I,a,b) - work_S(I, a,b)) Relative fairness bound for discipline S Relative fairness bound for discipline S  Max (work_S(I,a,b) - work_S(J,a,b)) We can’t implement GPS, so, lets see how to emulate it We can’t implement GPS, so, lets see how to emulate it We want to be as fair (i.e. as close to GPS) as possible We want to be as fair (i.e. as close to GPS) as possible But also have an efficient implementation But also have an efficient implementation

Weighted round robin Serve a packet from each non-empty queue in turn Serve a packet from each non-empty queue in turn Unfair if packets are of different length or weights are not equal Unfair if packets are of different length or weights are not equal Solution: Normalize weights by mean packet size Solution: Normalize weights by mean packet size  e.g. weights {0.5, 0.75, 1.0}, mean packet sizes {50, 500, 1500}  normalize weights: {0.5/50, 0.75/500, 1.0/1500} = { 0.01, , }, normalize again {60, 9, 4} Problems with Weighted Round Robin With variable size packets and different weights, need to know mean packet size in advance With variable size packets and different weights, need to know mean packet size in advance Can be unfair for long periods of time. E.g.: Can be unfair for long periods of time. E.g.:  T3 trunk with 500 connections, each connection has mean packet length 500 bytes, 250 with weight 1, 250 with weight 10  Each packet takes 500 * 8/45 Mbps = 88.8 μs  Round time =2750 * 88.8 = ms

Weighted Fair Queueing (WFQ) Deals better with variable size packets and weights Deals better with variable size packets and weights GPS is fairest discipline GPS is fairest discipline Find the finish time of a packet, had we been doing GPS Find the finish time of a packet, had we been doing GPS Then serve packets in order of their finish times Then serve packets in order of their finish times WFQ: first cut Suppose, in each round, the server served one bit from each active connection Suppose, in each round, the server served one bit from each active connection Round number is the number of rounds already completed (can be fractional) Round number is the number of rounds already completed (can be fractional) If a packet of length p arrives to an empty queue when the round number is R, it will complete service when the round number is R + p => finish number is R + p (independent of the number of other connections) If a packet of length p arrives to an empty queue when the round number is R, it will complete service when the round number is R + p => finish number is R + p (independent of the number of other connections) If a packet arrives to a non-empty queue, and the previous packet has a finish number of f, then the packet’s finish number is f+p If a packet arrives to a non-empty queue, and the previous packet has a finish number of f, then the packet’s finish number is f+p Serve packets in order of finish numbers Serve packets in order of finish numbers

WFQ: computing the round number

WFQ implementation On packet arrival: On packet arrival:  use source + destination address (or VCI) to classify it and look up finish number of last packet waiting to be served  recompute round number  compute finish number  insert in priority queue sorted by finish numbers  if no space, drop the packet with largest finish number On service completion On service completion  select the packet with the lowest finish number Scheduling guaranteed-service connections With best-effort connections, goal is fairness With best-effort connections, goal is fairness With guaranteed-service connections what performance guarantees are achievable? With guaranteed-service connections what performance guarantees are achievable?

WFQ Turns out that WFQ also provides performance guarantees Turns out that WFQ also provides performance guarantees Bandwidth bound (=ratio of weights * link capacity) Bandwidth bound (=ratio of weights * link capacity)  e.g. connections with weights 1, 2, 7; link capacity 10  connections get at least 1, 2, 7 units of b/w each End-to-end delay bound End-to-end delay bound  assumes that the connection is leaky-bucket regulated  # bits sent in time [t 1, t 2 ] <= ρ (t 2 - t 1 ) + σ Parekh-Gallager theorem g= least bandwidth a connection is allocated at a WFQ scheduler g= least bandwidth a connection is allocated at a WFQ scheduler The connection pass through K schedulers, where the kth has rate r(k) The connection pass through K schedulers, where the kth has rate r(k) P = the largest packet allowed in the network be P P = the largest packet allowed in the network be P

Significance Theorem shows that WFQ can provide end-to-end delay bounds Theorem shows that WFQ can provide end-to-end delay bounds So WFQ provides both fairness and performance guarantees So WFQ provides both fairness and performance guarantees Bound holds regardless of cross traffic behavior Bound holds regardless of cross traffic behavior