BSFQ: Bin Sort Fair Queueing - PowerPoint PPT Presentation

1 / 69
About This Presentation
Title:

BSFQ: Bin Sort Fair Queueing

Description:

Packets must be transmitted as an atomic unit. PFQ (Packet-by-packet Fair Queueing) ... A virtual system clock t(t) equals to the virtual time stamp of the packet that ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 70
Provided by: netlabCs4
Category:
Tags: bsfq | atomic | bin | clock | fair | queueing | sort | time

less

Transcript and Presenter's Notes

Title: BSFQ: Bin Sort Fair Queueing


1
BSFQ Bin Sort Fair Queueing
  • Shun Y. Cheung and Corneliu S. Pencea
  • IEEE INFOCOM 2002

2
Abstract
  • Existing packet schedulers that provide fair
    sharing of an output link can be divided into two
    classes
  • Sorted priority methods excellent approximation
    for Weighted Fair Queueing (WFQ)
  • Frame-based methods more computationally
    efficient.
  • Bin Sort Fair Queueing (BSFQ) combines the
    strengths of both type of schedulers.

3
I. Introduction
  • Quality of service provisioning to flows is
    realized by insulating the flows from one
    another.
  • Fluid Fair Queueing (FFQ)
  • Ideal one to ensure fairness
  • Data of active flows are transmitted one bit at a
    time in a round robin fashion.
  • Not practical
  • Packets must be transmitted in their entirety.
  • WFQ (Weighted Fair Queueing) WF2Q (Worst-case
    Fair Weighted Fair Queueing)
  • Most accurately approximation of FFQ.
  • Computationally expensive

4
  • Other more efficient scheduling techniques
  • (1) Priority-based schemes
  • Packets are assigned a priority value (some
    function of their departure time).
  • Packets are transmitted in increasing order of
    their priority values.
  • ? Fairness guarantee
  • ? Some sort procedure is used to maintain a
    priority queue and have non-constant per packet
    run time complexities.
  • VC (Virtual Clock)
  • LFVC (Leap Forward Virtual Clock)
  • SCFQ (Self-Clocked Fair Queueing)

5
  • (2) Frame-based schemes
  • Packets are transmitted in rounds.
  • ? They do not use sort operations and have
    constant per packet processing time.
  • ? The delay guarantee they provide have a larger
    bound than sorted-priority methods.
  • DRR (Deficit Round Robin)
  • URR (Uniform Round Robin)

6
II. Related Work
  • FFQ (Fluid Fair Queueing) GPS (General Processor
    Sharing)
  • Ideal
  • Bit-wise scheduling
  • Not practical
  • Packets must be transmitted as an atomic unit.
  • PFQ (Packet-by-packet Fair Queueing)
  • Practical
  • Packet-wise scheduling
  • To approximate FFQ
  • Examples
  • WFQ (Weighted Fair Queueing) and WF2Q
    (Worst-case Fair Weighted Fair Queueing)

7
  • A flow is backlogged if it has some packets in
    the output buffer.
  • A packet scheduling method is fair if the
    difference in the normalized service provided to
    any two flows that are continuously backlogged
    over any interval is bounded by some constant
  • The normalized service wf(t1,t2) received by flow
    f is defined as
  • wf(t1, t2) is the amount of data of flow f
    transmitted in t1, t2
  • rf is the reserved data rate of f.

8
  • If a scheduling discipline is fair then there is
    a constant e such that wf(t1,t2) wg(t1,t2)?
    e,for any two flows f and g that are backlogged
    during the interval t1,t2.
  • For FFQ, wf(t1,t2) wg(t1,t2) 0.
  • WFQ and WF2Q approximate FFQ

9
  • WFQ and WF2Q
  • Compute the virtual finish time of a packet
  • Transmit the packets in ascending order.
  • WFQ does so for every packet.
  • WF2Q only considers those packets that would have
    started receiving service. (Head-of-line)
  • The most accurate approximation of FFQ
  • Less computationally efficient

