Please note that these Trac pages are no longer being updated. Wiki contents/documentation have moved to GitHub.

Version 87 (modified by justinc, 6 years ago)


Latest News

Happy 8th Birthday, Seattle!

Seattle Testbed turns eight! Since its inception, more than 100 developers from over 30 institutions all over the world have contributed to its code b ...

(Read more)

  • Posted: 2016-06-27 08:27
  • Author: albert
  • Categories: (none)
  • Comments (0)

September 17 service interruptions

Due to electrical work in our datacenter, the  Seattle Clearinghouse and auxiliary services will be offline, st ...

(Read more)

  • Posted: 2015-09-16 02:29 (Updated: 2015-09-16 02:32)
  • Author: albert
  • Categories: (none)
  • Comments (0)

Infrastructure Outage

We are currently experiencing an outage of parts of the Seattle infrastructure. This might affect your ability to acquire vessels via the Seattle Clea ...

(Read more)

  • Posted: 2015-03-03 03:26
  • Author: albert
  • Categories: (none)
  • Comments (0)

What is Seattle?

Seattle is a platform for networking and distributed systems research. It's free, community-driven, and offers a large deployment of computers spread across the world. You can use our  Seattle Clearinghouse website to share resources with other users, or obtain resources for your own project. Seattle operates on resources donated by users and institutions. The global distribution of the Seattle network provides the ability to use it in application contexts that include cloud computing, peer-to-peer networking, ubiquitous/mobile computing, and distributed systems.

Seattle runs on end-user systems in a safe and contained manner, with support for several platforms. Users install and run Seattle with minimal impact on system security and performance. Sandboxes are established on the user's computer to limit the consumption of resources such as CPU, memory, storage space, and network bandwidth. Programs are only allowed to operate inside of a sandbox, ensuring that other files and programs on the computer are kept private and safe. This allows researchers and students to safely run code without impacting performance or security.

For more information, please check out our  overview movie.

For a less technical overview of Seattle check out  the Seattle homepage.


  • Community-driven and free.
  • Scalable architecture.
  • Non-intrusive and safe for end users.
  • Already installed on about 1,000 machines across hundreds of universities worldwide.
  • Provides access to systems behind a wide array of network technologies.
  • Easy to learn, based on a subset of  Python.
  • Simple and clean programs:
    • A UDP ping client is just six lines of code. A UDP ping server is just four lines.
    • A  Chord implementation requires about 300 lines of code.
  • Cross-platform support:
    • Windows (XP or newer)
    • Mac OS X
    • Linux
    • Portable devices (Tablets, Android phones, jailbroken iPhones/iPads)

Is Seattle for me?

Seattle is ideal for students, researchers, and companies that want to prototype and test code on testbeds that have varying scale, diversity, and topologies. The same code may easily be run on a variety of operating systems, architectures, and network environments in order to understand the performance and dynamics of a distributed system. Seattle is also ideal for studying the wide-area characteristics of the Internet. For example, path transitivity, latency and bandwidth variations, as well as availability can all be characterized with Seattle.

Users needing direct access to hardware or support for low-level languages should look elsewhere. Seattle forgoes these capabilities to ensure safety and performance isolation for end users.

What makes Seattle different?

There is a wide variety of other platforms and testbeds readily available, each with an equally expansive set of project goals. Related projects include the following:

  •  PlanetLab is similar to Seattle in that it offers a platform composed of donated resources from around the world. However, PlanetLab nodes are dedicated to PlanetLab, while Seattle computers are not dedicated to the platform. In addition, PlanetLab's computers and network connectivity are very homogeneous. Seattle aims to be more widely distributed and to support broader resource diversity.
  •  SatelliteLab is useful for studying network characteristics and aims to bring heterogeneity to PlanetLab. However, due to the reliance on PlanetLab nodes for forwarding traffic, SatelliteLab has fidelity limitations and is not able to scale to the diversity and size of Seattle.
  •  Emulab provides emulated network environments for researchers to conduct experiments. While emulation allows more control of network hardware and topology, it does not capture the behavior of the Internet. Running Seattle allows more realistic experimentation at larger scales by running on the Internet.
  •  BOINC and  Condor also allow users to donate resources. However, the emphasis is on computational power, with a preference toward using a few supercomputers rather than a large group of cheaper PCs. Seattle places more emphasis on the diversity of the networks and systems used, as computational power is not the main goal.
  •  Amazon's EC2 is a paid service that provides operating-system virtual machines. Seattle instead relies on donated resources and provides programming-language virtual machines.
  •  Google's AppEngine executes programs written in a constrained version of Python and supports high-level abstractions (such as global non-relational storage). It is useful for building locality-oblivious web applications that fit the HTTP request/response protocol model. However, its transparent handling of scalability and locality make it unsuitable for those wishing to teach or otherwise address these fundamental topics of distributed systems. AppEngine is run on Google-controlled resources instead of donated resources.
  • More related work...

How do I learn more?

Learn the basics:

Check out the portal pages for in-depth information:

If you are using Seattle and need support, send an email to our  mailing list.