Queue Manager
description
Transcript of Queue Manager
![Page 1: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/1.jpg)
Queue Manager
Yuhua Chen, Wen-Jing TangApplied Research LabWashington University
April 20, 2023
![Page 2: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/2.jpg)
2 - Yuhua Chen, Wenjing Tang -April 15, 2002
MSR RAD Block Diagram
![Page 3: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/3.jpg)
3 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR Top
![Page 4: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/4.jpg)
4 - Yuhua Chen, Wenjing Tang -April 15, 2002
CARL/QMGR Interface
![Page 5: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/5.jpg)
5 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR/OSAR
![Page 6: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/6.jpg)
6 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR/CCP Interface
![Page 7: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/7.jpg)
7 - Yuhua Chen, Wenjing Tang -April 15, 2002
QMGR/PSM Interface
![Page 8: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/8.jpg)
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
![Page 9: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/9.jpg)
9 - Yuhua Chen, Wenjing Tang -April 15, 2002
DCHR Top
![Page 10: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/10.jpg)
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
![Page 11: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/11.jpg)
11 - Yuhua Chen, Wenjing Tang -April 15, 2002
SRAM Arbitrator
![Page 12: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/12.jpg)
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
![Page 13: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/13.jpg)
13 - Yuhua Chen, Wenjing Tang -April 15, 2002
SRAM Arbitrator Write TimingOne-Cycle Write
Two-Cycle Write
![Page 14: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/14.jpg)
14 - Yuhua Chen, Wenjing Tang -April 15, 2002
SRAM Arbitrator Read TimingOne-Cycle Read
Two-Cycle Read
![Page 15: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/15.jpg)
15 - Yuhua Chen, Wenjing Tang -April 15, 2002
Packet Header Format (in SRAM)
![Page 16: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/16.jpg)
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
![Page 17: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/17.jpg)
17 - Yuhua Chen, Wenjing Tang -April 15, 2002
SWQM Top
![Page 18: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/18.jpg)
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
![Page 19: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/19.jpg)
19 - Yuhua Chen, Wenjing Tang -April 15, 2002
LNQM Top
![Page 20: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/20.jpg)
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
![Page 21: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/21.jpg)
21 - Yuhua Chen, Wenjing Tang -April 15, 2002
QLNC Top
![Page 22: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/22.jpg)
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
![Page 23: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/23.jpg)
23 - Yuhua Chen, Wenjing Tang -April 15, 2002
Free PTR CTRL Top
![Page 24: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/24.jpg)
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
![Page 25: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/25.jpg)
25 - Yuhua Chen, Wenjing Tang -April 15, 2002
OUTC Top
![Page 26: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/26.jpg)
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
![Page 27: Queue Manager](https://reader035.fdocuments.net/reader035/viewer/2022081506/56813f50550346895daa09db/html5/thumbnails/27.jpg)
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