Hierarchical Scheduling Algorithms

Slides:



Advertisements
Similar presentations
WebTP Meeting (10/18/1999) Link Sharing Principles Class Based Queueing (CBQ) S. Floyd and V. Jacobson - ToN 1995.
Advertisements

Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
A Case for Relative Differentiated Services and the Proportional Differentiation Model Constantinos Dovrolis Parameswaran Ramanathan University of Wisconsin-Madison.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
Worst-case Fair Weighted Fair Queueing (WF²Q) by Jon C.R. Bennett & Hui Zhang Presented by Vitali Greenberg.
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.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
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.
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Oppenheimer.
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.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
Engineering Jon Turner Computer Science & Engineering Washington University Coarse-Grained Scheduling for Multistage Interconnects.
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.
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.
Explicit Allocation of Best-Effort Service Goal: Allocate different rates to different users during congestion Can charge different prices to different.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
Queue Scheduling Disciplines
Courtesy Piggybacking: Supporting Differentiated Services in Multihop Mobile Ad Hoc Networks Wei LiuXiang Chen Yuguang Fang WING Dept. of ECE University.
Providing QoS in IP Networks
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
Scheduling Mechanisms Applied to Packets in a Network Flow CSC /15/03 By Chris Hare, Ricky Johnson, and Fulviu Borcan.
04/02/08 1 Packet Scheduling IT610 Prof. A. Sahoo KReSIT.
Instructor Materials Chapter 6: Quality of Service
Khiem Lam Jimmy Vuong Andrew Yang
QoS & Queuing Theory CS352.
Topics discussed in this section:
Link Sharing or CBQ Link sharing controls the distribution of bandwidth on “local” links Each class receives a guaranteed share during congestion Aggregate.
Measuring Service in Multi-Class Networks
Stratified Round Robin: A Low Complexity Packet Scheduler with Bandwidth Fairness and Bounded Delay Sriram Ramabhadran Joseph Pasquale Presented by Sailesh.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 6: Quality of Service Connecting Networks.
TCP, XCP and Fair Queueing
Quality of Service For Traffic Aggregates
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
COMP/ELEC 429/556 Introduction to Computer Networks
Scheduling Algorithms in Broad-Band Wireless Networks
3: CPU Scheduling Basic Concepts Scheduling Criteria
Fair Queueing.
Advance Computer Networking
Computer Science Division
“Promoting the Use of End-to-End Congestion Control in the Internet”
Advance Computer Networking
COMP/ELEC 429 Introduction to Computer Networks
Advanced Computer Networks
Congestion Control Reasons:
Implementation and simulation of Scheduling Algorithms in OPNET
Prestented by Zhi-Sheng, Lin
Module 5: CPU Scheduling
CPU SCHEDULING CPU SCHEDULING.
Introduction to Packet Scheduling
Data Structures for Shaping and Scheduling
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
Hierarchical Scheduling Algorithms
Module 5: CPU Scheduling
Fair Queueing.
A Simple QoS Packet Scheduler for Network Routers
Introduction to Packet Scheduling
کنترل جریان امیدرضا معروضی.
Presentation transcript:

Hierarchical Scheduling Algorithms ECE 1545 This presentations uses slides by H. Zhang

Hierarchical Resource Sharing over a Single Link Provider 1 seminar video ECE SCS U.Pitt CMU Provider 2 Distributed Simulation WEB Video Audio Control 155 Mbps 40 Mbps 60 Mbps 10 Mbps 30 Mbps 100 Mbps 55 Mbps Campus audio Resource contention/sharing at different levels Resource management policies should be set at different levels, by different entities resource owner service providers organizations applications

Hierarchical Resource Scheduling Requirements: Real-time QoS for leaf classes (i.e., delay, bandwidth) Link-Sharing service sharing among classes proper distribution of excess service among sibling classes Priority decoupled delay/bandwidth allocation Statistical sharing encourage adaptation by end-system Link Provider 1 seminar video ECE SCS U.Pitt CMU Provider 2 Distributed Simulation WEB Video Audio Control 155 Mbps 40 Mbps 60 Mbps 10 Mbps 30 Mbps 100 Mbps 55 Mbps Campus audio

Hierarchical Resource Scheduling Solutions Class-Based Queuing (V. Jacobson, S. Floyd) Hierarchical Generalized Processor Sharing model and Hierarchical Packet Fair Queuing algorithm (J. Bennett, H. Zhang) Hierarchical Fair Service Curve model and algorithm (I. Stoica, H. Zhang, E. Ng)

Hierarchical Link Sharing (Class-Based Queuing)

A Comment The paper defines semantics (“rules”) for hierarchical bandwidth sharing Concrete scheduling algorithm are discussed elsewhere Link sharing objectives are presented qualitatively. More work is needed to prove (or provide counter examples) of the bandwidth sharing goals Objectives: “rough” quantitative bandwidth commitment Distribution of excess bandwidth should follow some “appropriate” guidelines Bandwidth should be allocated over “appropriate” time intervals

Class-Based Queuing Link sharing goals Approach Formal Link-Sharing Guidelines Approximations: Ancestor-Only Link-Sharing Guidelines Top-Level Link-Sharing Guidelines

Hierarchical link sharing structure

