Sponsored by the National Science Foundation July 7 th 2015 Sponsored by the National Science Foundation LabWiki The Complete Experiment Lifecycle in a.

Slides:



Advertisements
Similar presentations
Sponsored by the National Science Foundation Tutorial: OpenFlow-Based Vertical Handoff over WiFi and WiMAX in the Orbit Testbed Ryan Izard and KC Wang.
Advertisements

Sponsored by the National Science Foundation DEMO: Designing and Monitoring OpenFlow Load Balancing Experiments using GIMI Shufeng Huang, Divyashri Bhat.
Communication Networks Recitation 3 Bridges & Spanning trees.
Sponsored by the National Science Foundation Tutorial: OpenFlow in GENI with Instrumentation and Monitoring Divya Bhat, Umass Amherst Niky Riga, GENI Project.
University of Calgary – CPSC 441.  We need to break down big networks to sub-LANs  Limited amount of supportable traffic: on single LAN, all stations.
Ryu Book Chapter 1 Speaker: Chang, Cheng-Yu Date: 25/Nov./
DHCP -Ameeta and Haripriya -cmsc 691x. DHCP ► Dynamic Host Configuration Protocol ► It controls vital networking parameters of hosts with the help of.
GIMI I&M and Monitoring Mike Zink, Max Ott, Ilya Baldine University of Massachusetts Amherst GEC 18, Brooklyn, October 27 st 1.
Sponsored by the National Science Foundation Lab Zero: A First Experiment.
Sponsored by the National Science Foundation 1 Lab Zero – November 6, 2014 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you.
Sponsored by the National Science Foundation Systematic Experimentation Case Study: Virtual Router Failure Restoration Xuan Liu UMKC/GENI Project Office.
Sponsored by the National Science Foundation An Introduction to GENI Tools Sarah Edwards GENI Project Office.
Using the jFed tool to experiment from zero to hero Brecht Vermeulen FGRE, July 7 th, 2015.
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
Sponsored by the National Science Foundation A Virtual Computer Networking Lab Mike Zink, Max Ott, Jeannie Albrecht GEC 23, June 16 th 2015.
Sponsored by the National Science Foundation GIMI/LabWiki Tutorial Mike Zink, Divyashri Bhat, Cong Wang, Thierry Rakotoarivelo GEC20 March 22 nd 2014,
Sarah Edwards, GENI Project Office
Sponsored by the National Science Foundation Scaling Up: Growing the Topology of an Existing Experiment in GENI Sarah Edwards GENI Project Office Xuan.
Sponsored by the National Science Foundation1GENI Introduction – SIGCSE ‘14 – 5 March 2014www.geni.net Agenda Presentation and Demo: An Introduction to.
Using the jFed tool to experiment from zero to hero Brecht Vermeulen Thijs Walcarius GEC 22, March 24 th, 2015.
Sponsored by the National Science Foundation Tutorial: An Introduction to OpenFlow using POX GENI Engineering Conference 20 June 2014.
Sponsored by the National Science Foundation Scaling Up: Growing the Topology of an Existing Experiment in GENI Sarah Edwards GENI Project Office with.
Sponsored by the National Science Foundation 1 September 15, 2015 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do the.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation GENI Terminology: How All the Pieces Fit Together Sarah Edwards GENI Project Office.
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.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation LabWiki Tutorial (OMF/OML) Divya Bhat, Mike Zink, Pieter Becue, Brecht Vermeulen GEC20 July 8 th 2014, Ghent,
Sponsored by the National Science Foundation 1 Last updated April 1, 2013 Are you ready for the tutorial? 1.Sign In 2.Grab a Worksheet 3.Did you do the.
Sponsored by the National Science Foundation Tutorial: Introduction to Omni Niky Riga GENI Project Office GREESC13 $ omni.py createsliver aliceslice myRSpec.xml.
Systematic Experimentation: Automating Experiments and ExoGENI Image Snapshots Paul Ruth, RENCI / UNC Chapel Hill.
Sponsored by the National Science Foundation Tutorial: OpenFlow in GENI with Instrumentation and Monitoring Divya Bhat Shufeng Huang Niky Riga GENI Project.
Sponsored by the National Science Foundation ExoGENI
GIMI I&M and Monitoring Mike Zink University of Massachusetts Amherst GEC 15, Houston, October 23 rd 1.
Sponsored by the National Science Foundation Using OpenFlow and Orbit to Achieve Mobility in a Heterogeneous Wireless Network Ryan Izard
Sponsored by the National Science Foundation Systematic Experimentation in GENI.
Sponsored by the National Science Foundation 1 ICDCS13: July 8, 2013 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do the.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI.
Sponsored by the National Science Foundation Developper Session Mike Zink GEC20 March 22 nd 2014, UC Davis, CA.
Sponsored by the National Science Foundation Systematic Experimentation in GENI Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
Sponsored by the National Science Foundation 1 GEC16, March 21, 2013 Are you ready for the tutorial? 1.Did you do the pre-work? A.Are you able to login.
Sponsored by the National Science Foundation 1 GREE SC: June 24, 2013 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do.
Mininet and Openflow Labs. Install Mininet (do not do this in class) Download VirtualBox Download Xming for windows (X11) Download Mininet VM for linux-ubuntu.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation A Virtual Computer Networking Lab Mike Zink, Jim Kurose, Max Ott, Jeannie Albrecht NSF Workshop on GENI in.
Sponsored by the National Science Foundation March 23, 2015 Sponsored by the National Science Foundation LabWiki The Complete Experiment LifeCycle in a.
Sponsored by the National Science Foundation 1 Lab Zero – October 20, 2014 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you.
5: DataLink Layer 5a-1 Bridges and spanning tree protocol Reference: Mainly Peterson-Davie.
Sponsored by the National Science Foundation A Virtual Computer Networking Lab Mike Zink, Max Ott, Jeannie Albrecht GEC 20, March 24 th 2015.
Sponsored by the National Science Foundation 1 Lab Zero – March 14, 2014 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you.
GIMI Tutorial GIMI Team GEC 16, Salt Lake City, March 19 th 1.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Named Data Networking Sarah Edwards.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
Sponsored by the National Science Foundation Click Software Routers Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Systematic Experimentation Sarah Edwards GENI Project Office.
Software OpenFlow Solutions using Open vSwitch
GIMI Update Mike Zink University of Massachusetts Amherst GEC 14, Boston, July 9 th 1.
Sponsored by the National Science Foundation 1 GEC16: March 19, 2013 Are you ready for the tutorial? 1.Sign In 2.Grab a Worksheet 3.Did you do the pre-work?
Mininet and Openflow Labs
Multi Node Label Routing – A layer 2.5 routing protocol
Using the jFed tool to experiment from zero to hero
Programming Assignment
Run a Complete Experiment
A Virtual Computer Networking Lab
Switch controller: Routing
OMF/OML Labwiki Pieter Becue 12/01/2019.
Chapter 5 Data Link Layer – Hub, Switch
Virtual LAN (VLAN).
Presentation transcript:

