Setting up a Testbed With the Netbed/Emulab Software

Download Report

Transcript Setting up a Testbed With the Netbed/Emulab Software

Use ProtoGENI
CS606, Xiaoyan Hong
University of Alabama
1
outline
• Prerequisites
– User account with Emulab (Utah site, per Prof Hong)
– For using Flack (web-based), Browser be Flash ready
• ProtoGENI general entry
– http://www.protogeni.net/
• Tutorial of using Flack Interface with example
– http://www.protogeni.net/ProtoGeni/wiki/GeniTutorial
– And with video clips
• Tutorial of using command line Linux
– http://www.protogeni.net/ProtoGeni/wiki/Tutorial
– And with video clips
• Assignment/project #0
2
Emulab’s Administrative Structure
• Emulab has a two level administrative structure: “Projects”,
and “Groups”
– Plus “Elab Admins” on top, and “Users” on the bottom
– E.g., a class project with multiple, isolated groups (created by the
project leader)
• Administrative control is delegated to “leaders” at each
level
• Project gets its own disk space/tree
• Users may join multiple projects
• Groups are independent
– Files/experiments are protected from each other
• Groups can share
– Share the common project file hierarchy
3
Account at Emulab
• Obtain an account :
– clicking "Request Account" and then "Join an Existing Project" on
the new page.
– You will need to join the project UA-cs606.
https://www.emulab.net/reqaccount.php3
4
Flack based tutorial
http://www.protogeni.net/ProtoGeni/wiki/GeniTutorial
• Follow the steps
– Login and building credential for use
• http://www.youtube.com/watch?v=-XF6wyNu1BE (4min)
– Create a slice (a network)
– Use Rspec to specify a slice (resource and code)
• http://www.youtube.com/watch?v=F5q-AYwggug&NR=1 (6min)
– Materialize the afore-claimed slice into sliver
• After waiting for booting, your code is running. You have all the
resources at your finger tip
– Use tools to monitor your experimental traffic
(INSTOOLS)
5
* NOTE: learn Rspec format through examples
– http://www.protogeni.net/ProtoGeni/wiki/RSpecExamples
– http://www.protogeni.net/ProtoGeni/wiki/RSpec
6
Tutorial with Video :
Flack based experiment
• First GENI Experience: Hello, GENI!
– http://groups.geni.net/geni/wiki/GENIExperimenter/Tutor
ials/RunHelloGENI
– First clip: login/download credential
– Second clip: set up slice/Rspec (save it from web)
• Iperf server/client
– Clean up
7
Command line based tutorial
http://www.protogeni.net/ProtoGeni/wiki/Tutorial
• Follow the steps
– Login and building credential for use
– Obtain command line tools “test scripts”
• Click the test scripts link
• http://www.protogeni.net/ProtoGeni/wiki/TestScripts
– Create a slice (a network) using registerslice.py
– Use Rspec to specify resource and code for the slice
• Tickets contains all the resources and credentials to use them
– Materialize the afore-claimed slice into sliver
– Need to log into Linux machine to execute the code.
– * NOTE: uploading SSH keys
8
Video Tutorial:
command line based experiment
• First Omni Experience: Hello, Omni!
– http://groups.geni.net/geni/wiki/GENIExperiment
er/Tutorials/HelloOmni
9
Assignment/Project #0
• Joining Mailing list for ProtoGENI Users
– https://groups.google.com/forum/?fromgroups#!forum/protogeniusers
• Sample Assignment
– Use advanced tutorials: Writing a Web Server
– http://groups.geni.net/geni/wiki/WebServerExample
• Multithreaded server
• Obtain the example code and instruction and try out
• Modify the network parameters, curve your results.
• Submit a report.
10
Q&A
• 1. Physical system of ProtoGENI
• 2. Webserver vs iperf
• 3. Iperf condition vs network condition
•
11
Q&A, 1
• 1. Physical system of ProtoGENI
– Physical network (real world hostname and IP address,
link via internal network/switches)
– Experimental network (own defined topology, own
hostname and ip address 10.0.*. *.)
– Mapping between experimental and physical
• many exp nodes can be on one physical node (ie, a exp node
uses a Vnode). Rspec can declare the preferences
• Impact to experiment results
– Not using the defined topology.
– Super good if all the traffic sends through physical network
(interface).
– Do not react to changes in the network conditions if sending through
physical network (interface).
12
Q&A, 2
• Webserver vs iperf
– All are multithreaded
– Server side listening
• Iperf has client side and statistics
• Webclient is not available to run inside the
exp due to GUI; it has no statistics
13
Q&A, 3
• Iperf condition vs network condition
• Iperf is a traffic generator
– UDP/TCP, Server/client
– Parameters to change the sending load
– Both server and client output statistics
• Network conditions
– Link delay, link loss rate, link bandwidth, topology
– System architecture (S/C, number of Cs, P2P, etc)
14
Including running iperf
15