Running The GPE Forest Demo
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.
Contents
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).
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