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

Presented by Sailesh Kumar

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Presented by Sailesh Kumar

Stratified Round Robin: A Low Complexity Packet Scheduler with Bandwidth Fairness and

Bounded Delay

Sriram RamabhadranJoseph Pasquale

Presented bySailesh Kumar

Page 2: Presented by Sailesh Kumar

2 - Sailesh Kumar - 04/19/23

Outline Packet fair queuing algorithms

Motivation for stratified round robin

Operation

Implementation

Analysis

Page 3: Presented by Sailesh Kumar

3 - Sailesh Kumar - 04/19/23

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

Page 4: Presented by Sailesh Kumar

4 - Sailesh Kumar - 04/19/23

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

Page 5: Presented by Sailesh Kumar

5 - Sailesh Kumar - 04/19/23

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)

Page 6: Presented by Sailesh Kumar

6 - Sailesh Kumar - 04/19/23

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

Page 7: Presented by Sailesh Kumar

7 - Sailesh Kumar - 04/19/23

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)

Page 8: Presented by Sailesh Kumar

8 - Sailesh Kumar - 04/19/23

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}

Page 9: Presented by Sailesh Kumar

9 - Sailesh Kumar - 04/19/23

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

Page 10: Presented by Sailesh Kumar

10 - Sailesh Kumar - 04/19/23

SRR (cont)

Page 11: Presented by Sailesh Kumar

11 - Sailesh Kumar - 04/19/23

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)

Page 12: Presented by Sailesh Kumar

12 - Sailesh Kumar - 04/19/23

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.

Page 13: Presented by Sailesh Kumar

13 - Sailesh Kumar - 04/19/23

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.

Page 14: Presented by Sailesh Kumar

14 - Sailesh Kumar - 04/19/23

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.

Page 15: Presented by Sailesh Kumar

15 - Sailesh Kumar - 04/19/23

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

Page 16: Presented by Sailesh Kumar

16 - Sailesh Kumar - 04/19/23

Inter-class scheduling (cont)

Weightsw1 = 1/2w2 = 1/8w3 = 3/16w4 = 1/16w5 = 1/16

Page 17: Presented by Sailesh Kumar

17 - Sailesh Kumar - 04/19/23

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

Page 18: Presented by Sailesh Kumar

18 - Sailesh Kumar - 04/19/23

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

Class Fk+2

Class Fk+1

Class Fk

Deadlines of various classes

Page 19: Presented by Sailesh Kumar

19 - Sailesh Kumar - 04/19/23

Implementation (Selecting class)

Class FK+2

Class Fk+1

Class Fk

Deadlines of various classes

Current tCTo select next class – choose the smallest k such that Fk is pending

A simple priority encoder operating on the pending status bits of flow classes can be used to choose the class

Page 20: Presented by Sailesh Kumar

20 - Sailesh Kumar - 04/19/23

Implementation (Advancing tC)

Class FK+2

Class Fk+1 (First active class)

Class Fk

Scheduling intervals starts here for various classes

Current tC

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

Page 21: Presented by Sailesh Kumar

21 - Sailesh Kumar - 04/19/23

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

Page 22: Presented by Sailesh Kumar

22 - Sailesh Kumar - 04/19/23

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 f i’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

Page 23: Presented by Sailesh Kumar

23 - Sailesh Kumar - 04/19/23

If (doubts) ThenAsk;

ElseThank you;

End if;