Jon Turner Applied Research Lab Computer Science & Engineering Washington University www.arl.wustl.edu Supercharged Planetlab Platform GENI Experimenters’

Slides:



Advertisements
Similar presentations
All Rights Reserved © Alcatel-Lucent 2009 Enhancing Dynamic Cloud-based Services using Network Virtualization F. Hao, T.V. Lakshman, Sarit Mukherjee, H.
Advertisements

John DeHart Computer Science & Engineering Washington University GEC7: SPP Tutorial Notes.
Engineering Patrick Crowley, John DeHart, Mart Haitjema, Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Jon Turner, Charlie Wiseman, Mike Wilson, Ken Wong,
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Supercharging PlanetLab A High Performance,Multi-Alpplication,Overlay Network Platform Reviewed by YoungSoo Lee CSL.
Senior Project with the SPP Michael Williamson. Communicating with a Slice Slice-RMP library using a Unix Domain Socket ◦ RPC-Like ◦ Slice application.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
1 Internet Networking Spring 2004 Tutorial 13 LSNAT - Load Sharing NAT (RFC 2391)
An Overlay Data Plane for PlanetLab Andy Bavier, Mark Huang, and Larry Peterson Princeton University.
The Network Layer Forwarding –Internal path to follow Routing –External path to follow Models –Guaranteed delivery with or without bounded delay –In-order.
Internet In A Slice Andy Bavier CS461 Lecture.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
Lesson 1: Configuring Network Load Balancing
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #12 LSNAT - Load Sharing NAT (RFC 2391)
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
Patrick Crowley and Jon Turner and John DeHart, Mart Haitjema Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Charlie Wiseman, Mike Wilson, Ken Wong, Dave.
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
Click to edit Master subtitle style Chapter 17: Troubleshooting Tools Instructor:
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
John DeHart Computer Science & Engineering Washington University GEC7: SPP Tutorial Hands On Exercises.
Network Redundancy Multiple paths may exist between systems. Redundancy is not a requirement of a packet switching network. Redundancy was part of the.
InterVLAN Routing Design and Implementation. What Routers Do Intelligent, dynamic routing protocols for packet transport Packet filtering capabilities.
23-Support Protocols and Technologies Dr. John P. Abraham Professor UTPA.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
John DeHart Computer Science & Engineering Washington University GEC7: SPP Tutorial Hands On Exercises.
1 ELEN602 Lecture 2 Review of Last Lecture Layering.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
1 Routing. 2 Routing is the act of deciding how each individual datagram finds its way through the multiple different paths to its destination. Routing.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
Software-defined Networking Capabilities, Needs in GENI for VMLab ( Prasad Calyam; Sudharsan Rajagopalan;
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
Patrick Crowley and Jon Turner and John DeHart, Mart Haitjema Fred Kuhns, Jyoti Parwatikar, Ritun Patney, Charlie Wiseman, Mike Wilson, Ken Wong, Dave.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Sponsored by the National Science Foundation 1 GREESC15– May 25, 2015 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do.
1 - Charlie Wiseman - 05/11/07 Design Review: XScale Charlie Wiseman ONL NP Router.
John DeHart Computer Science & Engineering Washington University GEC-10: Slick Packets Demonstration.
Washington WASHINGTON UNIVERSITY IN ST LOUIS CP and Full MSR Test Status.
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Dynamic Host Configuration Protocol (DHCP)
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
Linux Operations and Administration
Network Layer: Address Mapping, Error Reporting, and Multicasting
+ Routing Concepts 1 st semester Objectives  Describe the primary functions and features of a router.  Explain how routers use information.
Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
Engineering John DeHart and Jon Turner Applied Research Lab, Washington University SPP Deployment Plan.
1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Fred Kuhns - 3/15/2016 Allocate and free code option instance, NPE resources and interface bandwidth. Manage.
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
CS 283Computer Networks Spring 2013 Instructor: Yuan Xue.
LonWorks Introduction Hwayoung Chae.
Network Layer IP Address.
Chapter 7: Using Network Clients The Complete Guide To Linux System Administration.
Jon Turner Applied Research Lab Computer Science & Engineering Washington University Forest – an Overlay Network for Real-time Distributed.
Cisco Routers Routers collectively provide the main feature of the network layer—the capability to forward packets end-to-end through a network. routers.
6. The Open Network Lab Overview and getting started
Supercharged PlanetLab Platform, Control Overview
Using the jFed tool to experiment from zero to hero
Hubs Hubs are essentially physical-layer repeaters:
GEC7: SPP Tutorial Notes
techX and ONL Summer 2008 Plans
Supercharged PlanetLab Platform, Control Overview
Network Core and QoS.
SPP Version 1 Router Traffic Examples
Design of a Diversified Router: November 2006 Demonstration Plans
A High Performance PlanetLab Node
Network Core and QoS.
Presentation transcript:

Jon Turner Applied Research Lab Computer Science & Engineering Washington University Supercharged Planetlab Platform GENI Experimenters’ Workshop – 6/2010

Shameless Plug This talk is just a teaser To really learn how to use the SPPs, come to our tutorial at GEC-8 (Thursday, 7/22) »more detailed presentations »live demonstrations »supervised hands-on session If you can’t do that »read the online tutorial at wiki.arl.wustl.edu/spp »get an account at spp_plc.arl.wustl.edu »start playing

SPP Nodes SPP is a high performance overlay hosting platform Designed to be largely compatible with PlanetLab How it’s different from PlanetLab »multiple processors, including an NP-blade for slice fastpaths »multiple 1 GbE interfaces »support for advance reservation of interface bw, NP resources Chassis Switch 10x1 GbE CP External Switch net FPGA GPE NPE Line Card

SPP Deployment in Internet two more nodes Houston and Atlanta later this year

Washington DC Installation

Details I2 Optical Connections ProtoGENI I2 Internet Service I2 Router SPP SPP_PLC SALT KANS WASH spp_plc.arl. wustl.edu

Hosting Platform Details Chassis Switch 10x1 GbE CP External Switch net FPGA GPE NPE Line Card PLOS VM... General Purpose Processing Engine filter... filter Line Card lookupparseheader format... queues... Network Processing Engine

Key Control Software Components System Resource Manager (SRM) »runs on Control Processor »retrieves slice definitions from SPP-PLC »manages all system-level resources and reservations Resource Management Proxy RMP) »runs on GPEs (in root vServer) »provides API for user slices to access resources Slice Configuration tool (scfg) »command-line interface to RMP Substrate Control Daemon (SCD) »runs on NPE management processor »supports NPE resource configuration, statistics reporting

