[[PageOutline]] = A Tutorial on Systematic Experimental Design = == Overview == This tutorial will guide you how to conduct systematic experimentation on GENI. We will setup a layer-3 virtual network environment for routing experiments through this tutorial. In this tutorial, you will learn how to conduct systematic experimentation step by step by a case study. === Systematic Experimental Design Flow === The flow diagram below shows general steps: * Install Software * Start with smallest network, usually single node. * Configure and run experiments on smallest reasonable network * Automate Experimental Configuration * End-to-End Validation * Automate Measurement * Scaling Up the Experiments * Increasing the number of aggregates * Increasing the number of nodes with one aggregate * Increasing both aggregates and nodes. [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy:sys-expr-design-flow.png)]] === Objective of the Case Study === In the case study, we will create a layer-3 virtual network that is composed of virtual routers running `OSPF` protocol. We aim to observe the `OSPF` routing table updates under both link and node failures. We will go through every step in the flow diagram above to illustrate how to deploy this experiment systematically using GENI testbed, in particular, using InstaGENI aggregates. * '''I: Turn a VM into a virtual router (i.e., software router running `XORP`)''' [[Image(SystematicExprCaseStudy:vm2router.png)]] * '''II: Configure and run experiments in a four-router topology''' [[Image(SystematicExprCaseStudy:4node-config-add-endhosts.png)]] * '''III: Scaling Up''' Increase the number of aggregates [[Image(SystematicExprCaseStudy:4node-3aggregate.png)]] Increase the number of nodes in one aggregates [[Image(SystematicExprCaseStudy:4to7nodes-1aggregate.png)]] Increase both the number of nodes and aggregates [[Image(SystematicExprCaseStudy:scalingup-7nodes.png)]] == Prerequisite == * A GENI Portal account. If you don't have one, please [http://groups.geni.net/geni/wiki/SignMeUp sign up] * Familiar with reserving GENI resources using Flack. See [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/RunHelloGENI Flack Tutorial] * Familiar with Omni tools. See [http://trac.gpolab.bbn.com/gcf/wiki/Omni Omni Tools] * Familiar with creating stitching links using stitcher tool. See [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/StitchingTutorial Stitching Tutorial] * Familiar with the !Linux/Unix command line == Step by Step Instruction == {{{ #!html
Design/Setup
Execute
Finish
  • Step III: Scaling Up
    • Increase the number of aggregates
    • Increase the number of nodes in one aggregate
    • Increase the number of both nodes and aggregates
}}}