[[PageOutline]] == I&M Tools: Basic Test/Tutorial/Experiment Workflow == 0) Overview of experiment 1) Design experiment 2) Establish experiment environment 3) Obtain slice of GENI resources; install I&M and experiment software 4) Configure and initialize I&M and experiment services 5) Run and orchestrate I&M and experiment services, to complete run of experiment; move selected measurements and other artifacts to storage service 6) Analyze and visualize measurement results 7) Release experiment resources 8) Move selected measurements and other artifacts from storage service to long-term archive service === 0) Overview of experiment === 0.1) Title and abstract 0.2) Goals 0.3) Configuration 0.4) Process (flow chart) === 1) Design experiment === 1.1) Establish experiment goals and overall plan 1.2) Design configuration of experiment, including topology, desired resources, desired tools and desired services; consider previous, or reference, experiments as guides 1.3) Map desired resources to aggregates that are likely to be available 1.4) Map desired tools to tools that are available, and identify necessary operational services. 1.5) Map desired services to software that is likely to be available. 1.6) Find, or design and code, software images/packages/applications, rspecs and/or scripts necessary to realize experiment, and put into storage service === 2) Establish experiment environment === 2.1) Establish experiment managment (user workspace) service 2.2) Gather necessary keys, passwords, certificates and credentials 2.3) Verify availability of desired resources in aggregates 2.4) Verify availability of necessary operational services, and access to those services 2.5) Verify availability of desired software images/packages 2.6) Verify availability of desired software applications, rspecs and scripts === 3) Obtain slice of GENI resources; install I&M and experiment software === 3.1) Select target aggregates 3.2) Select desired software images/packages for I&M and experiment services 3.3) Formulate slice topology for experiment, and build request rspec 3.4) Acquire resources and load images/packages for I&M and experiment services 3.5) Confirm at completion: slice with installed images/packages for I&M and experiment services === 4) Configure and initialize I&M and experiment services === 4.1) Configure selected I&M services - objectives: - binds services together, e.g., between each MP and the MC - configures baseline services - initializes them, and verifies that they are ready to run - at completion: configured I&M services, ready to run and collect data 4.2) Configure selected experiment services - objectives: - binds services together to realize overall reference/actual experiment - configures baseline services - initializes them, and verifies that they are ready to run - at completion: configured experiment services, ready to run and process data, which can be observed by I&M services === 5) Run and orchestrate I&M and experiment services, to complete run of experiment; move selected measurements and other artifacts to storage service === 5.1) Initial setup: start basic host measurements and basic ping active network measurements - objectives: - verify functionality of hosts - verify topology of slice - observe measurements with a real-time presentation service - continue measurements throughout duration of the test/tutorial/experiment - at completion: - functionality of hosts and topology of slice has been verified throughout duration of the experiment 5.2) Continuity test: for a limited time, run iperf active network measurements - objectives: - verify ability of slice to carry traffic expected from experiment - observe measurements with a real-time presentation service - once satisfactory measurements have been observed, stop continuity test - at completion: - capability of slice to carry traffic expected from experiment has been verified 5.3) Instrument and run experiment: - objectives: - gather measurements during experiment that allow experiment goals to be met - include desired measurement points within hosts and/or experiment services to instrument test/tutorial/experiment - begin to run and orchestrate measurement services - begin to run and orchestrate experiment services - observe measurements with a real-time presentation service, to verify expected operation of experiment - collect all measurements for duration of experiment - stop experiment services, when this run of the experiment has been completed - stop measurement services - at completion: - one run of experiment has been completed - real-time look at measurements has verfied expected operation of experiment - a full set of measurements has been collected, for later analysis and presentation - collected measurments have been transfered to storage service, so that slice resources can be released (if desired) 5.4) Store collected measurements and other artifacts from test/tutorial/experiment in storage service - at completion: - collected measurements and other artifacts have been transfered to storage service - collected measurements and other artifacts are available for later analysis - slice resources can then be released at any time, without loss of any measurements or artifacts === 6) Analyze and visualize measurement results === - as necessary, retrieve measurement results from storage service - analyze and format results as desired, for visualization with presentation service - as appropriate, move analyzed results and/or visualization to storage service === 7) Release experiment resources === - as soon as possible, to free up resources for use by others - but, after the experimenter is reasonably certain that they do not need to do another run of the experiment === 8) Move selected collected measurements and other artifacts from storage service to long-term archive service === - identify object to be archived with a peristent identifier (handle) - within storage service, gather components into bundle to form object to be archived, and move this object into long-term archive service - include policy for sharing with others (e.g., share with all others, or share with no one) - allow retrieval for further analysis and visualization, or for use as a reference