Running The GPE Forest Demo

From ARL Wiki
Jump to navigationJump to search


CAVEAT: THIS PAGE IS IN ROUGH FORM.

This page first explains how to run the 3R GPE Forest Demo which uses three SPP GPEs as routers, three ordinary PlanetLab hosts as multicast traffic generators and six PlanetLab hosts as multicast subscribers. It does not use NPEs. It is a canned demo in the sense that it uses specific SPPs and PlanetLab hosts. Then, it explains how to run the 2- and 1-router configurations (known as 2R and 1R respectively). Finally, it explains how to choose different PlanetLab hosts as multicast traffic generators and multicast subscribers.

Overview

The components:

  • Three SPP GPEs for running the router software wuRouter
  • Nine PlanetLab hosts for running the traffic generator wuHost
  • A controlling host for orchestrating the Demo

There are three sets of windows:

  • A DEMO window for controlling the experiment/demo
  • Three router windows (DC, SLC, KC)
  • (Optional) Nine host windows
  • A traffic monitoring window

To run the Demo:

  • Get the GPE Forest tar file gpe-forest.tar
  • At each of the three SPP GPEs:
    • Extract the files from the gpe-forest.tar
    • Run the config-forest-router.sh script
  • At each of the nine PlanetLab hosts:
    • Extract the files from the gpe-forest.tar
    • Run the config-forest-host.sh script
  • At the host where you plan to control the experiment (Demo Central):
    • Extract the files from the gpe-forest.tar
    • Run the config-forest-main.sh script
  • At each of the three GPEs:
    • Configure the SPP using a setup script
  • At the Demo Central host:
    • Change directory to ~/wunetRuns
    • Find suitable PlanetLab hosts
    • Execute the run script

When done:

  • At each of the three GPEs:
    • Run the teardown script for that router

Preliminaries

Forest Name Node Name IP Address
H11 vn4.cse.wustl.edu 128.252.19.19
H12 planetlab-04.cs.princeton.edu 128.112.139.27
H13 planetlab-05.cs.princeton.edu 128.112.139.28
H21 vn5.cse.wustl.edu 128.252.19.18
H22 planetlab5.flux.utah.edu 155.98.35.6
H23 planetlab2.unl.edu 129.93.229.139
H31 osiris.planetlab.cs.umd.edu 128.8.126.78
H32 planetlab7.flux.utah.edu 155.98.35.8
H33 planetlab6.flux.utah.edu 155.98.35.7

You must do the following before you try to run the entire Demo:

  • Have your PI assign you to an SPP slice and a PlanetLab slice.
  • Add the three SPPs DC, SLC and KC to your SPP slice and the nine hosts (shown right) to your PlanetLab slice.
  • Install version 1.6 of the Java Run-time Environment (JRE) on the host where you plan to install and run the Forest router software.

The JRE is only required if you plan to run the graphical interface for displaying traffic statistics.

XXXXX


Install the GPE Forest Software

The GPE Forest software must be installed on:

  • The GPEs of the three SPPs (SLC, KC, DC)
  • The nine PlanetLab hosts shown above
  • The host that will run the Demo

Here are the steps involved in installing the software:

  • Log into the host where you plan to run the Demo, and install the gpe-forest.tar tar file using the bash shell:
    demo>  bash                           # run the bash shell
    demo>  XXX gpe-forest.tar             # get tar file
    demo>  tar xvf gpe-forest.tar         # extract files
  • Read the README file ~/gpe-forest/README.
  • Install the software on the Demo host:
    demo>  cd gpe-forest/install
    demo>  ./install-gpe-forest-demo-host.sh    # install on the demo host
  • Install the software on the three GPEs:
    demo>  ./install-gpe-forest-routers.sh      # install on the routers (GPEs)
  • Install the software on the nine PlanetLab hosts:
    demo>  ./install-gpe-forest-hosts.sh        # install on the PlanetLab hosts

These three scripts install the software and do some simple checks. The README file explains what each of these scripts do. If an error occurs, an error message preceded by "+++++ ERROR:" will be displayed on stdout.

If there are no errors,

  • XXXXX

Configure the SPPs

We setup the three SPPs by running the setup-spp.sh script:

    demo>  cd ~/gpe-forest/scripts
    demo>  ./setup-all-SPPs.sh > setup-all-SPPs.out

which does the following on each GPE:

  • Make a reservation for an SPP that specifies the aggregate bandwidth needed by the data and monitoring traffic.
  • Acquire the GPE resources specified in the reservation.
  • Configure the Line Card to support two endpoints (EPs):
    • The data EP which accepts 10 Mbps (peak) TCP traffic at port 30123.
    • The monitoring EP which accepts 1 Mbps (peak) UDP traffic at port 3551.

You can also do this by logging into each of the SPPs and executing a setup script.

