1
Scheduling Algorithms for CIOQ Switches Supporting Multiple QoS Classes(Proposal)
- Dr. M. Alam
Dr. M. Alam Min Song The University of Toledo Outline Scheduling - - PDF document
Scheduling Algorithms for CIOQ Switches Supporting Multiple QoS Classes(Proposal) Dr. M. Alam Min Song The University of Toledo Outline Scheduling Algorithms for CIOQ Switches MWM: LQF, OCF, and LPF [AdisakMckeown99] Two
LQF: Picks a match such that the sum of serviced queue’s occupancies is
OCF: Select a match such that the sum of all serviced queue waiting times is maximized.
j i
Q ,
k i
Q ,
k i
Q ,
LPF: Step 1: Sorting 1 Sort inputs & outputs based on their occupancies 2 Reorder requests according to their input and output occupancies Step 2: Matching 1 for each output from largest to smallest 2 for each input from largest to smallest 3 if (there is a request) and (both input and output unmatched) 4 then match them
j i
,
= ) (
,
n L
j i
> 0 ) ( n R i
) (n C j
+ , 0, otherwise ) ( n R i
) (n C j
= ∑
N j j i
n L ) (
,
and = ∑
N i j i
n L ) (
,
crossbar of no buffer with Speedup 2
crossbar of buffer without speedup L1 L2 Per-VC VOQ
G1 G3 G2
Group Classification: G1: real-time traffic, CBR and rt-VBR G2: non-real-time traffic, nrt-VBR and ABR G3: best effort, UBR Any VOQ overflow will cause L1 first stops servicing G3, then G2.
L1: Flow level; Can be implemented
Need information:
priority b/w reservation destination L2 VOQ overflow feedback
Group Service Policy
G1 G2 G3
Within each group, VCs are serviced according to the b/w reservations HOL cells are selected based on their Virtual Finish Times(VFT) Smallest VFT First
VFT can be calculated on SPC
L1 L2 Per-VC VOQ G1 G1 G1
port length VOQ priority
high priority cells more weights low priority less weights
Step 1: Calculating each VOQ priority Step 2: Sorting
Step 3: Matching (same as LPF)
Challenge: L2 is a central scheduler. It needs global information. This makes it hard to be implemented in large switches.
L1 L2 Per-VC VOQ G1 G1 G1
Grant signal from SE VOQ priority
high priority cells more weights low priority less weights
Highest Priority First(HPF)
L1 L2 Per-VC VOQ G1 G1 G1
Single FIFO buffer
RCB 32 RCV CYCB 16data 2control VXT RFMT
RCB (1) No traffic isolation. It may be unfair to good-behavior users; (2) Does not distinguish among VCs(priority, rate…). Hard to guarantee the real-time traffic QoS . Suggestions: VOQ or CBQ.
TS=VFT Smallest VFT First TS=MREG.Time
RCB 32 RCV CYCB 16data 2control VXT RFMT
Cell Store 256 Transmit Transmit Block Transmit Re- Re- Framer Buffer Discard Circuit Sequencer Formatter 166 Circuit 80 MR
L1 L2
Per-VC VOQ G1 G 3 G2
RM.ER.ABR Queue occupancy RM.CI
The backward RM.ER directly affects the value of VFT for ABR connection L2 Scheduler should favor the port pair that has the longest input occupancy and the shortest output occupancy If RM.CI=1, then all VOQs and Per-VCs that aim to that link are marked off
Once the congestion occurs at a particular link, the output queue will keep growing until the backward RM cell comes back to the source and forces the ABRs to reduce their rates. During this RTT time, the scheduler should stop deliver any cell to this port and buffer those cells at the input side as many as possible. So other ports can share the freed SF b/w. For example LPF: Step 2: Matching 1 for each output from largest to smallest 2 for each input from largest to smallest 3 if (there is a request) and (both input and output unmatched) 4 and (RM.CI=0) 5 then match them