David M. Zar Applied Research Laboratory Computer Science and Engineering Department ONL Freelist Manager.

Slides:



Advertisements
Similar presentations
Engineering Patrick Crowley, John DeHart, Mart Haitjema, Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Jon Turner, Charlie Wiseman, Mike Wilson, Ken Wong,
Advertisements

Supercharging PlanetLab A High Performance,Multi-Alpplication,Overlay Network Platform Reviewed by YoungSoo Lee CSL.
A First Example: The Bump in the Wire A First Example: The Bump in the Wire 9/ INF5061: Multimedia data communication using network processors.
John DeHart ONL NP Router Block Design Review: Lookup (Part of the PLC Block)
David M. Zar Applied Research Laboratory Computer Science and Engineering Department ONL Stats Block.
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Michael Wilson Block Design Review: ONL Header Format.
John DeHart Flow Stats Module -- Control Design. 2 - Flow Stats Module – John DeHart and James Moscola SPP V1 LC Egress with 1x10Gb/s Tx SWITCHSWITCH.
John DeHart and Mike Wilson SPP V2 Router Design.
1 - Charlie Wiseman - 05/11/07 Design Review: XScale Charlie Wiseman ONL NP Router.
Michael Wilson Block Design Review: Line Card Key Extract (Ingress and Egress)
Block Design Review: Queue Manager and Scheduler Amy M. Freestone Sailesh Kumar.
John DeHart Block Design Review: Lookup for IPv4 MR, LC Ingress and LC Egress.
Brandon Heller Block Design Review: Substrate Decap and IPv4 Parse.
1 - Charlie Wiseman, Shakir James - 05/11/07 Design Review: Plugin Framework Charlie Wiseman and Shakir James ONL.
John DeHart An NP-Based Router for the Open Network Lab Memory Map.
David M. Zar Block Design Review: PlanetLab Line Card Header Format.
1 - John DeHart, Jing Lu - 3/8/2016 SRAM ONL NP Router Rx (2 ME) HdrFmt (1 ME) Parse, Lookup, Copy (3 MEs) TCAM SRAM Mux (1 ME) Tx (1 ME) QM (1 ME) xScale.
Mart Haitjema Block Design Review: ONL NP Router Multiplexer (MUX)
WINLAB Open Cognitive Radio Platform Architecture v1.0 WINLAB – Rutgers University Date : July 27th 2009 Authors : Prasanthi Maddala,
John DeHart Netgames Plugin Issues. 2 - JDD - 6/13/2016 SRAM ONL NP Router Rx (2 ME) HdrFmt (1 ME) Parse, Lookup, Copy (3 MEs) TCAM SRAM Mux (1 ME) Tx.
Supercharged PlanetLab Platform, Control Overview
Flow Stats Module James Moscola September 12, 2007.
ONL NP Router xScale xScale TCAM SRAM Rx (2 ME) Mux (1 ME) Parse,
Reference Router on NetFPGA 1G
Design of a High Performance PlanetLab Node
Design of a Diversified Router: TCAM Usage
SPP Version 1 Router Plans and Design
An NP-Based Router for the Open Network Lab Design
An NP-Based Router for the Open Network Lab
An NP-Based Ethernet Switch for the Open Network Lab Design
Design of a Diversified Router: Line Card
Design of a Diversified Router: Packet Formats
ONL NP Router xScale xScale TCAM SRAM Rx (2 ME) Mux (1 ME) Parse,
SPP Version 1 Router NAT John DeHart.
Design of a Diversified Router: Common Router Framework
Design of a Diversified Router: Project Management
Design of a Diversified Router: Line Card
ONL NP Router Plugins Shakir James, Charlie Wiseman, Ken Wong, John DeHart {scj1, cgw1, kenw,
Design of a Diversified Router: Dedicated CRF for IPv4 Metarouter
An NP-Based Router for the Open Network Lab
Design of a Diversified Router: IPv4 MR (Dedicated NP)
SPP V2 Router Plans and Design
Flow Stats Module James Moscola September 6, 2007.
Design of a Diversified Router: Line Card
An NP-Based Router for the Open Network Lab Overview by JST
ONL Stats Engine David M. Zar Applied Research Laboratory Computer Science and Engineering Department.
Supercharged PlanetLab Platform, Control Overview
Next steps for SPP & ONL 2/6/2007
IXP Based Router for ONL: Architecture
An NP-Based Router for the Open Network Lab
An NP-Based Router for the Open Network Lab
QM Performance Analysis
John DeHart and Mike Wilson
SPP V1 Memory Map John DeHart Applied Research Laboratory Computer Science and Engineering Department.
SDK Demo/Tutorial John DeHart.
Planet Lab Memory Map David M. Zar Applied Research Laboratory Computer Science and Engineering Department.
Design of a Diversified Router: Dedicated CRF plus IPv4 Metarouter
Code Review for IPv4 Metarouter Header Format
Code Review for IPv4 Metarouter Header Format
SPP Version 1 Router Plans and Design
An NP-Based Router for the Open Network Lab Meeting Notes
An NP-Based Router for the Open Network Lab Project Information
An NP-Based Router for the Open Network Lab Design
John DeHart and Mike Wilson
SPP Router Plans and Design
IXP Based Router for ONL: Architecture
Design of a High Performance PlanetLab Node: Line Card
Design of a Diversified Router: Project Management
Reference Router on NetFPGA 1G
Presentation transcript:

David M. Zar Applied Research Laboratory Computer Science and Engineering Department ONL Freelist Manager

2 - David M. Zar - 12/25/2015 SRAM ONL NP Router Rx (2 ME) HdrFmt (1 ME) Parse, Lookup, Copy (3 MEs) TCAM SRAM Mux (1 ME) Tx (1 ME) QM (1 ME) xScale Assoc. Data ZBT-SRAM Plugin0Plugin1 Plugin2 Plugin3Plugin4 NN FreeList Mgr (1 ME) Tx, QM Parse Plugin XScale Stats (1 ME) QM Copy Plugins SRAM NN SRAM Ring Scratch Ring NN Ring NN SRAM 64KW Each

3 - David M. Zar - 12/25/2015 MEs -> FM (Freelist Manager) FM Rsv (8b) Buffer Handle(24b)

4 - David M. Zar - 12/25/2015 ONL DRAM Buffer and SRAM Buffer Descriptor Buffer_Next (32b) EtherType (16b) Packet_Next (32b) Reserved (4b) Free_list 0000 (4b) Ref_Cnt (8b) MAC DAddr_47_32 (16b)Stats Index (16b) MAC DAddr_31_00 (32b) Reserved (32b) Buffer_Size (16b) Packet_Size (16b) Offset (16b) Reserved (16b) 0x000 IP Packet Empty Ethernet Hdr 0x180 0x800 0x18E Normal Unicast case: »One copy of packet being sent to one output port SRAM Buffer Descriptor Fields: »Buffer_Next: NULL »Buffer_Size: IP_Pkt_Length »Packet_Size: IP_Pkt_Length »Offset: 0x18E »Freelist: 0 »Ref_Cnt: 1 »MAC_DAddr: »Stats Index: »EtherType: 0x0800 (IP) »Packet_Next:

5 - David M. Zar - 12/25/2015 ONL DRAM Buffer and SRAM Buffer Descriptor Buffer_Next (32b) EtherType (16b) Packet_Next (32b) Reserved (4b) Free_list 0000 (4b) Ref_Cnt (8b) MAC DAddr_47_32 (16b)Stats Index (16b) MAC DAddr_31_00 (32b) Reserved (32b) Buffer_Size (16b) Packet_Size (16b) Offset (16b) Reserved (16b) 0x000 Empty 0x180 0x800 0x18E Multi-copy case: »>1 copy of packet in system »This copy going from Copy to QM to go out on an output port Buffer_Next (32b) EtherType (16b) Packet_Next (32b) Reserved (4b) Free_list 0000 (4b) Ref_Cnt (8b) MAC DAddr_47_32 (16b)Stats Index (16b) MAC DAddr_31_00 (32b) Reserved (32b) Buffer_Size (16b) Packet_Size (16b) Offset (16b) Reserved (16b) 0x000 IP Packet Empty Ethernet Hdr 0x180 0x800 0x18E Header Buf DescriptorPayload Buf Descriptor

6 - David M. Zar - 12/25/2015 ONL DRAM Buffer and SRAM Buffer Descriptor Buffer_Next (32b) EtherType (16b) Packet_Next (32b) Reserved (4b) Free_list 0000 (4b) Ref_Cnt (8b) MAC DAddr_47_32 (16b)Stats Index (16b) MAC DAddr_31_00 (32b) Reserved (32b) Buffer_Size (16b) Packet_Size (16b) Offset (16b) Reserved (16b) 0x000 Empty 0x180 0x800 0x18E Buffer_Next (32b) EtherType (16b) Packet_Next (32b) Reserved (4b) Free_list 0000 (4b) Ref_Cnt (8b) MAC DAddr_47_32 (16b)Stats Index (16b) MAC DAddr_31_00 (32b) Reserved (32b) Buffer_Size (16b) Packet_Size (16b) Offset (16b) Reserved (16b) 0x000 IP Packet Empty Ethernet Hdr 0x180 0x800 0x18E Header Buf DescriptorPayload Buf Descriptor Multi-copy case (continued): »>1 copy of packet in system »This copy going from Copy to QM to go out on an output port Header Buf Descriptor: »SRAM Buffer Descriptor Fields: Buffer_Next: ptr to payload buf desc Buffer_Size: 0 (Don’t Care) Packet_Size: IP_Pkt_Length Offset: 0 (Don’t Care) Freelist: 0 Ref_Cnt: 1 MAC_DAddr: Stats Index: Ø Different copies of the same packet may actually have different Stats Indices EtherType: 0x0800 (IP) Packet_Next:

7 - David M. Zar - 12/25/2015 ONL DRAM Buffer and SRAM Buffer Descriptor Buffer_Next (32b) EtherType (16b) Packet_Next (32b) Reserved (4b) Free_list 0000 (4b) Ref_Cnt (8b) MAC DAddr_47_32 (16b)Stats Index (16b) MAC DAddr_31_00 (32b) Reserved (32b) Buffer_Size (16b) Packet_Size (16b) Offset (16b) Reserved (16b) 0x000 Empty 0x180 0x800 0x18E Buffer_Next (32b) EtherType (16b) Packet_Next (32b) Reserved (4b) Free_list 0000 (4b) Ref_Cnt (8b) MAC DAddr_47_32 (16b)Stats Index (16b) MAC DAddr_31_00 (32b) Reserved (32b) Buffer_Size (16b) Packet_Size (16b) Offset (16b) Reserved (16b) 0x000 IP Packet Empty Ethernet Hdr 0x180 0x800 0x18E Header Buf DescriptorPayload Buf Descriptor Multi-copy case (continued): »>1 copy of packet in system »This copy going from Copy to QM to go out on an output port Payload Buf Descriptor: »SRAM Buffer Descriptor Fields: Buffer_Next: NULL Buffer_Size: IP_Pkt_Length Packet_Size: IP_Pkt_Length Offset: 0x18E Freelist: 0 Ref_Cnt: MAC_DAddr: Stats Index: EtherType: Packet_Next:

8 - David M. Zar - 12/25/2015 FM() While (true) { dl_source_scr_1word() if (BufHandleNextBuffer = UC_NULL) { if (BufHandleRefCnt-- = 1) { WU_dl_buf_free(BufHandle) } else { // do nothing else… this is the standard case for TX transmitting // all but the last copy of a copied packet } } else { DataBuffer = BufHandleNextBuffer; if (BufHandleRefCnt != 1) { ERROR // RefCnt !=1 but this is pointing to a data buffer } else { BufHandle->NextBuffer = UC_NULL WU_dl_buf_free(BufHandle) if (DataBuffer->RefCnt-- = 1) WU_dl_buf_free(DataBuffer) } WU_dl_buf_free does the actual cleanup and enqueing of the SRAM buffer dl_buf_free will be modified to send commands to FM (???)

9 - David M. Zar - 12/25/2015 Performance Targets To hit 5 Gb rate: »76B per min IPv4 packet (64 min Enet Frame + 12B IFS) »1.4Ghz clock rate »5 Gb/sec * 1B/8b * packet/76B = 8.23 Mp/sec »1.4Gcycle/sec * 1 sec/ 8.23 Mp = 170 cycles per packet »compute budget: 170 cycles »latency budget: (threads*170) 8 threads: 1360 cycles

10 - David M. Zar - 12/25/2015 FM Block Diagram (worst case) Read Scratch Ring Set BufNext = UC_NULL WU_dl_buf_free SRAM Write: 1W 150 cycles mem access Latency ctx_swap --RefCnt = 0 SRAM Test-and-decr 150 cycles ctx_swap WU_dl_buf_free SRAM Enqueue TOTAL (No optimization) 510 cycles SCR Read: 1W 60 cycles Check BufHandle  NextBuffer SRAM Read: 1W 150 cycles

11 - David M. Zar - 12/25/2015 Lookup File locations Code »src/applications/ONL_Router/src/freelistMgr/freelistMgr.uc Include Paths »src/applications/ONL_Router/src/dispatch_loop/ONL/ dl_source.h and dl_source.uc Ø dl_source() and dl_sink() functions »Other, standard, include paths (Intel SDK provided)