wiki:TestTutorialExperimentWorkflow

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

--

Basic Experiment Workflow

0) Overview of experiment

1) Design experiment

2) Establish experiment management environment

3) Obtain slice of GENI resources, and then 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

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

7) When no longer needed, release all experiment resources

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

0) Overview of experiment

0.1) Title and abstract

0.2) Goals and strategy for results

0.3) Configuration

0.4) Process (flow chart)

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 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

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"

Tools used:

  • Gap: workflow description (or even execution) tool (consider GRID Generic Workflow Execution Service)

Operational services required:

Artifacts involved:

  • Gap: Workflow description (consider GRID Generic Workflow Description Language (GWorkflowDL)
  • Gap: Summary of experiment resources, services, software, rspecs, scripts (espec?)

Status at completion:

2) Establish experiment management environment

2.1) Establish experiment management (user workspace) service

2.2) Gather necessary keys, passwords, certificates and credentials

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

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

Tools used:

  • User Workspace (on VM)
  • Option: extend to using GNOME environment, and customized windows?

  • Option: use GENI CH Portal

  • Gap: Availability verification tool(s)

Operational services required:

  • GENI CA (or ?)

  • GENI SA

  • GENI Messaging Service (API)

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

  • GIMI Portal Service (admin OOB, web, API)

  • GEMINI Portal Service (admin OOB, web, API)

  • Unified Network Information Service (UNIS) (web?, API)

Artifacts involved:

  • Gap: Summary of experiment resources, services, software, rspecs, scripts (espec?)

  • Experimenter usernames/passwords, certificates, keys, credentials

Status at completion:

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 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) Verify slice with desired topology and installed images/packages/software for I&M and experiment services on nodes and on networking resources

Tools used:

  • InstaGENI: FLACK with OMNI

  • ExoGENI: Flukes

  • Common: FLACK with OMNI

  • Option: GENI CH Portal, plus FLACK with OMNI
  • Gap: Topology and installation verification tool(s)

Operational 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: Summary of experiment resources, services, software, rspecs, scripts (espec?)

  • images/packages/software for GIMI, GEMINI, and/or experiment

  • request rspec (build and then submit)

  • manifest rspec (receive)

Status at completion:

  • obtained slice of GENI resources, with desired topology

  • installed images/packages/software for I&M and experiment services on nodes 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

Tools used:

  • GEMINI: hand edit rspec, then instrumentize script

  • GIMI: post-boot scripts, then ?

  • Gap: Experiment configuration tool/scripts

Operational services required:

Artifacts involved:

  • manifest rspec (receive)

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 services have been configured to realize desired topology and functionality

  • experiment 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 hosts

  • start basic 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 (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

Tools used:

  • User workspace, scripts and browser

  • Gap: metadata creation and editing service

  • GEMINI: browser; Gap: consider adding OMF EC with ruby script

  • GIMI: OMF EC with ruby script

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

Services required:

  • GENI Messaging Service (API)

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

  • GIMI Portal Service (admin OOB, web, API)

  • GEMINI Portal Service (admin OOB, web, API)

  • Unified Network Information Service (UNIS) (web?, API)

Artifacts involved:

  • ruby scripts

  • measurement data files, with 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

  • analyze measurement results to evaluate experiment results

  • as desired, format to facilitate analysis

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

  • 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

Tools used:

  • User workspace, scripts and browser

  • Gap: metadata creation and editing service

  • Gap: analysis tools; consider ?

  • Gap: presentation tools; consider r and newplot

Services required:

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

  • GIMI Portal Service (admin OOB, web, API)

  • GEMINI Portal Service (admin OOB, web, API)

  • Unified Network Information Service (UNIS) (web?, API)

Artifacts involved:

  • measurement data files, with metadata files

Status at completion:

  • current set of experiment measurement results have been analyzed, formatted and/or visaualized

  • 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

Tools used:

  • User workspace, scripts and browser
  • InstaGENI: FLACK with OMNI

  • ExoGENI: Flukes

  • Common: FLACK with OMNI

  • Option: GENI CH Portal, plus FLACK with OMNI
  • Gap: Topology and installation verification tool(s)

Services required:

Artifacts involved:

Status at completion:

  • all experiment resouerces 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

Tools used:

  • User workspace, scripts and browser

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