Stratified Round Robin: A Low Complexity Packet Scheduler with Bandwidth Fairness and Bounded Delay Sriram Ramabhadran Joseph Pasquale Presented by Sailesh.

Slides:



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

CS 268: Packet Scheduling Ion Stoica March 18/20, 2003.
1 Comnet 2010 Communication Networks Recitation 4 Scheduling & Drop Policies.
1 GPS Example 2: Arrivals o Eleven Sources. First source gets 0.5. Other 10 sources get 0.05 each. First source sends 11 cells send one each at t=0.
Deficit Round Robin Scheduler. Outline Introduction Ordinary Problems Deficit Round Robin Latency of DRR Improvement of latencies.
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.
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.
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.
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.
תזכורת  שבוע הבא אין הרצאה m יום א, נובמבר 15, 2009  שיעור השלמה m יום שישי, דצמבר 11, 2009 Lecture 4: Nov 8, 2009 # 1.
Lecture 4#-1 Scheduling: Buffer Management. Lecture 4#-2 The setting.
Wireless scheduling analysis (With ns3) By Pradeep Prathik Saisundatr.
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.
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.
Stress Resistant Scheduling Algorithms for CIOQ Switches Prashanth Pappu Applied Research Laboratory Washington University in St Louis “Stress Resistant.
Packet Scheduling: SCFQ, STFQ, WF2Q Yongho Seok Contents Review: GPS, PGPS SCFQ( Self-clocked fair queuing ) STFQ( Start time fair queuing ) WF2Q( Worst-case.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
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.
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
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.
scheduling for local-area networks”
Packet Scheduling (and QoS)
Khiem Lam Jimmy Vuong Andrew Yang
Team: Aaron Sproul Patrick Hamilton
QoS & Queuing Theory CS352.
Sriram Lakshmanan Zhenyun Zhuang
Wireless Fair Scheduling
Wireless Scheduling.
Wireless Scheduling.
Buffer Management in a Switch
Chapter 4: Network Layer
Lottery Scheduling Ish Baid.
Quality of Service For Traffic Aggregates
CPU Scheduling G.Anuradha
Chapter 6: CPU Scheduling
COMP/ELEC 429/556 Introduction to Computer Networks
Variations of Weighted Fair Queueing
Hierarchical Scheduling Algorithms
Scheduling Algorithms in Broad-Band Wireless Networks
Fair Queueing.
TDC 311 Process Scheduling.
Scheduling: Buffer Management
EE384x: Packet Switch Architectures
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler
Computer Science Division
Variations of Weighted Fair Queueing
COMP/ELEC 429 Introduction to Computer Networks
Implementation and simulation of Scheduling Algorithms in OPNET
Chapter 4: Simulation Designs
Ch.7 Scheduling Aperiodic and Sporadic Jobs in Priority-Driven Systems
Introduction to Packet Scheduling
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
Hierarchical Scheduling Algorithms
Chapter 4: Network Layer
Fair Queueing.
A Simple QoS Packet Scheduler for Network Routers
Introduction to Packet Scheduling
کنترل جریان امیدرضا معروضی.
Presentation transcript:

Stratified Round Robin: A Low Complexity Packet Scheduler with Bandwidth Fairness and Bounded Delay Sriram Ramabhadran Joseph Pasquale Presented by Sailesh Kumar

Outline Packet fair queuing algorithms Motivation for stratified round robin Operation Implementation Analysis

Introduction Recently a class of service discipline called Packet Fair Queuing (PFQ) has got much attention PFQ Algorithms approximate the idealized Generalized Processor Sharing (GPS) policy which has two desirable properties It can guarantee end-to-end delay for a flow in a packet switched network. It can ensure instantaneous fair allocation of bandwidth among all the backlogged flows While many PFQ algorithms has been proposed, few can achieve all of the following goals Support lots of flows with diverse rates Operate at high speeds (10 Gbps +) Maintain both a) delay bound, and b) worst case fairness

Different classes of scheduling algorithms Time stamp schedulers Try to emulate GPS WFQ WF2Q SCFQ … Good delay bounds Round robin schedulers Assign time slots to flows DRR W-DRR BSFQ … Easy implementation

Time stamp schedulers There are three major associated costs The computation of system virtual time Normalized fair amount of service, each flow should receive Management of priority queue to order the packet transmission It involves sorting across all active flows Management of another priority queue to regulate the packets It can be thought of as the set of eligible flows Computation of system virtual time may be complex WFQ, WF2Q - O(N) complexity SCFQ, WF2Q+ – O(1) complexity Several other algorithms with O(logN), … complexities Priority queues are almost always O(logN)

Round robin schedulers Eliminates sorting/priority queues DRR Assigns a quantum to each queue and services the in a round robin fashion W-DRR Assigns different quantum to each flow but services them sequentially Easy implementation Poor delay bounds Bursty output

