OMF Experiment Control tools running an experiment across NICTA, PlanetLab, and Emulab

NOTE: This page is under construction, it may miss some information or contain errors

IMPORTANT NOTE

This case study was last tested with OMF 5.3.1. It may require some updates to be reproduced with the latest OMF version

1. Overview

This is a simple demonstration of an OMF experiment which uses 3 resources, which are located on 3 different testbeds (or aggregates). These testbeds are the NICTA indoor wired/wireless testbed, the PlanetLab testbed, and the Emulab testbed.

OMF here is only used to describe and control the experiment execution. The discovery, reservation and allocation of the resources on each testbed is done using the testbed's own "control framework" (i.e. SFA/MyPLC for PlanetLab, ProtoGENI for Emulab).

In addition, the simple experiment demonstrated here also uses the OML measurement framework to collect measurements from the 3 involved resources.

Experiment scenario

  • This experiment will run in the slice named "federationslice"
  • This experiment will use the unique publish/subscribe server at "norbit.npc.nicta.com.au"
  • Each resource runs a "pinger" application, which will ping the other resources in the experiment.
  • The pinger applications running on each node will measure RTTs. OML will be used to collect and store these measurements.

2. Resource Discovery, Reservation, and Allocation

2.1. Getting a resource from the OMF NICTA indoor testbed

  • The rest of this document assumes that you have reserved the node known as: "omf.nicta.node6"
  • Create a publish/subscribe group for the slice "federationslice", and your node to "omf.nicta.node6":
On the console of norbit.npc.nicta.com.au:
  omf_create_sysnode-5.3 norbit.npc.nicta.com.au mkslice federationslice omf.nicta.node6

(The sole purpose of this script is to create the slice pubsub groups in the publish/subscribe server "norbit.npc.nicta.com.au". A slice in OMF is only a concept of interest to the experiment control tool, which uses it to identify a group of resources that it can communicate to)

2.2. Getting a resource from the PlanetLab testbed

  • Here we assume that you will use the Web interface to PlanetLab. The tasks below could easily be done using the SFA tools as well. This alternative will be described later.
  • The rest of this document assumes that you have reserved the node known as: "onelab10.pl.sophia.inria.fr" on PlanetLab
  • Install the OMF Resource Controller on that node. Note, that this step will soon be done automatically on PlanetLab Europe. For now, do the following:
    1. login to your PlanetLab node (assuming that your private PlanetLab key is at .ssh/rsa_key):
    2. download and run the provided "rc-fedora-install.sh" script
# 1. login:
  ssh -i .ssh/rsa_key federationslice@onelab10.pl.sophia.inria.fr

# 2. download and run:
  wget "http://mytestbed.net/attachments/download/330/rc-fedora-install.sh" 
  sh rc-fedora-install.sh
  • Configure the RC on that node. Again, this step will soon be done automatically on PlanetLab Europe. For now:
    1. edit the RC config file at "/etc/omf-resctl-5.3/omf-resctl.yaml"
    2. go to the ":name:" section and replace its value by a name for your node, for example a good name for your node "onelab10.pl.sophia.inria.fr" could be "omf.planetlab.onelab10"
# 1. edit:
  sudo vi /etc/omf-resctl-5.3/omf-resctl.yaml

# 2. look for ":name:" and replace its value:
  :name: 'omf.planetlab.onelab10'
  • Create a publish/subscribe group for your node "omf.planetlab.onelab10", as done previously for the NICTA resource::
On the console of norbit.npc.nicta.com.au:
  omf_create_sysnode-5.3 norbit.npc.nicta.com.au sliceadd federationslice omf.planetlab.onelab10
  • Finally start the RC on your PlanetLab node:
# On the console of "onelab10.pl.sophia.inria.fr":
  sudo /etc/init.d/omf-resctl-5.3 start

# A 'ruby' process should then have started, you can check it by running:
  ps a | grep ruby

2.3. Getting a resource from the Emulab testbed

  • Make sure that you asked for the exclusive use of a node with a recent version of Fedora installed. Here is an ProtoGENI RSPEC example for such a resource request: protogeni-fedora10.rspec
  • The rest of this document assumes that you have reserved the node known as: "pc136.emulab.net" on Emulab
  • Similar to the PlanetLab section above, install the OMF Resource Controller on that node:
    • (this should not be required if you used ProtoGENI with the RSPEC: protogeni-fedora10.rspec , as this RSPEC requests the installation and execution of the rc-fedora-install script)
# 1. login to your emulab node:
  ssh username@pc136.emulab.net

# 2. download and run the rc-fedora-install script:
  wget "http://mytestbed.net/attachments/download/330/rc-fedora-install.sh" 
  sh rc-fedora-install.sh
  • Similar to the PlanetLab section above, configure the RC on that node:
    1. edit the RC config file at "/etc/omf-resctl-5.3/omf-resctl.yaml"
    2. go to the ":name:" section and replace its value by a name for your node, for example a good name for your node "pc136.emulab.net" could be "omf.emulab.pc136"
# 1. edit:
  sudo vi /etc/omf-resctl-5.3/omf-resctl.yaml

# 2. look for ":name:" and replace its value:
  :name: 'omf.emulab.pc136'
  • Create a publish/subscribe group for your node "omf.emulab.pc136", as done previously for the NICTA resource::
On the console of norbit.npc.nicta.com.au:
  omf_create_sysnode-5.3 norbit.npc.nicta.com.au sliceadd federationslice omf.emulab.pc136
  • Finally start the RC on your Emulab node:
# On the console of "pc136.emulab.net":
  sudo /etc/init.d/omf-resctl-5.3 start

# A 'ruby' process should then have started, you can check it by running:
  ps a | grep ruby

3. The Experiment Description

4. Running the Experiment

5. The Results

rc-install-output.txt - Example output for RC install on Fedora (6 kB) Thierry Rakotoarivelo, 18/08/2010 11:03 am

rc-install-output.tgz - A tarball of the rc-fedora-install script (1.3 kB) Thierry Rakotoarivelo, 18/08/2010 01:51 pm

protogeni-fedora10.rspec - Example ProtoGENI RSPEC for an exclusive node with Fedora 10 installed (769 Bytes) Thierry Rakotoarivelo, 18/08/2010 01:53 pm