Date post: | 04-Jan-2016 |
Category: |
Documents |
Upload: | barnard-hodge |
View: | 213 times |
Download: | 0 times |
PrimoGENI TutorialJason Liu, Miguel Erazo, Nathanael Van Vorst
Florida International University
GEC12, November 2, 2011, Kansas City, MO
Outline
• Introduction• Demonstration• Hands-on session
PrimoGENI enables hybrid network experiments• Including simulated, emulated, and physical components
• Simulation• Experimentation at scale• Modeling abstractions• Flexibility
• Emulation• Real applications• Resource multiplexing
• Physical Networks• Real traffic
PrimoGENI is a GENI Aggregate
• Manage the life cycle of network experiments Model Configuration Resource Specification Deployment, Execution Online Control & Monitoring Visualization Data Collection
PrimoGENI has an IDE
JavaModel
Python Model
XMLModel
DBMS
In-MemoryModel(JAVA)
NetworkVisualization
InteractiveConsole
Execution Model
ModelCompilation
ModelPartitioning
Physical Resource Layer
Meta Resource Layer
OpenVZ Kernel
VM0 VM1 VM2
OpenVZ Kernel
VM0 VM1 VM2
OpenVZ Kernel
VM0 VM1 VM2
OpenVZ Kernel
VM0 VM1 VM2
OpenVZ Kernel
VM0 VM2 VM3VM1
OpenVZ Kernel
VM0 VM2 VM3VM1
OpenVZ Kernel
VM0 VM2VM1
Simulation and Emulation Execution Layer
S S
S S
S S
EE
EE
EEE
E EE
E EE
E
Experiment Layer
What’s the Use?
A virtual distributed environment:
A fancy delay node: A traffic generator:
Demonstration
• Develop network model in Java• Create experiment• Inspect and change network configurations in
the attribute tree and the python console• Launch experiment on local host• Visualize traffic flowing on the network
Experiment 1: A Simulated Dumbbell Model
Experiment 2: An Emulated Campus Network Model
• Generate/compose large networks• Specify emulated hosts/routers• Set up execution environment (using a
preallocated ProtoGENI slice)• Launch experiment on the ProtoGENI slice• Create emulated traffic (traceroute, iperf)• Monitor real-time traffic using LiveGraph
Experiment 3: HTTP Client Cloud
• Set up and run Apache server on a real node• Create a campus model for simulated clients• Specify stochastic HTTP requests (from
simulated client to real server)• Observe data transfer using tcpdump and
from server log