wiki:TestTutorialExperimentWorkflow

Version 24 (modified by hmussman@bbn.com, 11 years ago) (diff)

--

Type 1 (Basic) GENI Experiment Workflow

Version 1.0, February 4, 2013
(after discussion with Vic and Jeanne on 010913)
(after discussion with Jeanne on 012513)
(after work on Sol r document on 012913)

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, and find or write necessary software, rspecs and/or scripts

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 write, 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 utilized:

  • Gap: Experiment planning tool, that assists an experimenter in designing an experiment configuration, and putting together a list of desired resources, desired tools (i.e., I&M) and available software. Part of this tool could query GENI resources to evaluate potential availability.

  • Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment.

  • GENI Storage Service client, that allows the experimenter to push/pull experiment artifacts to/from the GENI Storage service, including rspecs, scripts, measurement data and associated descriptors.

  • Browser, to search and curate GUI on the GENI Storage service, that the experimenter can access using a browser.

  • Gap: Image creation service(s), for target environemnt(s)

  • Option: "GENI-in-a-box", to allow experimenter to prototype an experiment.

In-slice services utilized:

Persistent services utilized:

  • On-line repositories to retrieve/store images/packages/software
  • GENI Storage Service (admin OOB, web, API)

Artifacts utilized:

  • Gap: Artifacts from previous or reference experiments, used as templates for this experiment

  • Gap: Experiment description; consider text, DB entries and/or scripts; consider structure in 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 (or create) the necessary certificates, logins, keys 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 utilized:

  • Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines

  • Scripts to gather (or create) the necessary certificates, logins, keys and credentials.
  • Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools.

  • Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment.

  • Gap: Services availability tool, that verifies the availability of persistent services needed for this experiment (i.e., GENI Storage Service or Unified Network Information Service), and access to those services by this experimenter (i.e., they can still access their account on the GENI Storage Service).

  • Gap: Resource availability tool, that verifies the availability of resources in aggregates, including nodes and networking resources, by querying aggregates and/or GMOC; this then allows the experimenter to request resources that are likely to be available.

  • Option: Resource reservation tool, that would allow an experimenter to reserve scarce resources.

In-slice services utilized: Persistent services utilized:

  • GENI CA

  • 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 utilized:

  • 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 utilized:

  • Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines

  • Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools.
  • Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment.

  • Browser, to access graphical tools.

  • FLACK and Flukes tools with graphical web interfaces have been built to allow an experimenter to define and request a topology in InstaGENI and ExoGENI racks, respectively. With each tool, the desired topology is input using a graphical interface, a request is developed, and then submitted to selected AM(s). After resources have been assigned, a manifest is returned, and it is used to drive a graphical display. The FLACK tool can operate with the GENI AM API, but it is based on software technology that will soon be obsolete. The Flukes tool uses only the FxoGENI SM API. However, it can be used to setup a topology that spans multiple ExoGENI racks at multiple sites.

  • For both InstaGENI and ExoGENI racks, experimenter can run scripts in the user workspace, that use the OMNI tool to access GENI AM APIs, request resources using a request rspec, and receive back a manifest rspec. Given a known-good request rspec, this is repeatable. However, it is essentially impossible to create a non-trivial request rspec, and hard to make significant edits in a request rspec. Thus, this approach has limited utility for an experimenter.

  • Gap: Combined resource assignment tool, that allows an experimenter to define and request resources in both InstaGENI and/or ExoGENI racks, where the desired topology is input using a graphical interface, a request is developed, and then submitted to selected AM(s) using the GENI AM API. After resources have been assigned, a manifest is returned, and it is used to drive a graphical display for verification.
  • Gap: Extensions to the combined assignment tool, that allow an experimenter to request advanced topologies, such as those that span multiple racks at multiple sites, tied together by extensive L2 and/or OF paths. For example, this tool would automatically provide any necessary L2 or OF “stitching”.
  • Gap: Extensions to the combined assignment tool, that allow an experimenter to setup and manage opt-in traffic from the local site (e.g., a campus, via wired or wireless access arrangements).
  • Gap: Extensions to the combined assignment tool that allow an experimenter to modify a topology request, submit it, and then see a confirmation. The request could be modified by changing the graphical input, or editing the request rspec.
  • Gap: Topology and installation verification tool, to 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 and queries of the resources (i.e., ssh to each assigned host).

In-slice services utilized:

  • If using GIMI I&M tools: GIMI measurement point services; optional GIMI measurement collection and presentation service(s)

  • If using GEMINI I&M tools: GEMINI measurement point services; GEMINI measurement sotrage and presentation service(s)
  • Experiment application service(s)

