Guide to using PlanetLab Europe (PLE)
As described in the video, we will be using the PlanetLab Europe (PLE) testbed as a measurement platform in weeks 2, 3, and 4 of this course. You will be able to launch Ping, Traceroute, and iPerf measurements from the more than 100 PLE servers located around Europe, and view the results. You will also be able to view the results of measurements that have been conducted by the instructors. This is an introduction regarding how to use PLE in the context of this course.
It is not common for students to be able to launch measurements on a platform such as PLE, which is normally reserved to researchers. As a result, students who are studying internet measurements are often limited to conducting measurements from just a few vantage points, such as their own computer at home and when they bring it somewhere else. Furthermore, many locations, such as Wi-Fi hotspots, filter traffic in ways that make measurements difficult. We hope that you enjoy the freedom to measure that PLE offers, and that you use it to discover things that you would not otherwise get to see.
Your access to PLE is via an experiments interface that was specially designed for this course. You can see this interface by scrolling down to the bottom of this window or by following one of the links that we provide to it in this text. It is live, not just an image, and we will guide you here on how to use it. Since you have access to this interface, you will not need to set up an account for yourself on the PlanetLab Europe portal itself. If you are a researcher, either in academia or industry, and you would like to go further with PlanetLab Europe outside of the context of this course, you may request a membership for your institution, if it does not already have one.
The PLE interface provides two tabs: Experiment overview and New experiment. Let us look in more detail at how to use each of these tabs.
Tab: Experiment overview
The Experiment overview tab provides a list of all of the experiments that you have launched, with the ability to see their status, view those that have been completed, and delete them. You also see, at the top, the experiments that have been run by the instructors and made available to you. These are "pinned", meaning that they always appear at the top, and you cannot delete them.
If you have not yet conducted any experiments yourself, the Experiment overview tab of the PLE interface lists just the "pinned" experiments that have been made available to you by the instructors. The most recent ones are first. If you have conducted some experiments already, these follow, also most recent first.
The list of experiments
If you have not yet conducted any experiments yourself, the Experiment overview tab of the PLE interface lists just the "pinned" experiments that have been made available to you by the instructors. The most recent ones are first. If you have conducted some experiments already, these follow, also most recent first.
On the upper right is a button to press to refresh the list. You will want to click on this from time to time if you are waiting for an experiment to complete.
In the list, associated with each experiment, are the following columns in the table:
- Pin: Whether or not the experiment has been "pinned" by the instructors. A pushpin symbol indicates that the experiment has been pinned, and so it will remain at the top of the table and cannot be deleted.
- Name: This is the name given to the experiment by the instructor (for a pinned experiment) or yourself. There is no restriction on using the same name more than once.
- Date & time: This is the date and time at which PLE received the request to run the experiment, which should be within a few minutes of requesting that an experiment be launched. Note that since experiments can get queued during periods of high demand, the actual measurements might be conducted at a time that is later than the one shown.
- Status: This is one of the following (remember to refresh the list using the button in the upper right in order to check for updated statuses):
- sending to testbed: The experiment is queued for sending to PLE.
- waiting to be executed: The experiment has been sent to PLE, and is queued there for a time slot at which it can be executed.
- executing job: PLE is executing the experiment.
- job completed: PLE has executed the experiment and sent back the results, which can now be viewed.
- job failed: PLE was unable to execute the experiment and has sent back some failure information, which can now be viewed.
- Details: Click on a View button in this column to see the details of an experiment.
- Delete: Click on an X in this column to delete the record of an experiment.
Viewing an experiment
To view an experiment in the PLE interface, click on the View button in the Details column, and you will see a pop-up window with the details of the experiment. Try this now with the pinned Ping example. The following rubrics (in bold) will appear for any experiment, while the information associated with each rubric will vary depending upon the experiment.
- PlanetLab Europe node: planetlab1.net.in.tum.de
The experiment was launched from a PLE node at the Technischen Universität München (tum.de). - Command: ping
The command that was invoked on that node was "ping". - Destination: ple2.det.uvigo.es
The destination name that was supplied to the command was a PLE node at the Universidade de Vigo (uvigo.es). In this example, we happen to have conducted a ping to a PLE node, but one can in principle ping any host in the internet. The destination will be either a name, as here, or an IP address. - Arguments: None
Any arguments, besides the destination, that have been supplied to the command. In this case, no other arguments were supplied, so it says "None". - Return status: 0
When a Unix command completes, it provides a return status, also called an exit code, indicating whether execution was normal or whether there was an error of some kind. This is a number between 0 and 255. A zero indicates that the command completed without error, and any other number is an error code whose interpretation depends is context dependent. If an experiment got so far as to launch a measurement command, but then that command did not execute properly, the return status may help you understand why. - stdout:
PING ple2.det.uvigo.es (193.146.210.245) 56(84) bytes of data.64 bytes from ple2.det.uvigo.es (193.146.210.245): icmp_seq=1 ttl=51 time=54.5 ms64 bytes from ple2.det.uvigo.es (193.146.210.245): icmp_seq=2 ttl=51 time=54.5 ms64 bytes from ple2.det.uvigo.es (193.146.210.245): icmp_seq=3 ttl=51 time=54.5 ms64 bytes from ple2.det.uvigo.es (193.146.210.245): icmp_seq=4 ttl=51 time=54.5 ms64 bytes from ple2.det.uvigo.es (193.146.210.245): icmp_seq=5 ttl=51 time=54.5 ms--- ple2.det.uvigo.es ping statistics ---5 packets transmitted, 5 received, 0% packet loss, time 4006msrtt min/avg/max/mdev = 54.566/54.580/54.592/0.148 msThe term stdout stands for standard output. This is where a Unix command sends it normal output. For instance, if you were to launch Ping at the command line in a terminal window, the command's output related to normal operation, as seen on the screen, is the standard output.
You can click on Download stdout in order to download to your own computer a text file containing the standard output. - stderr: None
The term stderr stands for standard error. This is where a Unix command sends output relating to an error in execution. When you launch a command at the command line in a terminal window, standard error usually goes to the screen, along with standard output. But this is not necessarily the case, and this output stream can be captured separately, as is done in this interface.
Normally, a program should execute without error and stderr will be None, as it is here. If there is a problem in conducting the measurement, stderr can help sometimes in determining the nature of the error.
Tab: New experiment
The New experiment tab in the PLE interface lets you launch a new experiment. To do so, you fill in the following elements before clicking the Launch button:
- Experiment name: You are free to give the name you wish. Two experiments that have the same name are distinguished by their timestamps.
- PlanetLab Europe node: This is the PLE node on which the measurement command will be launched. You select one node from a pull-down menu that lists all of the PLE nodes that are known to have recently been up and running.
You can see where nodes are geographically on the PLE home page: click on one of the blue disks to see the name of the institution at that location. Although a PLE account is required in order to see the node names, the domain name that is shown will in almost all cases correspond with the domain name of the PLE nodes in the pull-down menu. - Command name: This is the measurement command that will run on the chosen PLE node. You select one of the following from a pull-down menu: ping, traceroute, or iperf.
- Arguments: The destination address (below) will automatically be supplied as a command line argument for the measurement command. You may optionally supply any other arguments that you wish here. The manual pages for the commands describe the possible command line arguments:
- Destination: Each of the measurement commands takes a destination name (such as www.google.fr) or IP address (such as 216.58.209.99) as an argument. For Ping and Traceroute, these may be any host on the internet. For iPerf, it must be a PLE node, as it is necessary to have an iPerf server running at the destination. When you choose iperf, the free text box is replaced by a pull-down menu of PLE nodes that are known to have recently been up and running.