[[PageOutline]] = A Tutorial on Systematic Experimental Design = == Overview == This tutorial will guidance on how to conduct systematic experimentation in GENI by providing a step by step case study. We will setup a layer-3 virtual network environment for routing experiments through this tutorial by using a systematic workflow to simplify experiments and reduce overhead as the experiment scales up. === Systematic Experimental Design Workflow === The workflow diagram below shows general steps: * Installing desired software and creating a custom image to capture the installation. * 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, nolink)]] === Objective of the Case Study === In this case study, we will create a layer-3 virtual network that is composed of virtual routers running the `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 workflow diagram above to illustrate how to deploy this experiment systematically using GENI testbed, in particular by using InstaGENI aggregates. * '''I: Turn a VM into a virtual router (i.e., software router running `Quagga`)''' [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy:vm2router.png, nolink)]] * '''II: Configure and run experiments in a four-router topology''' [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy:4node-config-add-endhosts.png, nolink)]] * '''III: Scaling Up''' Increase the number of aggregates [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy:4node-3aggregate.png, nolink)]] Increase the number of nodes in one aggregates [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy:4to7nodes-1aggregate.png, nolink)]] Increase both the number of nodes and aggregates [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy:scalingup-7nodes.png, nolink)]] == Prerequisite == * A [https://portal.geni.net/ GENI Portal] account. If you don't have one, please [wiki:SignMeUp sign up]. * Familiarity with reserving GENI resources using the Portal. See [wiki:GENIExperimenter/Tutorials/RunHelloGENI Hello GENI Tutorial]. * Familiarity with Omni tools. See [https://github.com/GENI-NSF/geni-tools/wiki/Omni Omni Tools]. * Familiarity with creating stitching links using stitcher tool. See [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
}}}