Stratified round robin, Introduction Uses best of both worlds Round robin - Poor delay bound results from flows with high rate disparity Deadline based – Hard to implement due to large number of flows, O(logN) can be prohibitive SRR groups flows with similar rates into classes such that there are few classes, say n (<< N) Use deadline based selection across groups, O(log n) And round robin based selections within groups, O(1) Total complexity O(log n)

Stratified round robin Let there are N backlogged flows f1, f2, . . . , fN that share an output link of bandwidth R. Flow fi has a reserved bandwidth of ri such that Sigma_ri (i = 1 to N) < R Lets call the weight of ith flow as wi = ri/R Thus, Sigma_wi (i = 1 to N) < 1 Flows are grouped into classes based on their weights Flow class Fk is defined as Fk = {fi : 1/2k ≤ wi < 1/2k-1}

SRR (cont) How many classes Lets say that the minimum rate of a flow is r Thus, there will be n = (log R/r) different classes For R = 40 Gbps, and r = 1 bps, n = 36 A priority queue with n = 36 can be implemented to run in O(1) complexity We will come to it later

SRR (cont)

Inter-class scheduling Time is measured in slots and only one flow can send packets in a slot tC denotes the current time slot tC is incremented after each slot Thus virtual time concept over here is little bit similar to SCFQ Slots may not be assigned to any flow, in which case tC is just incremented (zero real time)

Inter-class scheduling (cont) Scheduling intervals Fixed length and contiguous slots associated with a flow class For class Fk, scheduling interval is always 2k slots Thus, if a scheduling interval for a class begins at time t, the next will begin at time t+2k Every flow fi ∈ Fk has a weight of approximately 2−k, Therefore, if slots represent fixed-size units of bandwidth allocation, fi is entitled to exactly one slot every 2k slots. In fact, Stratified Round Robin does exactly this by trying to assign every flow fi ∈ Fk one slot in each scheduling interval of Fk.

Inter-class scheduling (cont) A flow class Fk is called active if it contains at least one backlogged flow, i.e., Nk > 0. Let A denote the set of active flow classes. A backlogged flow fi ∈ Fk is called pending if fi has not been assigned a slot in Fk’s current scheduling interval. A flow class is called pending if it contains at least one pending flow. Let P denote the set of pending flow classes.

Inter-class scheduling (cont) Assign every flow fi ∈ Fk exactly one slot in each scheduling interval of Fk. The end of the current scheduling interval of a flow class is deadline for all backlogged flows belonging to that class. Thus, the inter-class scheduler selects the flow class Fk with the earliest deadline. The intra-class scheduler then assigns a flow fi ∈ Fk the current slot. A flow class Fk ceases to be pending when all flows belonging to Fk is assigned a slot in its current scheduling interval. Then Fk remains like that until the start of its next scheduling interval, when all flows belonging to Fk become pending again.

Inter-class scheduling (cont) How to advance tC After servicing a flow in the current time slot If there are any pending flow classes, tC is incremented by 1 Otherwise, tC is advanced to the earliest time when some flow class becomes pending again

Inter-class scheduling (cont) Weights w1 = 1/2 w2 = 1/8 w3 = 3/16 w4 = 1/16 w5 = 1/16

Inter-class scheduling (cont) Within a class flows are scheduled in a W-DRR fashion Each flow is given a credit proportional to its weight Output is not that bursty because maximum weight disparity within a class in 2

Implementation A simple implementation aligns all the scheduling intervals Although this may result a little bit unfair service, it makes the implementation extremely trivial Deadline of class Fk will also be deadline of class Fk’, when k’ < k Deadlines of various classes Class Fk+2 Class Fk+1 Class Fk

Implementation (Selecting class) Current tC To select next class – choose the smallest k such that Fk is pending Deadlines of various classes Class FK+2 Class Fk+1 Class Fk A simple priority encoder operating on the pending status bits of flow classes can be used to choose the class

Implementation (Advancing tC) Current tC Scheduling intervals starts here for various classes Class FK+2 Class Fk+1 (First active class) Class Fk Advance tC such that at least one class becomes pending If Fk+1 is the first class that is active then Add 2k+1 and then reset k LSB bits Can be implemented with a priority encoder and few gates

Analysis Golestani fairness It essentially requires that the difference between the normalized service received by any two backlogged flows fi and fj, over any time period (t1, t2), be bounded by a small constant (SRR results). In any time period (t1, t2) during which flows fi and fj are backlogged, Si(t1, t2)/ri − Sj (t1, t2)/rj ≤ 5LM(1/ri + 1/rj) Bennet-Zhang fairness It compares the service received by a single flow fi to the service it would receive in the ideal case, i.e., when fi has exclusive access to an output link of bandwidth ri (SRR results). δi < qi/ri + 5LM/ri + 5(N − 1)LM/R

Analysis and simulation results Single packet delay bound (Single packet delay). For every flow fi, let ∆i be the maximum delay experienced by a packet at the head of fi’s queue. Then ∆i < 12*LM/ri Independent of the the number of flows Tighter bounds may be derived A simple simulation demonstrates that SRR results in similar performance (in terms of avg. delay) as WFQ

If (doubts) Then Ask; Else Thank you; End if;