How To Use It ...
|
|
|
|
Submit ns script via web form |
|
Relax while emulab … |
|
Generates config from script &
stores in DB |
|
Maps specified virtual topology to
physical nodes |
|
Provides user accounts for node access |
|
Assigns IP addresses and host names |
|
Configures VLANs |
|
Loads disks, reboots nodes, configures
OSs |
|
Yet more odds and ends ... |
|
Runs experiment |
|
Reports results |
|
Takes ~3 min to set up 25 nodes |
Who’s Using It?
|
|
|
|
22 projects have used it (18 external) |
|
Plus several class projects |
|
Two OSDI’00 and three SOSP’01 papers |
|
20% SOSP general acceptance rate |
|
75% SOSP acceptance rate for emulab
users! |
|
More emulabs: |
|
Planned or in progress: Kentucky, CMU, Duke, Cornell |
|
Others considering |
|
Available today at www.emulab.net |
emulab:
A Public Emulation Platform for Research in Distributed Systems and Networks
|
|
|
Jay Lepreau*, Chris Alfeld, Shashi
Guruprasad*, Mike Hibler, Mac Newbold*, Rob Ricci, |
|
Leigh Stoller, Brian White* |
|
|
|
University of Utah |
|
|
|
http://www.emulab.net |
|
|
|
(* = here at SOSP) |
Why?
|
|
|
“We evaluated our system on five
nodes.”
-job talk from university with
300-node cluster |
|
“We evaluated our Web proxy design with
10 clients on 100Mbit ethernet.” |
|
“Simulation results indicate ...” |
|
“Memory and CPU demands on the
individual nodes were not measured, but we believe will be modest.” |
|
“The authors ignore interrupt handling
overhead in their evaluation, which likely dominates all other costs.” |
|
“You have to know the right people to
use the cluster.” |
|
“The cluster is hard to use.” |
|
“<Experimental network X> runs
FreeBSD 2.2.x.” |
|
“February’s schedule for <Testbed
Y> is…” |
|
“<Network Z> is tunneled through
the Internet” |
emulab Testbed
What?
|
|
|
|
|
An instrument for experimental CS
research |
|
A completely configurable “Internet
emulator” in a room |
|
At its core, it’s bare hardware, with… |
|
… complete remote access and control |
|
But, also simple to use |
|
Lots of fast tools for common case |
|
Automatic topology, node and link
configuration |
|
Automatic traffic generation |
|
Universally available |
|
Universities, research labs, companies |
|
Zero-penalty for remote research |
emulab Architecture
Key Design Aspects
|
|
|
|
|
Allow experimenter complete control |
|
Configurable link bandwidth, latency,
and loss rates, via transparently interposed “traffic shaping” nodes that
provide WAN emulation |
|
… but provide fast tools for common
cases |
|
OS’s, state mgmt tools, IP, batch, ... |
|
Disk loading – 6GB disk image
FreeBSD+Linux |
|
Unicast tool: 88 seconds to load |
|
Multicast tool: 40 nodes simultaneously
in < 5 minutes |
|
Virtualization |
|
of all experimenter-visible resources |
|
node names, network interface names,
network addrs |
|
Allows swapin/swapout, easily
scriptable |
Key Design Aspects
(cont’d)
|
|
|
|
Flexible, extensible, powerful
allocation algorithm |
|
Matches desired “virtual” topology to
currently available physical resources |
|
Persistent state maintenance: |
|
none on nodes, all in database |
|
work from known state at boot time |
|
Familiar, powerful, extensible
configuration language: ns |
|
Separate, isolated control network |
Experiment Creation
Process
Some Issues and
Challenges
|
|
|
Network management of unknown and
untrusted entities |
|
Security (users get root on nodes!) |
|
Scheduling of experiments |
|
Calibration, validation, and scaling |
|
Artifact detection and control |
|
NP-hard virtual --> physical mapping
problem |
|
Providing a reasonable user interface |
|
…. |
Automatic mapping of
desired topologies and characteristics to physical resources
|
|
|
|
NP-hard problem: graph to graph mapping |
|
Algorithm goals: |
|
Minimize likelihood of experimental
artifacts (bottlenecks) |
|
“Optimal” packing of many simultaneous
experiments |
|
Extensible for heterogeneous hardware, software, new features |
|
Randomized heuristic algorithm:
simulated annealing |
|
Typically completes in < 1 second |
Ongoing and Future Work
|
|
|
|
Wireless nodes, mobile nodes |
|
IXP1200 nodes, tools, code fragments |
|
Routers, high-capacity shapers |
|
Simulation/emulation transparency |
|
Event system |
|
Scheduling system |
|
Linked set of testbeds |
|
Data capture, logging, and
visualization tools |
|
Microsoft OSs, high speed links, more
nodes! |
New Stuff:
Extending to Wireless and Mobile
Our Approach: Exploit a
Dense Mesh of Devices
Possible User Interfaces
Wireless Virtual to
Physical Mapping
Virtual Topology
Constraints on Mapping
|
|
|
Must map each virtual node and link
to available physical resources |
|
Multiple switches usually have limited
interconnect bandwidth |
|
In our example, there are four
switches, each with 400 Mbps interconnect |
|
More than 4 links mapped onto a given
interconnect would produce an artifact because of the bottleneck |
|
In solution, node color indicates its
switch |
Mapping into Physical
Topology
Complementary to
Other
Experimental Environments
|
|
|
|
Simulation |
|
Fast prototyping, easy to use, but less
realistic |
|
Small static testbeds |
|
Real hardware and software, but hard to
configure and maintain, and lacks scale |
|
Live networks |
|
Realistic, but hard to control,
measure, or reproduce results |
|
|
|
Emulab complements and also helps
validate these environments |
|
|
Wireless Virtual to
Physical Mapping
Integrated Simulation
& Emulation