10
  • Virtual Clock (VC) method
  • Assign the jth packet pjf of flow f with the
    virtual time stamp (vts)
  • for j gt 0, where
  • A(pjf) arrival time of packet pjf
  • ljf length of packet pjf
  • vtsVC(p0f) 0
  • vtsVC(pjf) estimated finish time of packet pjf

11
(No Transcript)
12
  • VC provides delay guarantee.
  • Xie and Lam showed that if the sum of the rate of
    all flows sharing a link does not exceed the link
    capacity, the departure time L(pjf) of packet pjf
    is bounded by where
  • lfmax is the maximum packet length of flow f
  • R is the data rate of the output link.
  • vtsVC(pjf) estimated finish timeL(pjf) real
    finish time
  • VC does not provide fairness guarantee.

13
  • Leap Forward Virtual Clock (LFVC)
  • LFVC temporarily moves oversubscribed flows into
    a low priority holding area.
  • Only flows in the high priority area will receive
    service.
  • A flow is oversubscribed if the difference
    between the virtual time stamp of the current
    packet and the system time exceeds a certain
    threshold.
  • When all flows are oversubscribed, the system
    clock is advanced forward to allow some flows to
    be moved into high priority area.

14
  • Self-Clocked Fair Queueing (SCFQ)
  • A virtual system clock t(t) equals to the virtual
    time stamp of the packet that is being serviced
    at time t.
  • The jth packet pjf of flow f is assigned with the
    virtual time stamp (vts)

15
(No Transcript)
16
  • Deficit Round Robin (DRR)
  • Packets of different flows are placed in separate
    queues.
  • Each flow is assigned a quantum size.
  • Each flow has a deficit counter that measures the
    current unused portion of the allocated
    bandwidth.
  • Packets are transmitted in rounds.
  • In each round, each backlogged flow is
    transmitted up to the sum of its quantum and
    deficit counter.
  • The unused portion of this amount is carried over
    to the next round as the deficit counter value.

17
  • Uniform Round Robin (URR)
  • Cell-based method
  • Space cell transmission uniformly over a round.
  • Example
  • Four flows A, B, C, and D, each with quantum
    value of qA 3, qB qC qD 1.
  • Transmission order
  • For DRR A, A, A, B, C, D
  • For URR A, B, A, C, A, D

18
III. Bin Sort Fair Queueing
  • BSFQ is a frame-based method and uses virtual
    time stamps to determine the scheduling order.
  • The virtual time space is divided into equal
    intervals or bins.
  • Packets are assigned virtual time stamps and
    inserted into their corresponding bins.
  • The queueing order within a bin is FIFO.

19
(No Transcript)
20
  • The output buffer is organized into N bins.
  • Each bin is implicitly labeled with a virtual
    time interval and each interval has fixed length
    ?.
  • BSFQ maintains a virtual system clock t(t) which
    is equal to the left end point of the virtual
    time interval of the current bin at time t.
  • Whenever all packets in the current bin are
    transmitted, t(t) is incremented by ?.? The
    virtual time clock in BSFQ is a non-decreasing
    step function.

21
djf ljf / rf ? 5 (Fig.3)
vts(p6)
d6f
bin3
A6ltvts5 ?
vts(p5)
d5f
vts(p4f)
bin2
d4
vts(p3f)
d3f
vts(p2f)
bin1
A5ltvts4 ?
d2f
A4ltvts3 ?
vts(p1f)
d1f
bin0
vts(p0f)
22
  • Virtual time stamp for pjf
  • The index ijf of the bin used to store pjf
  • If ijf 0 then pjf is stored in the current
    bin.
  • If ijf lt N then pjf is stored in the ijf th
    bin.
  • If ijf gt N then pjf is discarded.

23
  • For BSFQ
  • t1A 0 9000/3000 3t2A 3 9000/3000 6t3A
    6 9000/3000 9
  • t1B 0 9000/1000 9t2B 9 9000/1000
    18t3B 18 9000/1000 27
  • Example
  • Flow A and B
  • rA 3000 bps and rB 1000 bps
  • All packets are 9000 bits in length.
  • A large number of packets from both flows arrive
    at the switch simultaneously at t 0.

