Title: Max-Min%20Fair%20Self-Randomized%20Scheduler%20for%20Input-Buffered%20Switches
1Max-Min Fair Self-Randomized Scheduler for
Input-Buffered Switches
2Outline
- Introduction
- Models and definition
- Instantaneous vs. Total arrival for self
randomization - Max-min fair based self-randomized scheduler
- Simulation result
3Introduction
- 1. Benefit of Input buffered switch
- Input buffered switch architecture become
dominant architecture for high speed switch
fabrics - Their memory BW is lower than alternative
architecture, such as output-buffered and shared
memory . - Memory speed is independent of number of ports
- ? input buffered architecture is scalable both in
terms of line speed and port numbers.
4Introduction
- 2. VOQ (virtual output queue)
- Pkt arriving at input i and destined for output j
are buffered in VOQij - VOQ resolve HOL blocking in input buffered
switch. (without VOQ, throughput58.6)
5Introduction
- 3. MWM (Maximum Weighted matching)
- ?ij average cell arrival rate at input i
- for output j
- ? ?ij lt1 gt traffic is admissible
- If traffic is admissible, MWMs throughput 100
- Deterministic sequential algorithm complex for
high speed switch
6Introduction
- 4. randomized scheduling algo.
- Low complexity,
- Basic idea instead of deriving scheduling
matching, to select it from a set of
predetermined candidates - Simple randomized procedure obtain or update
candidate set in every time slot - Weight backlogged cell
- Randomly selected matching previous time slot
matching - Stable but delay
7Introduction
- 5. self-randomized scheduling algo.
- Rely on arrival pattern for generating good
candidate matchings. - Shortcomings
- Lower arrival rate, cell arrival occurs very
rarely, generated candidate matchings are very
sparse? bad - We propose to use total cell arrival graph
instead of instantaneous arrival graph
8Introduction
- 6. token based max-min fair scheduling algo.
- Allocates BW among flows proportional to their
weights, if a flow can not utilize its BW then
residual BW is distributed among others. - Original max-min fair scheduler categorized as
deterministic MWM scheduling algo, weight is
number of tokens allocated to them.
9Introduction
- 7. what we will do in this paper
- We extend idea of max-min fair scheduling algo,
concept of max-min fair self-randomized
scheduling algo. - We use both token generation process arrival
process ? generating candidate matching - We use number of tokens number of backlogged
cells ? weight of link
10Introduction
deterministic ?? matching Weight - backlogged cell
randomized ?? randomly matching previous time matching Weight -backlogged cell
Self-randomized Instead pure random matching, use arrival pattern Weight- backlogged cell
Token based Like deterministic Weight number of token
11Models and Definitions
- 1.Notation
- If input i is matched to output j, corresponding
VOQ is not empty. - Matching can be represented by matrix ? ij 1
12Models and Definitions
- 2. Algorithm 1(Tass) (randomized algo.)
- ? S(n) schedule used at time n.
- ? At time n1, choose matching R(n1) uniformly
at random from set of ? - ? S(n1)avg max ?S(n),R(n1)
- Every time slot, random matching is generated,
its weight is compared to weight of matching that
is used in previous time slot - Matching with highest weight is selected for
scheduling - Stable but poor delay performance
13Models and Definitions
- 3. Algorithm 2 (SERENA) (self- randomized
algo.) - ? S(t-1) schedule used at time t-1
- ? A(t)aij(t) denote arrival graph aij(t)1
indicates arrival aij(t)0 no arrival at time t - ? S(t) merging A(t) and S(t-1)
14Models and Definitions
- 3. we propose self-randomized schedulers
15Models and Definitions
- First stage
- Memory bank that buffers K previously used
matchings. - Selects candidate matching with highest weight
out of K matchings - Candidate matching is passed to second stage
- Difference between existed randomized scheduling
algo. and proposed self-randomized algo. - Existed process matching that is used in
previous time slot - We account matching that are used in K previous
time slots. - Saving previous matching and using it as a new
candidate is main reason for stability of Tass
algo.
16Models and Definitions
- Second stage
- Generate a candidate matching in self-randomized
block, merge that matching with candidate
matching out of first stage - End result of merging block is scheduling
matching for that time slot
17Instantaneous vs. Total arrival for
self-randomization
- 1. In SERENA,
- candidate matching is based on instantaneous
arrivals. - Weight function is simply number of backlogged
cells. - Shortcomings
- Every new arrival gets one chance to be included
in self-randomized matching. - if link loses its chance, it should wait for
another new arrival to get another opportunity.
18Instantaneous vs. Total arrival for
self-randomization
- 2. resolve problem
- We use total arrival graph
- In total graph, there is link for all previous
cell arrivals that are not scheduled yet. - Total arrival graph evolution is based on link
insertions and ejection rules - Insertion any link with new arrival that is not
in total arrival graph is added to total arrival
graph - Ejection links that are scheduled are removed
from total arrival graph.
19Instantaneous vs. Total arrival for
self-randomization
- Every cell time matching is extracted from total
arrival graph. - Similar to SERENA, for every output port link
with largest weight is selected from total
arrival graph.
20Max-Min Fair based Self-Randomized Scheduler
- New class of self-randomized scheduling algo.
that use set of token values for link weight
function. - Token based weight function enables us to do BW
allocation among different flows based of their
reserved rates. - Each flow i has normalized reserved rat or
priority, wi.
21Max-Min Fair based Self-Randomized Scheduler
- BW allocation is said to be max-min fair if BW
allotted to a flow can not be improved without
decreasing that of any other flow having equal or
less BW. - BW allocation is max-min fair if it is not
possible to increase BW of any flow i, without
hurting another flow j.
22Max-Min Fair based Self-Randomized Scheduler
- In original algorithm,
- Scheduler distributes tokens between eligible
flows - Weight of link is min number of allocated tokens
to it. - When a link is scheduled, one token is taken out
of its allocated token buckets.
23Max-Min Fair based Self-Randomized Scheduler
- In our scheme,
- Weight of link is min of tokens allocated to it
and number of backlogged cells constant B - Even though number of tokens is not limited by
number of backlogged cells, weight of link can
not exceed number of backlogged cell by more than
constant B. - Once Cell arrives it does not need to wait for
scheduler.
24Simulation Results
16X16 input buffered switch
25Simulation Results
K32
Large delay at low rate for B1 ?link is
introduced to self-randomized graph, only when
there is a new arrival for that link. It should
wait for the next cell arrival to get another
chance
26Simulation Results
In B2, performance at low rates is better than
B1, but still average delay plots. Total cell
arrival graph.