Link sharing goals Each interior or leaf class should receive roughly its allocated link-sharing bandwidth over appropriate time intervals, given sufficient demand If all leaf and interior classes with sufficient demand have received at least their allocated link-sharing bandwidth, the distribution of any `excess' bandwidth should not be arbitrary, but should follow some set of reasonable guidelines 2nd objective not addressed in link sharing paper

Scheduler Concepts Each leaf class has its own queue Two schedulers: general and link sharing scheduler General scheduler schedules packets without regard for link sharing guidelines Link sharing scheduler schedules packets from leaf classes that have exceeded their allocation Note: Also says: Any implementation will have a single integrated scheduler There is no concrete scheduling algorithm prescribed. The paper suggests to use priority scheduling with WRR for the general scheduler and rate-limiting for the link sharing scheduler

Concepts At any time, a class is designated either as regulated or as unregulated: Unregulated: uses general scheduler Regulated: use a link sharing scheduler Overlimit: class received more than allocated bandwidth Underlimit: class received less than allocated bandwidth At-limit: otherwise Unsatisfied: leaf class is underlimit and has backlog or non-leaf class with a descendant with backlog Satisfied: otherwise

Link-sharing Guidelines The router needs to know which overlimit leaf classes should be regulated This is done by using link-sharing guidelines: “Formal” link sharing guidelines “Approximations”: “Ancestor-only” link sharing “Top-level” link sharing Traffic of all classes is measured

Formal link sharing guidelines A class can continue unregulated if Class is not overlimit or Class has not-overlimit ancestor at level i and there are no unsatisfied classes in the structure below level i Otherwise the class is regulated Alternate guidelines: A regulated class continues to be regulated until the class becomes underlimit, or Class has an underlimit ancestor at level i and there are no unsatisfied classes in the structure below level i

Case 1 1: real time class 2: non-real time class No class is regulated

Case 2 Agency A is not overlimit Both real-time classes are regulated 2: non-real time class Agency A is not overlimit Both real-time classes are regulated

Case 3 Only real-time class in A needs to be regulated 2: non-real time class Only real-time class in A needs to be regulated

Case 4 No leaf class is unsatisfied: 1: real time class 2: non-real time class No leaf class is unsatisfied: Class A is unsatisfied and unregulated

Formal Link-Sharing Guidelines: Analysis (1) A class that is not overlimit will not be regulated. When all classes are satisfied, no classes will be regulated. As long as there exists a class A that remains unsatisfied, all regulated classes will be rate-limited to their allocated link-sharing bandwidth.

Formal Link-Sharing Guidelines: Analysis (2) Starvation of lower-priority classes are limited: Assume that leaf class A first becomes unsatisfied at time t. For every class Ci other than class A, there is a time ti, with t  ti  t+T, such that class Ci receives at most its allocated bandwidth over every interval [ti, tA] during which class A remains unsatisfied. Further, if ti > t, then class Ci also receives at most its allocated bandwidth over the interval [ti-T, ti], where ti-T < t. (T is the sampling period of the estimator)

Ancestor-Only Link-Sharing Guidelines A class can continue unregulated if one of the following conditions hold: 1: The class is not overlimit, or 2: The class has an underlimit ancestor

Drawbacks of Ancestor-Only Link Sharing Suppose: Class A has been underlimit real-time class in A starts to send a large burst (and is overlimit) Until “A” has switched to overlimit, it continues as unregulated Issue: With ancestor-only, A1 does not see that A2 is unsatisfied

Top-Level Link-Sharing Guidelines Top-level: Highest level from which a class is allowed to “borrow” bandwidth “… uses various heuristics to set the Top-level variable” A class can continue unregulated if one of the following conditions hold: 1: The class is not overlimit, OR 2: The class has an underlimit ancestor whose level is at most Top-Level.

Top-Level Link-Sharing Top-Level=∞: Top-Level link-sharing is identical to Ancestor-Only link-sharing Top-Level= lowest level with an unsatisfied class: Top-Level link-sharing is essentially the same as formal link-sharing Top-Level=1: only not-overlimit classes can send packets

Class Based Queuing (CBQ) vs. Link sharing CBQ precedes link sharing Combines link sharing and real-time services in a single scheduler Components: Classifier: Classifies arrivals Estimator: Bandwidth estimation of classes Selector: determines order of packets (scheduler) Delayer: schedules traffic from classes that have exceeded their limits and contribute to congestion General scheduler ~ Selector Link Sharing scheduler ~ Delayer Classifier Estimator Selector Delayer

CBQ Estimator CBQ estimates the state of a class: For formal link sharing: need to detect overlimit For ancestor and top-level: need to detect underlimit Does not estimate the bandwidth used by a class b: allocation s: packet size Packet spacing: f(s,b) = s/b Discrepancy: diff = t – f(s,b) Averaging of discrepancy: avg  (1-w) avg + w × diff

CBQ Selector General Scheduler: Schedules packets from “higher priorities” first Within the same priority, use WRR with weights proportional to the allocation WRR ensures that unregulated classes receive bandwdith proportional to their allocation Link-sharing Scheduler: Implements a traffic shaper For a regulated class, after a transmission of size s, next transmission is set to time-to-send = f(s,b) = s/b Packet is passed to general scheduler after time-to-send

Summary A framework to integrate priority scheduling and link-sharing. The solution is ad hoc, no firm guarantee for real-time or link-sharing requirements. In the formal link-sharing guideline, link-sharing goal has a higher priority than real-time goal.

Supplement to Hierarchical Packet Fair Queueing

H-GPS Root node R (physical link) Each leaf node is a flow Assume: and

H-GPS H-GPS is defined by: It follows that:

H-PFQ

H-PFQ

H-PFQ