24
  • For BSFQ
  • t1A 0 9000/3000 3t2A 3 9000/3000 6t3A
    6 9000/3000 9
  • t1B 0 9000/1000 9t2B 9 9000/1000
    18t3B 18 9000/1000 27

25
  • To accommodate non-conformant flows
  • those do not make reservations
  • Define the residual rate
  • Packets from non-conformant flows are assigned a
    time stamp using rres and then scheduled in the
    same manner as other conformant flows

26
  • A. Delay Guarantee ?
  • A packet scheduler is in class GR if the
    departure time L(pjf) of packet pjf is bounded
    byfor some constant ß.
  • GRC(pjf) for j gt 0 is defined as
  • GRC(p0f) 0.

(3)
27
  • The end-to-end delay dif of packet pjf that
    traverse a path of K nodes, each using GR
    scheduler, is bounded by
  • where GRC1(pjf) GRC(pjf) at node 1,
    A1(pjf) the arrival time of pjf at the first
    node,
  • ßn the constant of node n on the path
  • dn,n1 propagation delay between nodes n and
    n1

28
  • If flow f is a leaky bucket compliant flow with
    parameters (sf, ?f), then

29
  • Lemma 1
  • The number of bits of data Dk admitted into k
    consecutive bins is bounded by
  • Proof
  • ???

?
30
  • Corollary 1
  • The number of bits of data D admitted into
    consecutive bins labeled from t1, t1?) to t2,
    t2?), t1 gt t2, is bounded by
  • Proof
  • ???

?
31
  • Theorem 1
  • The departure time LBSFQ(pjf) of pjf in BSFQ is
    bounded by
  • Proof
  • ???

?
32
  • B. Fairness Guarantee
  • Let L(pjf) departure time of packet pjf
  • At time t L(pjf), BSFQ is servicing the bin
    with the label t(L(pjf)), t(L(pjf)) ?).
  • ?t(L(pjf)) ? vts(pjf)lt t(L(pjf)) ? (8)

v
t
33
  • Lemma 2
  • If flow f is backlogged at time t A(pjf),
    then (8a)
  • Proof

?
?
?
34
  • Theorem 2
  • If flows f and g are backlogged during the
    interval t1, t2, then
  • (8b)
  • Proof
  • Let pk1f, pk11f, , pk2f denote the set of
    packets from flow f that depart in t1, t2.

35
  • ?Backlogged?A(pif) lt L(pi-1f) for i k1, k11,
    , k2, k21
  • (9)

36
  • ?Non-decreasing step, ? (9a)

v
37
t(L(pk2f))
  • From (8) t(L(pjf)) ? vts(pjf)lt t(L(pjf)) ?
  • we have
  • vts(pk2f) ? lt t(L(pk2f))
  • and
  • t(L(pk1f)) ? vts(pk1f)
  • Thus
  • becomes

vts(pk2f) ?
vts(pk1f)
t(L(pk1f))
(9a)
(9b)
38
  • From Lemma 2
  • Thus
  • Summing all
  • Thus (9b) becomes
  • (9d)

39
  • From (9)
  • From (9d)

To find upper bound
(9e)
(Move ? to the left)
(ReplaceSwith 9e)
? (10)
40
  • To find a lower bound, consider two cases
  • (1)
  • thus
  • (2)
  • thus
  • Hint

(9x)
(9y)
41
  • (Case 1)
  • Since no packet departure in t1, L(pk1f), thus
    L(pk1-1f) ?t1?

42
vts(pk21f)
  • From (8) t(L(pjf)) ? vts(pjf)lt t(L(pjf)) ?
  • we have
  • vts(pk1-1f) ? lt t(L(pk1-1f))
  • and
  • t(L(pk21f)) ? vts(pk21f)
  • Thus
  • becomes

