Experiences Building PlanetLab
Larry Peterson, Andy Bavier, Marc E. Fiuczynski, Steve Muir
Department of Computer Science
This paper reports our experiences building
PlanetLab over the last four years. It identifies the re-
quirements that shaped PlanetLab, explains the design
decisions that resulted from resolving conflicts among
these requirements, and reports our experience imple-
menting and supporting the system.
Due in large part
to the nature of the “PlanetLab experiment,” the discus-
sion focuses on synthesis rather than new techniques, bal-
ancing system-wide considerations rather than improving
performance along a single dimension, and learning from
feedback from a live system rather than controlled exper-
iments using synthetic workloads.
PlanetLab is a global platform for deploying and eval-
uating network services [21, 3].
In many ways, it has
been an unexpected success.
It was launched in mid-
2002 with 100 machines distributed to 40 sites, but to-
day includes 694 nodes spanning 335 sites and 35 coun-
tries. It currently hosts 1100 researchers affiliated with
600 projects. It has been used to evaluate a diverse set of
planetary-scale network services, including content dis-
tribution [33, 8, 24], anycast [4, 9], DHTs , robust
DNS [20, 25], large-file distribution [19, 1], measurement
and analysis , anomaly and fault diagnosis , and
event notification . It supports the design and evalua-
tion of dozens of long-running services that transport an
aggregate of 3-4TB of data every day, satisfying tens of
millions of requests involving roughly one million unique
clients and servers.
To deliver this utility, PlanetLab innovates along two
Novel management architecture.
ministers nodes owned by hundreds of organiza-
tions, which agree to allow a worldwide community
of researchers—most complete strangers—to access
their machines. PlanetLab must manage a complex
relationship between node owners and users.
Novel usage model.
Each PlanetLab node should
gracefully degrade in performance as the number of
users grows. This gives the PlanetLab community
an incentive to work together to make best use of its
In both cases, the contribution is not a new mechanism or
algorithm, but rather a synthesis (and full exploitation) of
carefully selected ideas to produce a fundamentally new
Moreover, the process by which we designed the sys-
tem is interesting in its own right:
evolved incrementally based on experience gained
from supporting a live user community.
in contrast to most research systems that are de-
signed and evaluated under controlled conditions,
contained within a single organization, and evalu-
ated using synthetic workloads.