wiki:TestTutorialExperimentWorkflow

Version 20 (modified by hmussman@bbn.com, 7 years ago) (diff)

--

Basic GENI Experiment Workflow

Version 0.8, January 18, 2013 (after review with Vic and Jeanne on 010913)

0) Overview of experiment

0.1) Title and abstract

0.2) Goals and strategy for results

0.3) Configuration (e.g, topology of slice resources for experiment)

0.4) Process (i.e., flow chart of experiment)

1) Design experiment

1.1) Establish experiment goals and strategy for results

1.2) Design configuration of experiment to meet goals, including topology, desired resources, desired tools and desired experiment application services; consider previous, or reference, experiments as guides; capture in a high-level configuration drawing or list

1.3) Map desired resources (i.e., computing and networking resources) to aggregates that are likely to be available

1.4) Map desired tools (i.e., I&M tools) to tools that are available, and identify necessary persistent services.

1.5) Map desired experiment application services to software that is likely to be available, and note gaps.

1.6) Find, or design and code, software images/packages/applications, rspecs and/or scripts necessary to realize remaining experiment appication services, identifying repositories and/or gathering into storage service

1.7) Outline process for the experiment, and capture in a high-level flowchart

1.8) Optionally, prototype the experiment using "GENI-in-a-box"

Experiment management tools used:

  • Gap: Workflow description creation tool; consider on-line entry or script

  • Option: "GENI-in-a-box"

Persistent services required:

  • Repositories for images/packages/software
  • GENI Storage Service (admin OOB, web, API)

Artifacts involved:

  • Gap: Workflow description; consider text, DB entries and/or scripts; consider putting into GENI Storage Service
  • Gap: List of all desired experiment resources, including services, software, rspecs, scripts; consider structure in GENI Storage Service
  • Images/packages/software for tools (i.e., GIMI and/or GEMINI I&M tools)

  • Images/packages/software for experiment application services

Status at completion:

  • Experiment goals and strategy for results extablished

  • Experiment configuration identified, and mapped into avaialble resources, etc.

  • Found or designed and coded software, rspecs and scripts necessary for experiment application services
  • Experiment process outlined

2) Establish experiment management environment

2.1) Establish user workspace environment, as repository for experiment management tools and local copy of some artifacts

2.2) Gather necessary keys, passwords, certificates and credentials

2.3) Verify availability of necessary persistent services, and access to those services

2.4) Verify availability of desired resources in aggregates, including nodes and networking resources, by querying aggregates and/or GMOC; optionally, reserve scarce resources

Experiment management tools used:

  • User Workspace environment, including Linux with multiple windows, with browsers and command lines
  • Option: use GENI CH Portal to obtain certificates, etc.

  • Gap: Persistent services availability verification tool

  • Gap: Aggregate resources availability verification tool(s)

Persistent services required:

  • GENI CA (or ?)

  • GENI SA

  • GENI Storage Service (admin OOB, web, API)

  • If using GIMI I&M tools: GENI Messaging Service (API)

  • If using GIMI I&M tools: GIMI Portal Service (admin OOB, web, API)

  • If using GEMINI I&M tools: Unified Network Information Service (UNIS) (web?, API)

  • If using GEMINI I&M tools: GEMINI Portal Service (admin OOB, web, API)

Artifacts involved:

  • Gap: List of all desired experiment resources, including services, software, rspecs, scripts; consider structure in GENI Storage Service

  • Experimenter usernames/passwords, certificates, keys, credentials

Status at completion:

  • Established user workspace environment, as repository for experiment management tools and local copy of some artifacts

  • Gathered necessary keys, passwords, certificates and credentials for experimenter
  • Verified availability of necessary persistent services, and access to those services
  • Verified availability of desired resources in aggregates

  • Optionally, reserved scarce resources

3) Obtain slice of GENI resources, and then install I&M and experiment software

3.1) Select target aggregates

3.2) Select desired software images/packages for I&M tools and experiment application services

3.3) Formulate slice topology for experiment, and build request rspec

3.4) Acquire slice of resources and load images/packages for I&M and experiment application services

3.5) Verify expected slice topology and installed images/packages/software for I&M and experiment services, on computing and on networking resources, based on manifest rspec returned from aggregates

