Systematic Experimentation in GENI
description
Transcript of Systematic Experimentation in GENI
![Page 1: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/1.jpg)
Sponsored by the National Science Foundation
Systematic Experimentation in GENI
![Page 2: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/2.jpg)
Sponsored by the National Science Foundation 2Systematic Experimentation – GEC 20 – June 23, 2014
Agenda
Motivation
Sarah Edwards, Xuan Liu, Niky Riga, Vic Thomas, GPO
Case Study: Virtual Router Failure Restoration
Xuan Liu, UMKC/GPO
Tools and Techniques
Custom images and install scripts
InstaGENI, Gary Wong, University of Utah
ExoGENI, Paul Ruth, RENCI
Porting ExoGENI Images to InstaGENI
Ezra Kissel, Indiana University
Manipulating RSpecs with geni-lib Nick Bastin, Barnstormer Softworks
How to Collaborate
Sarah Edwards, GPO
Q&A
Experimenter Drop-In (next session)
![Page 3: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/3.jpg)
Sponsored by the National Science Foundation
Systematic Experimentation in GENI:
Motivation
Sarah Edwards, Xuan Liu,
Niky Riga, Vic Thomas
GENI Project Office
![Page 4: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/4.jpg)
Sponsored by the National Science Foundation 4Systematic Experimentation – GEC 20 – June 23, 2014
GENI-FIRE 150 node topology
Courtesy of Thierry Rakotoarivelo, NICTA, GEC 20 Demo
Clear plan AutomationScale and
Visualization
![Page 5: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/5.jpg)
Sponsored by the National Science Foundation 5Systematic Experimentation – GEC 20 – June 23, 2014
Virtual Computer Networking Lab
Courtesy of Cong Wang and Divya Bhat, UMass Amherst, GEC 20 Demo
Start small
![Page 6: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/6.jpg)
Sponsored by the National Science Foundation 6Systematic Experimentation – GEC 20 – June 23, 2014
Intelligent Data Movement System
Courtesy of Ezra Kissel, Indiana University, GEC 20 Demo
Long-lived slicefor stitched, shared VLAN
Dynamically add/remove nodes
as needed
![Page 7: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/7.jpg)
Sponsored by the National Science Foundation 7Systematic Experimentation – GEC 20 – June 23, 2014
Why doesn’t this work?(Anonymous) Past Bug Reports
repeatable
incremental
test controller
in one AM?
GRE works
Stitch
test controllerin one AM
Multi-site Hadoop
Used control plane to send high volume data between
racks
Interfere with rack !
OpenFlow multi-site
OpenFlow multi-site
![Page 8: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/8.jpg)
Sponsored by the National Science Foundation 8Systematic Experimentation – GEC 20 – June 23, 2014
Systematic Experimentation
Running an experiment on a testbed requires best
practices and methodology from a combination of:– Science (Scientific method)
– Programming
– System Administration
Today, talking about strategies and techniques for
bringing up experiments in a systematic way.
![Page 9: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/9.jpg)
Sponsored by the National Science Foundation 9Systematic Experimentation – GEC 20 – June 23, 2014
Why experiment systematically?
Debugging Easier to debug experiments. Easier to get help debugging. Especially for complex experiments.
Scalability and Repeatability A well designed experiment will be repeatable and systematically scalable
Valid Develop a solid understanding of and validate your experimental setup
Rigorous Perform a scientifically rigorous (and publishable) study
![Page 10: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/10.jpg)
Sponsored by the National Science Foundation 11Systematic Experimentation – GEC 20 – June 23, 2014
General Principle #1: One thing at a time
Experimentation 101 and Debugging 101
Only change one thing at a time
Examples:• Software/image• Configuration• Number of nodes/links• Geographic distribution of nodes/links
![Page 11: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/11.jpg)
Sponsored by the National Science Foundation 12Systematic Experimentation – GEC 20 – June 23, 2014
General Principle #2: Start Small
Start by building smallest possible topology by hand.
Automate as needed.
Test and measure as you go.
client server
host
OVSswitch
host
host
router
router router
worker
master
worker
node
![Page 12: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/12.jpg)
Sponsored by the National Science Foundation 13Systematic Experimentation – GEC 20 – June 23, 2014
General Principle #3: Save what you do
• Log all of your experimental artifacts for every experiment that works– RSpec – image– install script– custom software– measurements– etc
• Use version control to store your artifacts• Always know the last configuration that worked
![Page 13: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/13.jpg)
Sponsored by the National Science Foundation 14Systematic Experimentation – GEC 20 – June 23, 2014
Experiment WorkflowSummary Workflow
How often should I loop?
![Page 14: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/14.jpg)
Sponsored by the National Science Foundation 15Systematic Experimentation – GEC 20 – June 23, 2014
Process Recommendation
A. Build (smallest possible) topology by hand at a single aggregate
B. Automate topology creation at a single aggregate
C. Orchestrate and Instrument
D. Increase scale
E. More nodes
F. More aggregates
Automate
![Page 15: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/15.jpg)
Sponsored by the National Science Foundation 16Systematic Experimentation – GEC 20 – June 23, 2014
Process: Start Small
A. Build smallest possible topology by hand at a single aggregate
B. Automate topology creation at a single aggregate – Store RSpecs, software, etc in version control – TOOLS Use install scripts and custom images– Determine how to update software on your nodes
Repeat A/B as needed.
C. Orchestrate and Instrument your experiment procedureTOOLS GENI Desktop and LabWiki
Automate as needed.
worker
master
worker
node
![Page 16: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/16.jpg)
Sponsored by the National Science Foundation 17Systematic Experimentation – GEC 20 – June 23, 2014
Process: Scale
D. Increase scale (number of nodes, volume of traffic, etc) TOOLS Flack for small scale. geni-lib for larger scale
client
server
client
client clientclient
client server
![Page 17: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/17.jpg)
Sponsored by the National Science Foundation 18Systematic Experimentation – GEC 20 – June 23, 2014
Process: Split across aggregates
E. Split an existing topology across second aggregate – How connect across aggregates matters (stitching vs OF etc)
TOOLS stitcher for VLAN stitching and GRE tunnels. ExoSM for Intra-ExoGENI stitching. Flack for GRE tunnels.
F. Split across multiple aggregates
client client
server
client clientclient
Colors represent different aggregates
Inter-aggregate link
![Page 18: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/18.jpg)
Sponsored by the National Science Foundation 19Systematic Experimentation – GEC 20 – June 23, 2014
Avoiding Common Pitfalls
• Don’t start with a large or inter-aggregate topology
• In general, if you are keeping your experiment up because you can’t recreate your setup, then something is wrong.
• GENI is not a simulator
• Common Issue: OpenFlow controllers used on an multi-aggregate topology with loop MUST be tested in a single aggregate topology with loop
![Page 19: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/19.jpg)
Sponsored by the National Science Foundation 20Systematic Experimentation – GEC 20 – June 23, 2014
Case Study
![Page 20: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/20.jpg)
Sponsored by the National Science Foundation 21Systematic Experimentation – GEC 20 – June 23, 2014
Process Summary
A. Build (smallest possible) topology by hand at a single aggregate
B. Automate topology creation at a single aggregate
C. Orchestrate and Instrument
D. Increase scale
E. More nodes
F. More aggregates
Automate
![Page 21: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/21.jpg)
Sponsored by the National Science Foundation 22Systematic Experimentation – GEC 20 – June 23, 2014
Overview of Tools and Techniques
• Automation– Custom images on InstaGENI/ExoGENI– Converting ExoGENI images to InstaGENI– Install script on InstaGENI– Postboot script on ExoGENI– Measurement with LabWiki and GENI Desktop– Repeating and sharing experiments with apt
• Scaling Up– geni-lib
• Inter-aggregate experiments– stitcher– OpenFlow
Tutorials
Now
Now
Now
Drop-In
Now
Tutorial
Tutorial
Now
![Page 22: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/22.jpg)
Sponsored by the National Science Foundation 23Systematic Experimentation – GEC 20 – June 23, 2014
Agenda
Motivation
Sarah Edwards, Xuan Liu, Niky Riga, Vic Thomas, GPO
Case Study: Virtual Router Failure Restoration
Xuan Liu, UMKC/GPO
Tools and Techniques
Custom images and install scripts
InstaGENI, Gary Wong, University of Utah
ExoGENI, Paul Ruth, RENCI
Porting ExoGENI Images to InstaGENI
Ezra Kissel, Indiana University
Manipulating RSpecs with geni-lib Nick Bastin, Barnstormer Softworks
How to Collaborate
Sarah Edwards, GPO
Q&A
Experimenter Drop-In (next session)
![Page 23: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/23.jpg)
Sponsored by the National Science Foundation
How to Collaborate
![Page 24: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/24.jpg)
Sponsored by the National Science Foundation 25Systematic Experimentation – GEC 20 – June 23, 2014
Project Membership example
Projects have 1 Lead and any number of Admins, Members, and Auditors
http://groups.geni.net/geni/wiki/GENIConcepts#Project
Typical Class
Expiration
Typical Research Project
![Page 25: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/25.jpg)
Sponsored by the National Science Foundation 26Systematic Experimentation – GEC 20 – June 23, 2014
Working with multiple members in a slice
Research AsstSlice Lead Post-Doc
Slice MemberProfessor
Slice Admin
Members of all slices in a project:
• Project Leads (Professor)• Project Admins (Post-docs, researchers)
Other can be added manually
http://groups.geni.net/geni/wiki/GENIConcepts#Slice
![Page 26: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/26.jpg)
Sponsored by the National Science Foundation 27Systematic Experimentation – GEC 20 – June 23, 2014
Slice Access
Being a member of a slice means you can act on a slice:– Add resources– Check status– Delete resources– Renew resources
With any tool!
![Page 27: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/27.jpg)
Sponsored by the National Science Foundation 28Systematic Experimentation – GEC 20 – June 23, 2014
To ensure access in collaborator’s resources:Option 1: Make resource reservation from Portal or omni
Option 3: Use a common public key
Add slice member’s accounts to existing resources:$ omni -V 3 poa SLICE geni_update_users
--useSliceAggregates –-useSliceMembersAlternatively…
$ addMemberToSliceAndSlivers myslice username
Slice Access: Logging in to resources
Slice membership does not guarantee ability to login to resources!
Only works on InstaGENI/ProtoGENI
![Page 28: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/28.jpg)
Sponsored by the National Science Foundation 29Systematic Experimentation – GEC 20 – June 23, 2014
Questions?
![Page 29: Systematic Experimentation in GENI](https://reader035.fdocuments.in/reader035/viewer/2022070412/56814911550346895db64a14/html5/thumbnails/29.jpg)
Sponsored by the National Science Foundation 30Systematic Experimentation – GEC 20 – June 23, 2014
Special Topic Experimenter Drop-InIn this room after the break
• Writing ExoGENI velocity scripts • New ExoGENI image snapshotting feature • Converting ExoGENI images to InstaGENI images• Manipulating RSpecs with `geni-lib`• Sharing experiments with `apt`
Thanks to:– Paul Ruth, RENCI– Nick Bastin, Barnstormer Networks– Rob Ricci, University of Utah