Application Framework Fastpath/slowpath »fastpath mapped onto NPE »control daemon in vServer on GPE Configurable elements »code option – determines how packets processed by parse, header format »fastpath interfaces map to physical interface provisioned bandwidth »TCAM filters »Queues length, bandwidth Control daemon can configure fastpath through RMP »or users can configure manually with scfg ParseLookup Filters Control Interface Header Format Queue Manager Fast Path... output interfaces input interfaces control daemon (in vServer) GPE Remote Login Interface exception packets & in-band control

Working with SPPs Define new slice using SPP-PLC »just like PlanetLab Login to SPPs in slice to install application code Reserve resources needed for your experiment »includes interface bandwidth on external ports and NPE fastpath resources To run experiment during reserved period »“claim” reserved resources »setup slowpath endpoints »configure fastpath (if applicable) »setup real-time monitoring »run application and start traffic generators

Web Site and SPP_PLC /Internet_Scale_Overlay_Hosting /The_SPP_Tutorial spp_plc.arl.wustl.edu

Creating a Slice SPP_ PLC Chassis Switch CP External Switch net FPGA GPE NPE Line Card SRM

Preparing a Slice Chassis Switch CP External Switch net FPGA GPE NPE Line Card SLM Logging into slice SFTP connection for downloading code Requires Network Address Translation datapath detects new connection, LC control processor adds filters

Chassis Switch CP External Switch net FPGA GPE NPE LC SRM RMP Configuring a Slowpath Endpoint ●Request endpoint with desired port number on specific interface thru Resource Manager Proxy (RMP) ●RMP relays request to System Resource Manager (SRM) ●SRM configures LC filters for interface ●Arriving packets directed to slice, which is listening on socket

Setting Up a Fast Path ●Request fastpath through RMP ●SRM allocates fastpath ●Specify logical interfaces and interface bandwidths ●Specify #of filters, queues, binding of queues to interfaces, queue lengths and bandwidths ●Configure fastpath filters Chassis Switch CP External Switch net FPGA GPE NPE LC SRM RMP lookupparseheader format queues...

Displaying Real-Time Data Fastpath maintains traffic counters and queue lengths To display traffic data »configure an external TCP port »run sliced within your vServer, using configured port sliced --ip port 3552 & »on remote machine, run SPPmon.jar use provided GUI to setup monitoring displays SPPmon configures sliced, which polls the NPE running the fastpath SCD-N reads and returns counter values to sliced can also display data written to file within your vServer NPECPGPE Line Card SCD sliced SPPmon

Command Line Tools scfg – general slice configuration tool »scfg –-cmd make_resrv (cancel_resrv, get_resrvs,..) »scfg –-cmd claim_resources »scfg –-info get_ifaces (...) »scfg –-cmd setup_sp_endpoint (setup_fp_tunnel,..) »same features (and more) available thru C/C++ API sliced – monitor traffic and display remotely ip_fpd – fastpath daemon for with IPv4 fastpath »handles exception packets (e.g. ICMP ping) »can extend to add features (e.g. bw reservation option) ip_fpc – fastpath configuration tool for IPv4 fastpath

