Mart Haitjema Block Design Review: ONL NP Router Multiplexer (MUX)

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

NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Supercharging PlanetLab A High Performance,Multi-Alpplication,Overlay Network Platform Reviewed by YoungSoo Lee CSL.
IXP2400 Protocol Offloading Yan Luo Chris Baron
Ubiquitous Component Remoting Support on Overlay Network Adaptation support with Ontology-based annotation Roaming support of wireless component communication.
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 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.
David M. Zar Applied Research Laboratory Computer Science and Engineering Department ONL Freelist Manager.
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.
ECE 526 – Network Processing Systems Design Network Address Translator II.
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,
Design of a High Performance PlanetLab Node
Design of a Diversified Router: Memory 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
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
techX and ONL Summer 2008 Plans
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.
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
SPP Version 1 Router QM Design
Design of a Diversified Router: Project Management
Presentation transcript:

Mart Haitjema Block Design Review: ONL NP Router Multiplexer (MUX)

2 - Mart Haitjema - 3/11/2016 Revision History 5/1/07 (MAH): »Released

3 - Mart Haitjema - 3/11/2016 ONL NP Router SRAM Rx (2 ME) HdrFmt (1 ME) Parse, Lookup, Copy (3 MEs) TCAM SRAM Tx (1 ME) QM (1 ME) xScale Assoc. Data ZBT-SRAM Plugin1Plugin2 Plugin3 Plugin4Plugin5 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 32KW Each Mux (1 ME) (Slide modified from ONL_NProuter.ppt) 64KW

4 - Mart Haitjema - 3/11/2016 Contents Overview »MUX Function »Handling RX »Configurable Multiplexer Policy Design »Compute & Latency Budget »Design Overview Implementation Status

5 - Mart Haitjema - 3/11/2016 Overview - Function Multiplex input from: »RX  MUX  2 Word per pkt  64KW SRAM Ring  64KW/2 = 32K pkts »xScale  MUX  3 Word per pkt  64KW SRAM Ring  64KW/3 = 21.3K pkts »Plugins  MUX  3 Word per pkt  64KW SRAM Ring  64KW/3 = 21.3K pkts xScale 64KW Mux (1 ME) Plugins RX PLC To Parse-Lookup-Copy »MUX  PLC  3 Word per pkt  256 Word Scratch Ring  256/3 = 85 pkts 64KW

6 - Mart Haitjema - 3/11/2016 Overview - Handling RX Rx (2 ME) Parse, Lookup, Copy (3 MEs) xScale Plugin0Plugin1 NN SRAM 64KW Each Flags: Src: Source (2b): 00: Rx 01: XScale 10: Plugin 11: Undefined PT(1b): PassThrough(1)/Classify(0) Reserved (5b) L3 (IP, ARP, …) Pkt Length (16b) Buffer Handle(24b) Stats Index (16b) QID(16b) In Port (3b) Plugin Tag (5b) Flags (8b) Rsv (4b) Out Port (4b) Buf Handle(32b) InPort (4b) Reserved (12b) Eth. Frame Len (16b) 64KW Mux (1 ME) Reserved (5b)Src (2b) PT (1b) (Slide modified from ONL_NProuter.ppt) Modify Header Buffer Descriptor from RX Buffer Handle(24b) Rsv (8b)

7 - Mart Haitjema - 3/11/2016 Overview - Handling RX Mux Block writes: »Buffer_size  (frame length from Rx) -14 »Packet_size  (frame length from Rx) -14 »Offset  0x18E »Freelist  0 »Ref_cnt  1 (Slide from ONL_NProuter.ppt)

8 - Mart Haitjema - 3/11/2016 Overview - Multiplexer Policy MUX should service input queues based on a configurable policy Round-Robin Policy »Queues are serviced in round-robin fashion »Each input queue is assigned a quantum which specifies the number of packets (0 to 255) to be serviced from queue (if available) before moving on to the next queue »Quantum value of 0 means skip queue unless all other queues are empty »Quantum values are stored as 3 contiguous bytes in scratch memory

9 - Mart Haitjema - 3/11/2016 Compute & Latency Budget What is our performance target? »To hit 5 Gb rate:  Minimum Ethernet frame: 76B Ø 64B frame + 12B InterFrame Spacing  5 Gb/sec * 1B/8b * packet/76B = 8.22 Mpkt/sec »IXP ME processing:  1.4Ghz clock rate  1.4Gcycle/sec * 1 sec/ 8.22 Mp = cycles per packet »Compute budget: 1 ME thus 170 cycles per packet »Latency budget: (threads*170) Ø 1 ME: 1 threads: 170 cycles Ø 1 ME: 4 threads: 680 cycles Ø 1 ME: 8 threads: 1360 cycles (Slide modified from ONL_NProuter.ppt)

10 - Mart Haitjema - 3/11/2016 Design Overview Read Quantum Values Read All Occupancy Counters Select Queue Read RX Input Ring Read xScale Input Ring Read Plugins Input Ring Write RX Occupancy Counter Write xScale Occupancy Counter Write Plugins Occupancy Counter Format & Write Buffer Descriptor Update Stats Counter Write PLC Output Ring (dl_sink) Service RX Service xScale Service Plugins 300 Cycles 60 Cycles Latency Total: ~420 Swap Wait For prev. sig_start Signal next_start 150 Cycles

11 - Mart Haitjema - 3/11/2016 Implementation Status MUX Assembly Stub: »Currently reads only from RX »Performs most of functionality for RX Need to Implement: »Thread ordering »Quantum Policy »Conditional block to process from Plugins and xScale »Read and Write Occupancy Counters

12 - Mart Haitjema - 3/11/2016 File locations (in …/ONL_Router/) Code »src/mux/ONL/mux.c Includes »src/dispatch_loop/ONL/dl_source.[h,c]  dl_source() and dl_sink() functions