Experiment management tools used:

  • User Workspace environment, including Linux with multiple windows, with browsers and command lines

  • If using InstaGENI rack(s): FLACK with OMNI

  • If using ExoGENI rack(s): Flukes

  • Towards one tool to use for both InstaGENI and ExoGENI racks: FLACK with OMNI

  • Option: Use of GENI CH Portal, plus FLACK with OMNI
  • Gap: Topology and installation verification tool(s); could use features in FLACK; could push manifest rspec to UNIS, and use a GUI on UNIS to visualize topology; could verify correct softwar loaded using ssh queries or features currently in GUSH

Persistent services required:

  • Repositories for images/packages/software

  • Unified Network Information Service (UNIS) (stores experiment topology, based on manifest rspec)
  • Gap: UNIS provides web interface to display topology

Artifacts involved:

  • Gap: List of all desired experiment resources, including services, software, rspecs, scripts; consider structure in GENI Storage Service

  • Images/packages/software for I&M tools and experiment application services

  • Request rspec (build and then submit)

  • Manifest rspec (received)

Status at completion:

  • Obtained slice of GENI resources, with desired topology

  • Installed images/packages/software for I&M and experiment services on computing and on networking resources

4) Configure and initialize I&M and experiment services

4.1) Configure I&M services

  • include desired measurement points within hosts, network resources and/or experiment services to instrument experiment, in a configuration designed to allow experiment goals to be met

  • bind I&M services together (e.g., between each MP and the MC)

  • initialize I&M services
  • verify that I&M services are ready to run and collect measurement data

4.2) Configure experiment services

  • bind experiment services together to realize desired topology and functionality

  • initialize experiment services
  • verify that experiment services are ready to run and collect data, and can be observed by I&M services

Experiment management tools used:

  • If using GEMINI I&M tools: include configuration in request rspec (p/o Step 3), then run instrumentize script

  • I using GIMI I&M tools: p/o configuration is done in post-boot scripts (p/o Step 3), then completed using OMF EC with ruby scripts

  • Gap: Experiment application configuration tool/scripts; consider using OMF EC and OEDL

Persistent services required:

  • GENI Storage Service (admin OOB, web, API)

  • If using GIMI I&M tools: GENI Messaging Service (API)

  • If using GIMI I&M tools: GIMI Portal Service (admin OOB, web, API)

  • If using GEMINI I&M tools: Unified Network Information Service (UNIS) (web?, API)

  • If using GEMINI I&M tools: GEMINI Portal Service (admin OOB, web, API)

Artifacts involved:

  • Manifest rspec (received)

Status at completion:

  • I&M services have been configured to include desired measurement points within hosts, network resources and/or experiment services to instrument experiment, in a configuration designed to allow experiment goals to be met

  • I&M services have been bound together and initialized, so that they are ready to run and collect measurement data

  • Experiment application services have been configured to realize desired topology and functionality

  • Experiment application services have been bound together and initialized, so that they are ready to run and collect measurement data

5) Run and orchestrate I&M and experiment services, to complete run of experiment

5.1) Inititate basic measurements

  • start basic host measurements to verify functionality of all hosts

  • start a set of ping active network measurements to verify topology of slice
  • observe measurements with a real-time presentation service

  • continue measurements throughout duration of the experiment, to verify functionality of hosts and topology of slice

5.2) Verify topology and bandwidth/performance of networking resources using active networking measurements (do a "continuity test")

  • configure and start active network measurements (i.e., iperf) in a configuration designed to verify ability of slice to carry traffic expected during experiment
  • observe measurements with a real-time presentation service

  • once satisfactory measurements have been observed, stop active network measurments

5.3) Instrument and run experiment

  • begin to run and orchestrate I&M 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, and save for further analysis

  • stop experiment services, when this run of the experiment has been completed

  • stop I&M services

5.4) Save collected measurements and other artifacts

  • save collected measurements and other artifacts from experiment in storage service, for further analysis and reference
  • then, slice resources can then be released at any time, without loss of any measurements or artifacts

Experiment management tools used:

  • User workspace, including windows with scripts and browsers

  • Gap: metadata creation and editing service

  • If using GEMINI I&M tools: browser; Gap: consider adding OMF EC with ruby script

  • GIMI: OMF EC with ruby script

  • Experiment: Gap: consider adding OMF EC with ruby script

Persistent services required:

  • GENI Storage Service (admin OOB, web, API)

  • If using GIMI I&M tools: GENI Messaging Service (API)

  • If using GIMI I&M tools: GIMI Portal Service (admin OOB, web, API)

  • If using GEMINI I&M tools: Unified Network Information Service (UNIS) (web?, API)

  • If using GEMINI I&M tools: GEMINI Portal Service (admin OOB, web, API)