Sponsored by the National Science Foundation July 7 th 2015 Sponsored by the National Science Foundation LabWiki The Complete Experiment Lifecycle in a Tool Divya Bhat, Mike Zink, Max Ott, Thierry Rakotoarivelo FGRE 2015, July 07 th, 2015

Sponsored by the National Science Foundation July 7 th 2015 Experiment Workflow

Sponsored by the National Science Foundation July 7 th 2015 The “Experiment Cycle” Setup Design Execute Notes Code Experiment Description Runs Measurements

Sponsored by the National Science Foundation July 7 th 2015 Setup Design Execute Notes Code Experiment Description Runs Measurements Publish The “Successful Experiment Cycle”

Sponsored by the National Science Foundation July 7 th 2015 “Experiment Cycle” in a Tool: LabWiki

Sponsored by the National Science Foundation July 7 th 2015 WikiEditRun Search

Sponsored by the National Science Foundation July 7 th 2015 GENI TestBed OML Server LabWiki iRODS 1.Instrument 2.Run 3.Collect 4.Plot 5.Save OML Client 6.Obtain Automated Collect and Archive 0.Reserve Experimenter 2.Run 3.Collect 4.Plot 5.Save OMF OEDL

Sponsored by the National Science Foundation July 7 th 2015 For Experimenters Repeatable – one-time OEDL – common network measurements – custom defined measurements Lab Notes – Use Wiki for technical report Results – R scripts for graph

