Skip to content. | Skip to navigation

Personal tools


You are here: Home / Wiki / Plab


PlanetLab Interface

PlanetLab Interface

The Emulab PlanetLab interface is no longer supported

Sorry, we are no longer supporting our PlanetLab portal interface. You will need to use PlanetLab directly.

The Emulab portal may return at some undefined point in the future, but in a different form -- perhaps involving Utah's ProtoGENI project and PlanetLab's GENI interface.

PlanetLab Policies

Before you start using Emulab's PlanetLab Portal, be sure you have read over the PlanetLab Acceptable Use Policy. Understand that your use of PlanetLab via Emulab's portal is bound by the policies contained in this document. During the slice creation process, you will be asked to provide a slice description. Please be detailed and accurate regarding the type of activity you expect your slice to produce, including the nature and frequency of the network traffic involved.

Creating a PlanetLab Slice

Simply use the 'Create a (PlanetLab) Slice' menu option. Most of the options have 'footnotes' that explain their use, and things such as our algorithm for picking nodes. Once you fill out the parameters of your slice, you will be taken to a page that gives you the opportunity to set things like the name of the slice and its description. Once you click 'Submit' on the second page, we will start setting up your slice. When it's ready to use, you'll get email detailing which nodes you were assigned, etc.

Using Your PlanetLab Slice

Once your slice has been created, you can view it by clicking on its name in the 'Experiment List' link, or from your 'My Testbed/Emulab' page. This page will let you terminate the slice, or put it into a 'swapped out' state (in which we keep information about the slice in our database, but it is not actually instantiated on any nodes). It will also show you which nodes were allocated to you, and perform operations on these nodes such as rebooting them. Rebooting a sliver kills off all processes running on it, and re-runs the Emulab sliver setup code (including your startup command if you supplied one.)

For your convenience, we set up DNS names for all of the nodes in your slice - each sliver can be addressed like <node>.<exp>.<proj>, where: node is the name of the node in your slice (if you used the 'EZ' form, the names will be 'node-N', starting with 'node-1', up to the number of nodes in your slice). exp is the name of your experiment (same as the slice name) and proj is the name of your project on Emulab.

Unlike 'raw' PlanetLab slices, you log into an Emulab-created slice using your own (Emulab) username. To do this, all of the slivers in your slice run their own sshd, which must be run on a non-standard port so that it doesn't conflict with the node's 'main' sshd. The port numbers for your slice's sshds are listed in the experiment creation mail. For interactive use, there are links on the experiment page to ssh (with a helper application, linked from the column header) using the correct hostname, correct port number, etc.

Getting More Advanced

Our 'EZ' slice creation form allows for simple things like asking for a bunch of nodes of the same type, or installing the same RPM on all nodes in the slice. But what if you want to do something more fancy, like ask for 10 nodes inside North America, and 10 outside? Or run a certain command, on startup, only on one of your nodes? Well, luckily, there's a lot more power to the specification interface than what you see on the 'EZ' pages.

What's going on behind the scenes here is that Emulab actually takes as input an NS file - a very similar file to the one used for the NS network simulator. The 'EZ' forms are generating an NS file for you, but, of course, you can write one yourself. On the second page in the slice creation process, you can click on 'View NS File' to view (and/or save) a copy of the generated NS file. You can then use this (very commented) file as a starting point for creating your own, more complicated file. You can then submit this file to the 'Begin/Advanced Experiment' page.

The Emulab documentation covers the parts of NS that are and are not supported, and Emulab's own extensions to the language.

Changing Your View of The Web Interface

We've attempted to make things simple for people who only want to create PlanetLab slices, by providing a stripped-down version of our web interface. If you'd like to see the whole interface, use the 'Edit Profile' link on the 'My Testbed/Emulab' page. There is a checkbox on this page that will allow you to toggle the interface view you get.

Where Should I Look for Help?

When using our interface to PlanetLab, there are two different entities responsible for support: us and the PlanetLab team. Each is responsible for a different part of the system you are using. So, below are some guidelines on which types of questions/problems should be addressed to who.

In an emergency, such as being unable to create a slice with a deadline looming, you can try asking both places at once. However, under normal circumstances, we suggest trying one at a time.

Questions that should go to us:

  • Any questions or problems relating to our web forms.
  • Any errors reported in the experiment creation mail you receive.
  • Questions about any of our 'added' features to PlanetLab, such as automatic tarball/RPM installation and startup commands.
  • Questions about getting Emulab accounts or permission to use Emulab's PlanetLab interface.
  • Problems with accounts created for you on your PlanetLab slice, such as being unable to log in or use sudo.

Questions for which the answer may be on the PlanetLab site, or should go to

  • Questions about the kernels and other software on PlanetLab nodes.
  • Questions the PlanetLab environment, such as bandwidth limitations and raw sockets.
  • Misbehaving nodes, or nodes which are having resource problems such as full disks, excessive load, or running out of memory.