Emulab is a software system that provides a time- and space-shared platform for research, education, and development in distributed systems and networks. Its primary goals are ease of use, control, and realism, achieved through consistent use of virtualization and abstraction. By providing operating system-like services such as node and link allocation and naming, scheduling and idle experiment preemption, experiment "swapping," and disk image loading, Emulab acts as a virtual machine for network experimentation.
This document describes the initial setup of an Emulab-based network testbed. If you are reading this online from the main Emulab wiki, you should download the stand-alone documentation tarball that corresponds to your release. You can do this from the Software page. It is important that you read all of the preliminary content (namely the prerequisites) before deciding to embark on such a journey. You should also look at the top-level README file which is included in the Emulab source tarball.
For more information about Emulab, see the 2002 OSDI paper entitled An Integrated Experimental Environment for Distributed Systems and Networks.
We strongly encourage to you let testbed-ops know about your testbed, so that we have a good idea of how much the Emulab software is being used, and for what purposes. We'd like to add you to our Other Emulabs page.
In addition, you must join the Emulab Admins Forum if you have questions or problems. Many others before you have run into the same problems and questions, so search this forum first. If you cannot find an answer, feel free to post a message to the forum.