PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida...

19
PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra and Heidi Alvarez

Transcript of PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida...

Page 1: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

PrimoGENI TutorialMiguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason LiuFlorida International University

Other project participants: Julio Ibarra and Heidi Alvarez

Page 2: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Outline

• Introduction • Setup (in parallel)• Demo and hands-on

Page 3: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

PlanetLab

Page 4: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

PlanetLab

• In vitro experimentation• Life traffic and conditions• Sharing via virtualization

Page 5: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

PlanetLab

• Limited size? – 1090 nodes at 516 sites

(3/12/11)

• Heavy use?– Limited availability? – Accuracy?

• One instance of Internet– Limited control– Sampling bias?

www.planet-lab.org

Page 6: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

• Sharing via OS Swapping• Traffic shaping

Emulation

• Limited size?• Heavy use: Limited availability?• Limited emulation scenarios?

http://www.emulab.net/

Page 7: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Simulation

Page 8: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Enable hybrid network experiments on GENI• Including simulated, emulated, and physical components

• Simulation:• Network experiment at scale• Modeling abstraction• Flexibility

• Emulation• Real execution environment• Resource multiplexing

• Physical testbeds• Real traffic interaction

Page 9: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

PrimoGENI is a GENI Aggregate

Page 10: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

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

Page 11: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

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

Page 12: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Physical Resource Layer

Meta Resource Layer

Simulation and Emulation Execution Layer

S S

S S

S S

EE

EE

EEE

E EE

E EE

E

Experiment Layer

Page 13: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Manage the entire ``life cycle'' of a large-scale network experiment, including model configuration, resource specification, experiment deployment, execution, online monitoring and steering, inspection, visualization, data collection and analysis.

Page 14: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

JavaModel

Python Model

XMLModel

DBMS

In-MemoryModel(JAVA)

NetworkVisualization

InteractiveConsole

Execution Model

ModelCompilation

ModelPartitioning

Page 15: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Step 1: Setup

• Install slingshot on client machine• Obtain user account on emulab (with primogeni)• Upload SSH public key (for remote access)• Generate and download SSL certificate

Page 16: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Step 2: Create Model

• One can:– Import Java, Python, XML models– Use network model generators– Use existing models from database– Interactively modify models using slingshot GUI/console– Set up simulation and emulation traffic

Page 17: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Step 3: Run Experiment

• Set up primogeni environment in slingshot– Enter SSL certificate and pass phrase; select resources

• Compile model– Automatic address assignment– Compute static routing

• Run Experiment– Partition model in slingshot– Update software on VMs (tuf, yum, …)– Start VMs, launch simulator, run emulation commands

MasterMeta-controller Slave Meta-controller

Page 18: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Step 4: Online Monitor

• Inspect network runtime state updates– NIC queue size, packet/bytes in and out

• Network heat map: traffic intensity• Live graph: time series data• Log onto virtual hosts

Page 19: PrimoGENI Tutorial Miguel Erazo, Neil Goldman, Nathanael Van Vorst, and Jason Liu Florida International University Other project participants: Julio Ibarra.

Demo and hands-on session