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

Slides:



Advertisements
Similar presentations
1 Network Telecommunication Group University of Pisa - Information Engineering department January Speaker: Raffaello Secchi Authors: Davide Adami.
Advertisements

Scheduling An Engineering Approach to Computer Networking.
Quality of Service CS 457 Presentation Xue Gu Nov 15, 2001.
CS 268: Packet Scheduling Ion Stoica March 18/20, 2003.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Real-Time Networks – WAN Packet scheduling (contd.)
1 Comnet 2010 Communication Networks Recitation 4 Scheduling & Drop Policies.
Fair Queueing. Design space Buffer management: –RED, Drop-Tail, etc. Scheduling: which flow to service at a given time –FIFO –Fair Queueing.
1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
Abhay.K.Parekh and Robert G.Gallager Laboratory for Information and Decision Systems Massachusetts Institute of Technology IEEE INFOCOM 1992.
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.
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.
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.
School of Information Technologies IP Quality of Service NETS3303/3603 Weeks
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.
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.
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.
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?
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
Multicost (or QoS) routing For example: More generally, Minimize f(V)=f(V 1,…,V k ) over all paths.
Providing QoS in IP Networks
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.
QoS & Queuing Theory CS352.
QoS Guarantees introduction call admission traffic specification
Queuing and Queue Management
Quality of Service For Traffic Aggregates
Scheduling Algorithms in Broad-Band Wireless Networks
Fair Queueing.
Scheduling.
Scheduling: Buffer Management
Computer Science Division
Congestion Control, Quality of Service, & Internetworking
Network Simulation NET441
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 Sharing always results in contention Sharing always results in contention A scheduling discipline resolves contention and decides order: whos next? A scheduling discipline resolves contention and decides order: whos 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)

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 less state cheaper (e.g. smaller VLSI) cheaper (e.g. smaller VLSI) BUT: less individualization/differentiation BUT: less individualization/differentiation Solution Solution aggregate to a class, members of class have same performance requirement aggregate to a class, members of class have same performance requirement no protection within class 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) rate-jitter regulator (bounds maximum outgoing rate) delay-jitter regulator (compensates for variable delay at previous hop) 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 Visit each non-empty queue in turn Serve infinitesimal from each Serve infinitesimal from each This is exactly the definition of max-min fairness (but impractical) This is exactly the definition of max-min fairness (but impractical) How can we give weights to connections? How can we give weights to connections? We cant implement GPS, so, lets see how to emulate it We cant 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} 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} 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 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 Each packet takes 500 * 8/45 Mbps = 88.8 μs Round time =2750 * 88.8 = ms 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 packets 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 packets 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 use source + destination address (or VCI) to classify it and look up finish number of last packet waiting to be served recompute round number recompute round number compute finish number compute finish number insert in priority queue sorted by finish numbers insert in priority queue sorted by finish numbers if no space, drop the packet with largest finish number if no space, drop the packet with largest finish number On service completion On service completion select the packet with the lowest finish number 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 e.g. connections with weights 1, 2, 7; link capacity 10 connections get at least 1, 2, 7 units of b/w each 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 assumes that the connection is leaky-bucket regulated # bits sent in time [t 1, t 2 ] <= r (t 2 - t 1 ) + σ # bits sent in time [t 1, t 2 ] <= r (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