Queue Manager
Yuhua Chen, Wen-Jing TangApplied Research LabWashington University
April 20, 2023
2 - Yuhua Chen, Wenjing Tang -April 15, 2002
MSR RAD Block Diagram
3 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR Top
4 - Yuhua Chen, Wenjing Tang -April 15, 2002
CARL/QMGR Interface
5 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR/OSAR
6 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR/CCP Interface
7 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR/PSM Interface
8 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR Block Diagram
CCP
OSAR
SRAM
Line Queue Manager(LNQM)
Switch Queue Manager(SWQM)
Queue Header Controller(QHDC)
Queue LengthController(QLNC)
Output Controller
(OUTC)
DIS
PA
TC
HE
R (
DC
HR
)
LC PSM
SR
AM
A
rbit
rato
r
Free Pointer Controller
CA
RL
SW PSM
32
96 9636
36
32
32
36
16
3216
16
48
48
36
36
36
36
32
36
9 - Yuhua Chen, Wenjing Tang -April 15, 2002
DCHR Top
10 - Yuhua Chen, Wenjing Tang -April 15, 2002
DCHR (Dispatcher) Dispatch packet headers to proper processing blocks Recognize SPC return packets and adjust QID accordingly Keep track of Header Only return packets Process multiple copy packets
Single Copy Packet
Multi Copy Packet
Common Reference
11 - Yuhua Chen, Wenjing Tang -April 15, 2002
SRAM Arbitrator
12 - Yuhua Chen, Wenjing Tang -April 15, 2002
SRAM Arbitrator Functions
Manage SRAM bandwidth Arbitrate among all requesting units
»Free PTR CTRL: 1 cycle, Read/Write»Common Ref: 1 cycle, write only»SWQM enqueue: 2 cycles, write only»SWQM dequeue: 2 cycles, read only»LNQM enqueue: 2 cycles, write only»LNQM dequeue: 2 cycles, read only»OUTC: 1 cycle, Read/Write
zero cycle turn around among different units
13 - Yuhua Chen, Wenjing Tang -April 15, 2002
SRAM Arbitrator Write TimingOne-Cycle Write
Two-Cycle Write
14 - Yuhua Chen, Wenjing Tang -April 15, 2002
SRAM Arbitrator Read TimingOne-Cycle Read
Two-Cycle Read
15 - Yuhua Chen, Wenjing Tang -April 15, 2002
Packet Header Format (in SRAM)
16 - Yuhua Chen, Wenjing Tang -April 15, 2002
Queue Manager Artichecture
To Output 0
0
. . .
Reservedflows
Datagramflows
0
……
7
…
Switch QMGR
Line Card QMGR
To LC
To SW
7
…
Switch QMGR Line Card QMGR
To Output 7
Port 0
Port 7
Port 0
Port 7
17 - Yuhua Chen, Wenjing Tang -April 15, 2002
SWQM Top
18 - Yuhua Chen, Wenjing Tang -April 15, 2002
Per Output Queue Table (SWQM)Output Port #
Queue Tail
Queue Head
0
1
2
3
4
5
6
7
Output Queue Table
External SRAMPacket Headers
19 - Yuhua Chen, Wenjing Tang -April 15, 2002
LNQM Top
20 - Yuhua Chen, Wenjing Tang -April 15, 2002
Line Card Queue List (LNQM)
Packet Headers
Current Queue
Previous Queue
External SRAMQueue Header Table
(on-chip Block RAM)
Queue Headers
21 - Yuhua Chen, Wenjing Tang -April 15, 2002
QLNC Top
22 - Yuhua Chen, Wenjing Tang -April 15, 2002
QLENC Functions
Keep track of per flow queue length Respond to queue length inquiry from CCP Respond to queue length inquiry from LNQM Packet Drop Policy will be implemented here
23 - Yuhua Chen, Wenjing Tang -April 15, 2002
Free PTR CTRL Top
24 - Yuhua Chen, Wenjing Tang -April 15, 2002
Free PTR CTRL Functions
Manage External SRAM space» Initialize free pointer list»Maintain free pointer list
Handle free pointer fetch & return Maintain on-chip free pointer cache
»Recycle free pointers locally
25 - Yuhua Chen, Wenjing Tang -April 15, 2002
OUTC Top
26 - Yuhua Chen, Wenjing Tang -April 15, 2002
OUTC Functions
Send outgoing packet headers to SW/LC OSAR FIFO
Send drop packets to SW/LC PSM drop FIFO Process multiple copy packets
»Obtain packet pointer»Update Copy Count
27 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR Resource Usage
QMGR flops LUTs
DCHR 462 345
LCQM 916 1248
SWQM 693 564
fptr_ctrl 271 291
sram_arbritrator 204 274
QHDC 86 61
OUTC 417 478
QLENC 519 216
Total 3568 3477