Forest Overlay Network Overlay for real-time distributed applications »large online virtual worlds »distributed cyber-physical systems Large distributed sessions »endpoints issue periodic status reports »and subscribe to dynamically changing sets of reports »requires real-time, non-stop data delivery, even as communication pattern changes Per-session provisioned channels (comtrees) »unicast data delivery with route learning »dynamic multicast subscriptions using multicast core overlay router client server access connection comtree

Unicast Addressing and Forwarding Every comtree has its own topology and routes Two level unicast addresses »zip code and endpoint number Nodes with same zip code form subtree »all nodes in “foreign” zips reached through same branch Unicast routing »table entry for each foreign zip code and local endpoint »if no route table entry, broadcast and set route request flag »first router with a route responds

Multicast Routing Flat addresses »on per comtree basis Hosts subscribe to multicast addresses to receive packets Each comtree has “core” subtree »multicast packets go to all core routers »subscriptions propagate packets outside core Subscription processing »propagate requests towards first core router »stop if intermediate router already subscribed »can subscribe/unsubscribe to many multicasts at once Core size can be configured to suit application core subtree subscriptions propagate towards core

Forest Packet Format Encapsulated in IP/UDP packet »IP (addr,port#) identify logical interface to Forest router Types include »user data packets »multicast subscribe/unsubscribe »route reply Flags include »unicast route request IP/UDP Header (addr,port#) identify logical interface verlengthtypeflags comtree src adr dst adr header err check payload (≤1400 bytes) payload err check

Basic Demo Setup WASH KANS SALT * * * * planetlab nodes laptop

Simple Unicast Demo Uses one host at each router Single comtree with root at KANS Host 1.1 sends to 2.1 and 3.1 »packet to 3.1 flagged with route-request and “flooded” »router responds with route-reply Host 2.1 sends to 1.1 and 3.1 »already has routes to both so no routing updates needed Host 3.1 sends to 1.1 and 2.1 »packet to 1.1 flagged with route-request and “flooded” »router responds with route-reply 1.* 2.* 3.*

new route from (at salt) to 3.0 (at wash) new route from (at salt) to 1.0 (at wash) receives flagged packet from to 3.1 sending route-reply forwarding to 3.1 and sending route-reply use UserData to display data in stats files on GPEs run script to launch Forest routers and hosts

Setting up & Running the Demo Prepare Forest router configuration files »config info for Forest links, comtrees, routes, statistics Prepare/save SPPmon config – specify charts Reserve SPP resources »bandwidth on four external interfaces (one for sliced) Start session »claim reserved resources »setup communication endpoint for router logical interfaces and for sliced to report statistics »start sliced on SPP and SPPmon on laptop Start Forest routers & hosts, then observe traffic »done remotely from laptop, using shell script

Reservation Script On spp, execute reservation #! /bin/bash cat >res_file.xml <<foobar... foobar scfg --cmd make_resrv --xfile res_file.xml reservation start and end times (mmddhhmm) GMT reserve interface bandwidth (4 of these) invoke scfg on reservation file copy reservation to a file

Setup Script On spp, execute setup #! /bin/bash # claim reserved resources scfg --cmd claim_resources # configure interfaces, binding port numbers scfg –cmd setup_sp_endpoint –bw –ipaddr proto 17 –port scfg –cmd setup_sp_endpoint –bw –ipaddr proto 17 –port scfg –cmd setup_sp_endpoint –bw –ipaddr proto 17 –port scfg –cmd setup_sp_endpoint –bw 2000 –ipaddr proto 6 –port 3551 # run monitoring daemon cat stats sliced –ip & interfaces to other SPPs “public” interface interface for traffic monitoring

Run Demo On laptop, run script fdemo1 #! /bin/sh tlim=50 # time limit for hosts and routers (sec) dir=fdemo1 # directory in which code is executed... # public ip addresses used by forest routers r1ip= # names and addresses of planetlab nodes used as forest hosts h11host=planetlab6.flux.utah.edu h11ip= ssh fRscript ${dir} ${tlim} &... sleep 2 ssh fHscript ${dir} ${h11ip} ${r1ip} 1.1 ${rflg} ${minp} ${tlim} &...

Basic Multicast Demo Uses four hosts per router »one source, three receivers Comtree centered at each Forest router »each source sends to a multicast group on each comtree Phase 1 – uses comtree 1 »each receiver subscribes to multicast 1, then 2 and 3; then unsubscribes – 3 second delay between changes »receivers all offset from each other Phases 2 and 3 are similar »use comtrees 2 and 3, so different topology 1.* 2.* 3.*

run script to launch Forest routers and hosts all hosts subscribe in turn to three multicasts on comtree 1 salt to kans traffic salt to wash traffic

Logical Topology and Addresses WASH KANS SALT * * * * * * * * sppsalt1.arl.wustl.edu sppkans1.arl.wustl.edu sppwash1.arl.wustl.edu