Persistent services utilized:

  • Aggregate managers

  • 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 utilized:

  • 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 utilized:

  • Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines

  • Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools.

  • Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment.

  • Browser, to access tools.

  • To configure the GEMINI I&M tools, the experimenter includes the desired configuration in the request rspec (p/o Step 3), and then runs an instrumentize script (written in Python) that configures and initializes the tools.

  • To configure the GIMI I&M tools, the experimenter includes part of the configuration in post-boot scripts (p/o Step 3), then completes the configuration and initialization using the OMF EC with ruby scripts.

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

In-slice services utilized:

  • If using GIMI I&M tools: GIMI measurement point services; optional GIMI measurement collection and presentation service(s)

  • If using GEMINI I&M tools: GEMINI measurement point services; GEMINI measurement storage and presentation service(s)
  • Experiment application service(s)

Persistent services utilized:

  • 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 utilized:

  • 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 utilized:

  • Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines

  • Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools.
  • Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment.

  • GENI Storage Service client, that allows the experimenter to push/pull experiment artifacts to/from the GENI Storage service, including rspecs, scripts, measurement data and associated descriptors.

  • Browser, to access graphical tools
  • To run and orchestrate the GEMINI I&M tools, the experimenter utilizes a browser to interface with the configuration process running in the GEMINI global node, as part of the experimenter’s slice.
  • To run and orchestrate the GIMI I&M tools, the experimenter uses an OMF EC with ruby scripts to communicate with the OMF RCs installed within each of the experimenter’s nodes.
  • Gap: Experiment application run and orchestration tool/scripts. Consider using an OMF EC with ruby scripts to communicate with the OMF RCs installed within each of the experimenter’s nodes.
  • Gap: Combined run and orchestration tool for all I&M and experiment services. Consider using an OMF EC with ruby scripts to communicate with the OMF RCs installed within each of the experimenter’s nodes.
  • Gap: Extend combined run and orchestration tool to include advanced topologies, such as those that include extensive L2 and/or OF paths.
  • Gap: Extend combined run and orchestration tool to include advanced topologies to allow an experimenter to manage opt-in traffic from the local site (e.g., a campus, via wired or wireless access arrangements).
  • To observe measurement results in real time, both the GEMINI and GIMI I&M tools include portals that allow the experimenter to format and view results using a browser.
  • After an experiment run has been completed, both the GEMINI and GIMI I&M tools include portals that allow the experimenter to push the measurement data to the GENI Storage service, for later retrieval and analysis.

In-slice services utilized:

  • If using GIMI I&M tools: GIMI measurement point services; optional GIMI measurement collection and presentation service(s)

  • If using GEMINI I&M tools: GEMINI measurement point services; GEMINI measurement sotrage and presentation service(s)
  • Experiment application service(s)

Persistent services utilized:

  • 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 utilized:

  • 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 utilized:

  • Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines

  • Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment.

  • GENI Storage Service client, that allows the experimenter to push/pull experiment artifacts to/from the GENI Storage service, including rspecs, scripts, measurement data and associated descriptors.

  • Browser, to access graphical tools

  • Both the GEMINI and GIMI I&M tools include limited presentation functions in their respective portals.
  • Gap: Set of analysis and presentation tools, to be run in the user’s workspace, to provide all necessary format conversion, analysis and presentation functions. Since such a set is completely open-ended, it is desirable to find an established structure for gathering and interfacing a multitude of tools.
  • Option: a different workspace, better configured for analyzing results

In-slice services utilized:

Persistent services utilized:

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

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

Artifacts utilized:

  • 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 utilized:

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

  • If using InstaGENI rack(s): FLACK graphical tool

  • If using ExoGENI rack(s): Flukes graphical

  • Gap: one grpahical tool to use for both InstaGENI and ExoGENI racks

  • Option: Use of GENI CH Portal, then link to graphical assignement tool
  • For both InstaGENI and ExoGENI racks, OMNI script-driven tool

  • 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

In-slice services utilized:

Persistent services utilized:

Artifacts utilized:

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

  • Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines

  • Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment.

  • GENI Storage Service client, that allows the experimenter to push/pull experiment artifacts to/from the GENI Storage service, including rspecs, scripts, measurement data and associated descriptors.

  • Browser, to access graphical tools
  • Search and curate GUI on the GENI Storage service, that the experimenter can access using a browser to define an object, and push it to the GENI Archive service, with an assigned persistent identifier (handle).

In-slice services utilized:

Persistent services utilized:

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

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

Artifacts utilized:

  • 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