SRR: The Smoothed Round Robin Scheduler - PowerPoint PPT Presentation

About This Presentation
Title:

SRR: The Smoothed Round Robin Scheduler

Description:

SRR: The Smoothed Round Robin Scheduler. Paul Southerington. ECE 742. 5 May ... Schedule() Operates as described in previous example. Also handles deficit value ... – PowerPoint PPT presentation

Number of Views:149
Avg rating:3.0/5.0
Slides: 17
Provided by: souther5
Category:

less

Transcript and Presenter's Notes

Title: SRR: The Smoothed Round Robin Scheduler


1
SRR The Smoothed Round Robin Scheduler
  • Paul Southerington
  • ECE 742
  • 5 May 2005

2
Overview
  • Design Goals
  • Why is it significant?
  • How does it work?

3
General Goals of Scheduler
  • Conflicting Design Goals
  • Fairness
  • SRR Attempts to provide long-term and short-term
    fairness
  • Bounded Delay
  • Scalability
  • Complexity
  • SRR Claims O(1) Complexity
  • Formal Proofs in original paper

4
Overview
  • So how does it work?
  • Weight Spread Sequences
  • Weight Matrix
  • Scheduler Operation

5
The Weight Spread Sequence
  • Spreads flow service time across entire round
  • Values map to columns of matrix
  • k is the order of the WSS
  • Chosen based on flow weights
  • Defined recursively
  • Sk Sk-1, k, Sk-1
  • S1 1

6
The Weight Spread Sequence (2)
  • Length 2k - 1
  • Sample k1 through k4
  • S1 1
  • S2 1 2 1
  • S3 1 2 1 3 1 2 1
  • S4 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1

7
The Weight Matrix
  • One row for each traffic flow
  • Number of Columns k log2(wmax)
  • Same as order of WSS
  • Each row is a Weight Vector
  • Series of binary coefficients
  • Represent each flow weight in binary
  • Each bit comprises one element of matrix

8
Sample Weight Matrix
  • Weights w15, w22, w32, w43, w51

9
Scheduler Operation
  • Scan WSS from left-to-right
  • For each entry in WSS
  • Serve traffic from flows in matching column
  • Flows served sequentially (top-to-bottom)
  • Move to next entry in WSS
  • Start Over

10
Sample Weight Matrix
  • Weights w15, w22, w32, w43, w51
  • WSS S3 1 2 1 3 1 2 1
  • Service order f1, f2, f3, f4, f1, f1, f4, f5,
    f1, f2, f3, f4, f1

11
Sample Service Curve
12
SRR Implementation (1)
  • Weight Matrix and WSS
  • Size may be fixed
  • WSS may be precomputed
  • Can tradeoff granularity for max speed
  • With 32nd-order WSS
  • 4 Tbps with 1 kbps resolution
  • 8 Tbps with 2 kbps resolution

13
SRR Implementation (2)
  • Three Functions
  • Add_flow()
  • Executed whenever a new flow arrives
  • Adds new entry to bottom of doubly-linked list
    (column)
  • Worst-case O(k) operation, not O(1)!
  • Del_flow()
  • Executed when a flow is no longer backlogged
  • Basically Add_flow() in reverse

14
SRR Implementation (3)
  • Three Functions (contd.)
  • Schedule()
  • Operates as described in previous example
  • Also handles deficit value
  • Add_flow and Del_flow called from here

15
Future Improvements
  • Improvements to Add_flow and Del_flow
  • Try to improve worst-case O(k) performance
  • Parallel operation
  • WSS Compression
  • Remove WSS elements for empty columns
  • May not be possible to implement efficiently

16
Conclusions
  • Elegant solution to conflicting design goals
  • May not really perform at O(1)
  • Still some room for improvement
Write a Comment
User Comments (0)
About PowerShow.com