Sponsored by the National Science Foundation July 7 th 2015 For Students Prepared experiment script (OEDL) –Read-only –Create copy or run as is Assignment –Execute experiment –Generate results –Write comments –Submit

Sponsored by the National Science Foundation July 7 th 2015 For Educators Create Experiment Script (OEDL) – Unlimited update Create instructions (Wiki)

Sponsored by the National Science Foundation July 7 th 2015 For Educators Auto checking – Custom event trigger – View submissions

Sponsored by the National Science Foundation July 7 th 2015 Assignment I – Learning Switch Teaches the basics of learning switch functionality used by Ethernet switches Learning switch implementation through Trema controller OEDL script to plot graph Lessons learned: learning switch functionality, using different metrics to plot graphs through labWiki

Sponsored by the National Science Foundation July 7 th 2015 Learning Switch A A’A’ B B’B’C C’C’ A A’ Source: A Dest: A’ MAC addr interface TTL Switch table (initially empty) A 1 60 A A’ frame destination unknown: flood A’ A  destination A location known: A’A’ 4 60 selective send  More info in chapter 5 of “Computer Networks”, Kurose & Ross

Sponsored by the National Science Foundation July 7 th 2015 Assignment Topology N1 – N4: regular end systems Switch: VM with OVS installed  sw-based OF switch Trema-based OF controller running on Switch Goal: Implement learning switch and verify its correct behavior

Sponsored by the National Science Foundation July 7 th 2015 Sponsored by the National Science Foundation DEMO

Sponsored by the National Science Foundation July 7 th 2015 Your Slice Architecture Persistent Server OML Server Job Service AMQP Server EC iRODS RCRC RCRC MLML MLML RCRC RCRC MLML MLML RCRC RCRC MLML MLML RCRC RCRC MLML MLML RCRC RCRC MLML MLML LabWiki

Sponsored by the National Science Foundation July 7 th 2015 Persistent Server OML Server AMQP Server EC iRODS LabWiki 17 RCRC RCRC MLML MLML RCRC RCRC MLML MLML RCRC RCRC MLML MLML AMQP Messaging LabWiki Images with tools available for InstaGENI and ExoGENI Job Service

Sponsored by the National Science Foundation July 7 th 2015 Persistent Server OML Server AMQP Server EC iRODS LabWiki 18 RCRC RCRC MLML MLML RCRC RCRC MLML MLML RCRC RCRC MLML MLML EC/RC Messaging Job Service

Sponsored by the National Science Foundation July 7 th 2015 Persistent Server OML Server AMQP Server EC iRODS LabWiki 19 RCRC RCRC MLML MLML RCRC RCRC MLML MLML RCRC RCRC MLML MLML Data Collection Job Service

Sponsored by the National Science Foundation July 7 th 2015 Persistent Server OML Server AMQP Server EC iRODS LabWiki 20 RCRC RCRC MLML MLML RCRC RCRC MLML MLML RCRC RCRC MLML MLML LabWiki Job Service

Sponsored by the National Science Foundation July 7 th 2015 Documentation OML: Job Service: OMF: AMQP: iRODS: LabWiki:

Sponsored by the National Science Foundation July 7 th 2015 Orchestrating an experiment in LabWiki

Sponsored by the National Science Foundation July 7 th 2015 Steps 1.Reserve slice with VMs that boot GIMI image 2.Verify that slice is up 3.Define experiment to be executed in LabWiki 4.Run and observe experiment 5.Archive results 6.Document results 7.Delete slice (be a good GENI citizen by sharing!!)

Sponsored by the National Science Foundation July 7 th 2015 Nodes 1-4 Image Postboot script ssh into node