Artifacts involved:

  • Ruby scripts

  • Measurement data files, with associated metadata files

Status at completion:

  • one run of experiment has been completed
  • real-time look at measurements has verfied expected operation of experiment (or not)
  • a full set of measurements has been collected, for later analysis
  • collected measurments have been saved to storage service, for further analysis
  • other exepriment artifacts have been saved to storage service, for further reference

  • slice resources can now be released at any time, without loss of any measurements or artifacts

6) Analyze experiment results, and decide on next step(s)

  • if necessary, retrieve measurement results from storage service, in a standardized format

  • as desired, format to facilitate analysis

  • as desired, visualize using a presentation serivce to facilitate analysis

  • analyze measurement results to evaluate experiment results

  • decide whether experiment goals have been met or not

  • decide whether additional experiment runs are required or not, or whether other changes need to be made in experiment before additional runs can be made
  • decide whether slice resources can now be released

  • as appropriate, save analyzed results and/or visualization in storage service

Experiment management tools used:

  • User workspace, including windows with scripts and browsers

  • Option if using GIMI I&M tools: GIMI Portal Service (admin OOB, web, API)

  • Option if using GEMINI I&M tools: Unified Network Information Service (UNIS) (web?, API)

  • Option if using GEMINI I&M tools: GEMINI Portal Service (admin OOB, web, API)
  • Gap: presentation tools; consider r and gnuplot; others?
  • Gap: analysis tools; which?

  • Option: a different workspace, better configured for analyzing results
  • Gap: metadata creation and editing service

Persistent services required:

  • GENI Storage Service (admin OOB, web, API)

Artifacts involved:

  • Measurement data files, with associated metadata files

Status at completion:

  • Current set of experiment measurement results have been analyzed, formatted and/or visualized

  • given current set of experiment measurement results, have decided whether experiemnt goals have been met or not, whether additional experiment runs are required or not, and whether slice resources can now be released

  • as appropriate, analyzed results and/or visualizations have been saved in storage service

7) When no longer needed, release all experiment resources

  • release all experiment resources as soon as possible, to free up them for use by others, but after being certain that they are not needed for another run of the experiment

  • release slice of GENI resources

  • erase entries in operational services that are no longer needed
  • update any software images/packages with changes identifed during experiment
  • update software applications, rspecs and/or scripts with changes identifed during experiment

Experiment management tools used:

  • User Workspace environment, including Linux with multiple windows, with browsers and command lines

  • If using InstaGENI rack(s): FLACK with OMNI

  • If using ExoGENI rack(s): Flukes

  • Towards one tool to use for both InstaGENI and ExoGENI racks: FLACK with OMNI

  • Option: Use of GENI CH Portal, plus FLACK with OMNI
  • Gap: Topology and installation verification tool(s); could use features in FLACK; could push manifest rspec to UNIS, and use a GUI on UNIS to visualize topology; could verify correct softwar loaded using ssh queries or features currently in GUSH

Persistent services required:

Artifacts involved:

Status at completion:

  • all experiment resources have been released, so that they can be used by others

  • entries in operational services that are no longer needed, have been erased

  • software images/packages/appications, and rspecs, scritps, etc., have been updated with changes identified during experiment

8) Optionally, archive selected measurement and/or experiment artifacts

  • within storage service, gather selected components (measurement and/or experiment artifacts) into bundle to form an object to be archived, and move this object into long-term archive service

  • identify object to be archived with a peristent identifier (handle)

  • include metadata to identify owner, and facilitate searching

  • allow retrieval by owner for further analysis and visualization, or for use as a reference

  • include policy for sharing with others or not (e.g., share with all others, or share with no one)

  • when object can be shared with others, allow searching from the Internet, and retrieval using the handle identifier

Experiment management tools used:

  • User Workspace environment, including Linux with multiple windows, with browsers and command lines

Persistent services required:

  • GENI Storage Service (admin OOB, web, API)

  • GENI Archive Service (admin OOB, web, API)

Artifacts involved:

  • measurement data files, with metadata files

  • object containing selected artifacts, with metadata

Status at completion:

  • object stored in long-term archive service
  • object identified with a peristent identifier (handle)

  • metadata is included with object to identify owner, and facilitate searching

  • object may be retrieved by owner for further analysis and visualization, or for use as a reference

  • when object can be shared with others, it can be searched from the Internet, and retrieved using the handle identifier

Attachments (10)

Download all attachments as: .zip