170 likes | 303 Views
Internet-Scale Overlay Hosting DEPLOYED Demonstration. Patrick Crowley, John DeHart , Mart Haitjema , Fred Kuhns , Jyoti Parwatikar , Ritun Patney , Jon Turner, Charlie Wiseman, Mike Wilson, Ken Wong, Dave Zar Applied Research Lab, Washington University www.arl.wustl.edu /~jst.
E N D
Internet-Scale Overlay Hosting DEPLOYED Demonstration Patrick Crowley, John DeHart, Mart Haitjema, Fred Kuhns, JyotiParwatikar, RitunPatney, Jon Turner, Charlie Wiseman, Mike Wilson, Ken Wong, Dave ZarApplied Research Lab, Washington Universitywww.arl.wustl.edu/~jst
SPP Components CP GPE GPE NPE netFPGA ExternalSwitch Chassis Switch Line Card 10x1 GbE
SPP Deployment 2 2 2
Hosting Platform Details VM VM . . . CP GPE GPE NPE PLOS netFPGA General PurposeProcessing Engine ExternalSwitch Chassis Switch Line Card filter filter Line Card queues lookup parse headerformat . . . . . . 10x1 GbE ... ... ... Network Processing Engine
GEC-6 Demonstrations • GPE: • Forest prototype implemented in GPE • Use as many PlanetLab nodes as needed as data srcs • Data pkts contain PlanetLab hosts performance stats • Laptop at conference site also receives data pkts • Dumps stats into a set of files that can be monitored at demo site. • NPE: • IP demonstration showing off performance aspects of SPP • Use as many PlanetLab nodes as possible/needed as data srcs • Use multiple slices? • Use sp++/serv to generate data packets in tunnels • Monitor NPE stats via SPPMon (modified ONL RLI GUI) • Run both demos Simultaneously!!! • Use Gush (extends Plush) for pushing out code to end nodes.
Demo Configuration Logical View System View R1 R2 R1 C1 C3 R3 10.1.x.2 10.1.x.2 CP CP GPE GPE GPE GPE NPE NPE 1 4 R3 2 5 300M 150M 150M 3 6 LC LC C2 R2 PLC
Defining a Slice 10.1.x.2 10.1.x.2 1 4 2 5 C1 300M R2 R1 150M 150M 3 6 CP CP GPE GPE GPE GPE NPE NPE R3 LC LC PLC
Logging into Slice 10.1.x.2 10.1.x.2 1 4 2 5 C1 300M R2 R1 150M 150M 3 6 CP CP GPE GPE GPE GPE NPE NPE R3 LC LC PLC
Downloading Files to Slice 10.1.x.2 10.1.x.2 1 4 2 5 C1 300M R2 R1 150M 150M 3 6 CP CP GPE GPE GPE GPE NPE NPE NAT R3 LC LC PLC
Configuring Fastpath and Interfaces 10.1.x.2 10.1.x.2 1 4 2 5 D1 C1 300M R2 R1 150M 150M 3 6 CP CP GPE GPE GPE GPE NPE NPE R3 LC LC PLC
Configuring Router Filters, Queues 10.1.x.2 10.1.x.2 1 4 2 5 D1 C1 300M R2 R1 150M 150M 3 6 CP CP GPE GPE GPE GPE NPE NPE R3 LC LC PLC
Sending Traffic Through Network Logical View System View D1 R2 R1 C1 C3 D3 10.1.x.2 10.1.x.2 CP CP GPE GPE GPE GPE NPE NPE 1 4 R3 2 5 300M 150M 150M 3 6 LC LC C2 D2 PLC
ME ME Loc. Mem. threadcontexts NP Blade . . . SRAM SDRAM TC TC ALU NP A MemInt ME . . . RTM ExternalInterfaces TCAMInt xScale input output TCAM SPI Switch FIC SwitchInterface NP B
SRAM SRAM DRAM Line Card Datapath DRAM SRAM SRAM QueueManager (4 ME) Lookup (2 ME) Hdr Format (1 ME) TxIn (2 ME) RxIn (2 ME) Key Extract (2 ME) ingress side TCAM external interfaces switch interface egress side QueueManager (4 ME) FlowStats (2 ME) TxEg (2 ME) Hdr Format (1 ME) Lookup (2 ME) Key Extract (1 ME) RxEg (2 ME) SRAM • Filter/route and rate-control traffic • Network Address Translation for outgoing flows • Record traffic statistics for all outgoing flows
NPE Datapath (version 1) DRAM • Parse and Header Format include slice-specific code • parse extracts header fields to form lookup key • Hdr Format does any required post-lookup processing • Lookup uses opaque key for TCAM lookup • Multiple static code options can be supported • multiple slices per code option • each has own interfaces, filters, queues and private memory SRAM SRAM SRAM QueueManager (4 ME) Substr. Decap (1 ME) Lookup (1 ME) Hdr Format (1 ME) Tx (2 ME) Rx (2 ME) Parse (1 ME) TCAM SRAM
NPE Datapath (Version 2) SRAM SRAM Decap, Parse, Lookup, AddShim (8 MEs) Rx (2 ME) Tx (2 ME) from switch TCAM SPI Switch Tx (2 ME) HdrFmt (4 MEs) QueueManager (4 MEs) Lookup& Copy (2 ME) Rx (2 ME) to switch SRAM SRAM SRAM • Use both NPs, enabling 10 Gb/s throughput • Integrated Decap,Parse,Lookup uses MEs more efficiently • Multicast supported by substrate