Sponsored by the National Science Foundation July 7 th 2015 Nodes 1-4: Image ExoGENI –Debian 6 –OMF –OML client & apps –URL to image: s.edu/Disk_Images/ExoG ENI/deb6ovsgimiv4.xml InstaGENI –Ubuntu –OMF –OML client & apps –URL to image: nois.edu/image_metadat a.php?uuid=df9ce62b- ec1a-11e3-bc1a

Sponsored by the National Science Foundation July 7 th 2015 Nodes 1-4: Postboot Script Postboot script ( #!/bin/bash read -r slice1 </var/emulab/boot/nickname slicename=$(echo $slice1 | cut -f2 -d.) host1=$(hostname) host=$(echo $host1 | cut -f1 -d.) slice=`ruby -e "print '$slicename'[/[^+]*$/]"` echo $host > /etc/hostname /bin/hostname -F /etc/hostname echo "--- :uid: $host-$slice :uri: amqp://gimi3.casa.umass.edu :environment: production :debug: false" > /etc/omf_rc/config.yml if grep 'Ubuntu' /etc/issue; then restart omf_rc else /etc/init.d/omf_rc restart fi Initiates connect to AMQP server

Sponsored by the National Science Foundation July 7 th 2015 Nodes 1-4: Postboot Script Postboot script ( wget -P /root/ wget switch_copy.rb -P /root chmod +x /root/learning-switch_copy.rb wget -P /usr/local/bin chmod +x /usr/local/bin/learn_ofcollect.rb wget -P /root chmod +x /root/ovs-setup2.sh

Sponsored by the National Science Foundation July 7 th 2015 Switch Image Postboot script ssh into node

Sponsored by the National Science Foundation July 7 th 2015 Switch: Image ExoGENI –Debian 6 –OMF –OML –OVS –URL to image: mass.edu/Disk_Imag es/ExoGENI/deb6ovs gimiv4.xml InstaGENI –Ubuntu –OMF –OML –OVS –URL to image: sernet.org/image_metad ata.php?uuid=551210c7- ecca-11e

Sponsored by the National Science Foundation July 7 th 2015 Switch: Postboot Script Rspec : ovs-setup.sh: #!/bin/bash ethnum=$(ifconfig | grep 'Link encap:' | awk '{print $1}') while [[ "$ethnum" != *eth1* || "$ethnum" != *eth2* || "$ethnum" != *eth3* || "$ethnum" != *eth4*]]; do /usr/local/bin/neuca-netconf sleep 10 ethnum=$(ifconfig | grep 'Link encap:' | awk '{print $1}') done ovs-vsctl add-br test ovs-vsctl add-port test eth1 ovs-vsctl add-port test eth2 ovs-vsctl add-port test eth3 ovs-vsctl add-port test eth4 ovs-vsctl set-controller test tcp: :6653

Sponsored by the National Science Foundation July 7 th 2015 Debugging the RC ssh into node ssh –i ~/.ssh/yourkey management_ip_of_node On the node: /var/log/omf_rc.log [ :48: ] INFO OmfRc::Runner: Starting OMF Resource Controller version '6.1.2.pre.5' [ :48: ] INFO OmfRc::Runner: Connected using {:proto=>:amqp, :user=>"guest", :domain=>" "} [ :49: ] WARN OmfCommon::Comm::AMQP::Communicator: Lost connectivity. Trying to reconnect... [ :49: ] INFO OmfRc::Runner: Starting OMF Resource Controller version '6.1.2.pre.5' [ :49: ] INFO OmfRc::Runner: Connected using {:proto=>:amqp, :user=>"guest", :domain=>" "} [ :56: ] INFO OmfRc::ResourceProxy::AbstractResource: App Event from 'ping_cxt_0' (#0) - STARTED: 'env -i /usr/local/bin/ping-oml2 -a c 30 --oml-config /tmp/854849b2-19a2-475d d894aa xml' [ :56: ] INFO OmfRc::ResourceProxy::AbstractResource: App Event from 'ping_cxt_1' (#0) - STARTED: 'env -i /usr/local/bin/ping-oml2 -a c 30 --oml-config /tmp/96c56027-f62e-41b1-873d-ba39fe429ab xml' [ :56: ] INFO OmfRc::ResourceProxy::AbstractResource: App Event from 'ping_cxt_2' (#0) - STARTED: 'env -i /usr/local/bin/ping-oml2 -a c 30 --oml-config /tmp/53a d6-4b31-8f65-4e272d7b xml'

Sponsored by the National Science Foundation July 7 th 2015 Writing Custom-Defined Applications for LabWiki

Sponsored by the National Science Foundation July 7 th 2015 Writing an OML Application Example: Instrumenting OpenFlow statistics def stats_reply (dpid, message) puts "[flow stats_reply byte_count = 0 packet_count = 0 flow_count = 0 throughput = 0 inst_throughput =0 total_flow_count = message.stats.length if(total_flow_count != 0) message.stats.each do | flow_msg | # WARNING: This only works for the EXACT case of two actions. If we add more than two actions the flow monitoring # will break. flow_ip = flow_msg.match puts "This is the message #{flow_ip.nw_src}" flow_count = flow_count + 1 byte_count += flow_msg.byte_count packet_count += flow_msg.packet_count if flow_msg.duration_sec + flow_msg.duration_nsec/ != 0 throughput += flow_msg.byte_count/(flow_msg.duration_sec + flow_msg.duration_nsec/ ) file = File.open("/tmp/flowstats.out", "a") file.puts "#{flow_ip.nw_src} #{flow_count.to_s} #{byte_count} #{packet_count} #{throughput} Bps" file.close = byte_count end

Sponsored by the National Science Foundation July 7 th 2015 Writing an OML Application Example: Instrumenting OpenFlow statistics - Define measurement points class MPThroughput < OML4R::MPBase name :ofthroughput param :srcaddr, :type => :string param :numflows, :type => :int64 param :numbytes, :type => :int64 param :numpacket, :type => :int64 param :throughput, :type => :int64 param :units, :type => :string end

Sponsored by the National Science Foundation July 7 th 2015 Writing an OML Application Example: Instrumenting OpenFlow statistics - Parse measurement fields def processOutput(output) column = output.split(" ") puts "Each line process" # Inject the measurements into OML MPThroughput.inject("#{column[0]}", column[1], column[2], column[3], column[4], "#{column[5]}") end

Sponsored by the National Science Foundation July 7 th 2015 Assignment II - Data-Center Routing Teaches the basics of load balancing for servers in a data-center Algorithm can be round robin, throughput-based or random for routing through the OpenFlow switch Lessons learned: any- casting, how the packet destination is modified for routing, different algorithms for load balancing, data center technology

Sponsored by the National Science Foundation July 7 th 2015 Assignment III - Multi-casting Teaches the basics of multicasting Out-of-band signal - used to send “Join” and “Leave” messages to an OpenFlow controller Functionality of the controller is verified through a layer 2 ping Lessons learned: multi- casting protocol, packet duplication, layer-2 ping application

Sponsored by the National Science Foundation July 7 th 2015 Assignment IV – IP Routing Teaches the very basics of IP routing Use ping to verify routing Can be easily extended: – Geographically distributed topology – Build routing mechanisms on top Lessons learned: static IP routing, forwarding, impact of route on RTT

Sponsored by the National Science Foundation July 7 th 2015 Assignment V – OF Load Balancer Teaches programming of OpenFlow controller No OpenFlow knowledge required Lessons learned: IP routing and forwarding

Sponsored by the National Science Foundation July 7 th 2015 Assignment VI – DASH Video Teaches how to measure video quality Uses alternative paths to show impact of RTT on video quality Lessons learned: OpenFlow basics, DASH basics, network measurement ExoGENI

Sponsored by the National Science Foundation July 7 th 2015 Large-scale Experiments

Sponsored by the National Science Foundation July 7 th 2015 Tomorrow’s Agenda 8:30 AM – 10:00 A.M Part 1 Extended Learning Switch Larger topology Easy to Orchestrate Part 2 Write Flow Statistics Application View Flow Statistics in LabWiki Simple Assignments/Extensions

Sponsored by the National Science Foundation July 7 th 2015 Where can I get help? How to write OEDL scripts? – My experiment does not work – Check logs in Execute panel – Contact: Code – Bug Reports and Documentation – Sample custom OML Applications –