Department of Computing Imperial College London
PlanetLab at DoC

The Department of Computing is a member of PlanetLab, an open, globally distributed research network for developing, deploying and accessing planetary-scale services. As of Sept 2007, it consists of over 800 nodes at 400 sites. PlanetLab has been used extensively for networking and distributed systems research in areas such as peer-to-peer systems, network-embedded storage, content distribution networks, routing and multicast overlays, QoS overlays, scalable object location, publish/subscribe systems, anomaly detection mechanisms and network measurement tools. An advantage in using PlanetLab is that it enables experiments with new Internet-scale applications under real-world conditions, and at large scale. In addition to supporting short-term experiments, PlanetLab is also designed to host long-running services that support a client base.

We provide PlanetLab accounts to research staff and for some student projects. If you would like to use PlanetLab for your work, please send an email to After we've approved your request, register for a new account on the PlanetLab website using your departmental email address (

The following map shows the location of all PlanetLab nodes world-wide. Most PlanetLab machines are hosted by universities and other research institutions. Imperial College has four PlanetLab machines called planetlab-{1,2,3,4}

As a PlanetLab user, you get login access to all PlanetLab nodes. Each PlanetLab node has full (non-firewalled) Internet access and provides a Linux environment, giving you the illusion of root access through virtualisation. Each user receives a PlanetLab slice, an allocation of resources (CPU, memory, disk) on all nodes. You can install your own applications in your PlanetLab slice and run distributed experiments with hundreds of hosts. More documentation that explains how PlanetLab works from a user's perspective can be found here. This tutorial describes how to create a 'Hello World' application on PlanetLab.

You should keep in mind that PlanetLab is a real-world deployment environment. At any given time, some of the nodes will be unreliable, broken or without network connectivity. Network delays and bandwidth between nodes will vary drastically. Many nodes are also very popular and thus heavily loaded with concurrent processes. This means that any application deployed on PlanetLab should be designed with robustness and reliability in mind. Often it is non-trivial to get systems to work in such a hostile environment, but nevertheless people manage to run stable, long-running services on PlanetLab.

Please also note that PlanetLab is a shared environment that depends on the cooperation of all users. This means that you must follow PlanetLab's acceptable use policy. In a nutshell, you shouldn't use PlanetLab for anything that you wouldn't do on a DoC system. If you are unclear whether an experiment or project is appropriate for PlanetLab, send us email.

© Peter Pietzuch / CSG / Nov 2007