Run the Demo

Host Windows (Optional)

This step is optional but clearly indicates when the traffic generator wuHost are running. If you are running an xterm, the following command will open nine small windows labeled H11, H12, ... , H32, H33 near the northwest corner of the screen (one window for each PlanetLab host):

    xterm>  source ~/gec6-3R-xterms

Now run the =probeH script on each of the hosts:

    xterm>  =probeH

The =probeH script greps the output of "ps clax" for the wuHost process every five seconds. In the example below, two successive lines of "- -" indicates that wuHost was not running for the first 10 seconds, but ran for 10 seconds before terminating.

    - -
    - -
    0   505 21993 21988  25  0 344524 29432 -  R ?  0:03 wuHost
    - -
    0   505 21993 21988  25  0 344524 29432 -  R ?  0:08 wuHost
    - -
    - -

Demo Central Window

Initialize the stats files at the routers:

    demo>  cd ~/gpe-forest
    demo>  ./clean.sh

The script ensures that the files ~/gpe-forest/${WUNET}/3R/r[123]/stats at each of the three routers is empty (0-byte).

Traffic Monitor Window

Start the traffic monitor:

    xterm>  java -jar SPPmon.jar

The figure (below) shows the four monitor windows: the main RLI window and three traffic charts (one for each router).

File:Gec6-forest-traffic0.png
Forest Traffic Windows

Demo Central Window

Now, run the wuRouter process at each of the three GPEs and the wuHost process at each of the nine PlanetLab hosts.

    demo>  cd ~/gpe-forest/wunet5s/3R
    demo>  ./run-forest.sh

The page Inside The run-forest.sh Script describes the script. In short, the script starts the routers together; then it starts the three traffic sources (H11, H21, H31) together; and then, it starts the remaining hosts (multicast subscribers) staggered by 5 seconds starting with H12. The subscribers subscribe to multicast flows with 5-second delays between new subscriptions, and then follow a similar pattern unsubscribing. Because this pattern is done for vnet 1 flows and then repeated for vnet 2 flows, traffic to the subscribers appears as two staircase traffic patterns.

The traffic charts (above) indicate:

  • The traffic sources (H11, H21, H31) are generating 100 pkts/sec (black line).
  • Traffic to the multicast subscribers directly-connected to router Rx (x=1,2,3) (i.e., Hx2, Hx3) (blue line):
    • XXXXX
    • XXXXX staircase up and down
  • At R1, traffic to routers R2 and R3 (red and pink lines) XXXXX
  • At R2, traffic to routers R1 and R3 (red and pink lines) XXXXX
  • At R3, traffic to routers R1 and R2 (red and pink lines) XXXXX

In the basic run script, no further intervention is necessary because wuRouter terminates after XXX seconds and wuHost terminates after XXX seconds. The whole Demo runs in about XXX seconds.

Tear Down The Demo

Now, the SPP resources must be freed and their reservations canceled. This is done by executing a teardown script in a similar manner to the setup script:

    demo>  teardown-all-SPPs.sh > teardown-all-SPPs.out

which undoes the setup on each GPE:

  • Free the two endpoints (EPs).
  • Free the GPE resources specified in the reservation.
  • Cancel the reservation for an SPP.

This script goes to each of the SPPs and runs a teardown script.

Demo Problems

Some of the more common problems are listed below with an explanation of how to check for and resolve the problem.

  • XXXXX
    XXXXX
  • XXXXX
    XXXXX

Other Configurations

Running wuRouter and wuHost Separately

  • ex2/
  • run wuRouter forever (finTime = 0)
  • run wuHost on demand

Running The 2R And 1R Configurations

  • XXXXX

Using Different PlanetLab Hosts

  • XXXXX

Extra Stuff

SLC Router Window

  • Place the window in the southwest corner of the screen
  • Title the window SLC
  • Ssh to the SLC router and setup the router
    xterm>  ssh -v $SLClogin
    SLCgpe> cd gpe-forest/demo
    SLCgpe> setup-slc.sh | tee setup-slc.out

Here is an example of the setup-slc.out file:

    XXX

The page Inside The setup-spp.sh Script describes the setup script.

Now, repeat the same procedure for the other two routers KC and DC.

KC Router Window

  • Place the window in the south side of the screen
  • Title the window KC
  • Ssh to the KC router and setup the router
    xterm>  ssh -v $KClogin
    KCgpe>  cd gpe-forest/demo
    KCgpe>  setup-kc.sh | tee setup-kc.out

DC Router Window

  • Place the window in the southeast corner of the screen
  • Title the window DC
  • Ssh to the DC router and setup the router
    xterm>  ssh -v $DClogin
    DCgpe>  cd gpe-forest/demo
    DCgpe>  setup-dc.sh | tee setup-dc.out