t(L(pk21f))
(10x)
t(L(pk1-1f))
?
(10y)
vts(pk1-1f) ?
(10a)
(10b)
43
  • From Lemma 2
  • Thus
  • Summing all
  • Thus (10b) becomes

?
(10z)
(10d)
44
  • From (9)
  • From (10d)

To find lower bound
(10e)
(Move ? to the left)
(ReplaceSwith 10e)
? (11)
45
  • (Case 2)
  • Since no packet departure in t1, L(pk1f), thus
    A(pk1f) ?t1?

46
? (10x)
? (10z)
? (9y)
(11a)
47
(11a)
48
  • From (9)
  • From (11a)
  • We have
  • ?(11) lt (12) ?we take (11) as the lower bound

To find lower bound
(12)
? (11)
49
  • From (10) (11)
  • we have

(13)
50
  • From (13), we have
  • Thus

( subtracting)
? (13)
51
IV. Numerical Examples
  • Compare BSFQ with DDR
  • DDR
  • qf quantum size for flow f
  • The reserved bandwidth for flow f
  • The smaller quantum size, the better
    approximating of WFQ.
  • Increased per packet processing cost (iteration
    without transmitting any packets deficit)
  • BSFQ
  • The smaller bin size, the better approximating of
    WFQ.
  • Increased per packet processing cost
  • Increased per packet processing cost (iteration
    without transmitting any packets t(t))
  • For fair comparison, let ?bin qtot.

52
  • Simulation

53
? Bursty ? Non-conformant
54
  • Fixed packet size of 53 bytes
  • Packet arrivals are generated by Markovian of/off
    process
  • On state constant rate at Rpeak
  • Off state 0
  • where Ton and Toff are the average length of
    the on and off periods, respectively.
  • Average of Ton 1ms
  • Packet shaper Leaky Bucket
  • Bursty rate s
  • Token generation rate ?
  • Simulation time 5000 s

55
  • For DRR, take Q 1, 500, and 1000For BSFQ, ?bin
    45, 22500, 45000

56
Flow 2 3 are similar to flow 1.
?
The DRR method using small quantum size and
the BSFQ method with small ?bin can effectively
approximate WFO.
57
?
Flow 5 6 are similar.
4
The DRR method using small quantum size and
the BSFQ method with small ?bin can effectively
approximate WFO.
58
?
Flow 8 9 are similar.
7
The DRR method using small quantum size and
the BSFQ method with small ?bin can effectively
approximate WFO.
59
?
2
1
60
?
  1. BSFQ and DRR differ significantly from WFQ for
    small delays.
  2. BSFQ converges to WFQ more quickly than DRR.

2
1
61
?
2
1
62
?
2
1
63
?
2
1
64
?
2
1
65
? BSFQDDR
? BSFQ lt DDR
? BSFQ lt DDR
66
BSFQ only drops packets from non-conformant flows.
67
V. Conclusion
  • BSFQ combines the strengths of frame-based and
    priority-based schedulers.
  • Frame-based - bins
  • Priority-based - virtual time stamps
  • BSFQ is highly scalable
  • Constant run time complexity for packet
    processing, as well as for connection
    establishment

68
  • Virtual time interval ? has a significant impact
    on BSFQ.
  • For smaller ?, BSFQ is more akin SCFQ.
  • The amount of state information is inversely
    proportional to ?.
  • A small ? will increase the number of bins
    needed.
  • The efficiency decreases as ? is decreased
    because it increases the likelihood of that some
    bins are empty.
  • BSFQ with small bin size is similar to DRR for
    small quantum size.
  • Determining an optimal value for ? is beyond the
    scope of this paper.

69
  • BSFQ provides end-to-end delay guarantee and
    fairness to flows.
  • BSFQ had a built-in buffer management function
    that can insulate conformant flows from
    non-compliant traffic.
  • BSFQ provides better approximation to WFQ than
    DRR.
Write a Comment
User Comments (0)
About PowerShow.com