emulab.net: A Network Emulation and

Download Report

Transcript emulab.net: A Network Emulation and

Emulab
and its lessons and value for
A Distributed Testbed
Jay Lepreau
University of Utah
March 18, 2002
What?

A configurable Internet emulator in a room
– Today: 168+160 nodes, 1646 cables, 4x BFS (switch)
– virtualizable topology, links, software




Bare hardware with lots of tools:
Management Software
An instrument for experimental CS research
Universally available to any remote
experimenter
Simple to use
Points

Programmable, automated mgmt,
complete virtualization:
– Qualitatively new environment

Most of it will work in wide area
New Stuff

Integrated event system
–
–
–
–
–
–

Underlying pub/sub system
Integrated into ‘ns’ (statically scheduled)
Start/stop programs
Replayable
Dynamic events
User-accessible
Traffic generation
– Automatic, from ns script
– New generators:
• TG (tcp, udp)
• ‘nse’ with udp, tcp, ftp, telnet
New Stuff (cont’d)

4 node types:
–
–
–
–

Real, running in the local rack, controlled env.
Real, running ‘nse’
[Simulated]
[Real, in wide-area]
Link configuration and monitoring
– Latency, bw, plr, RED, queue size
– Link monitoring and capture

GUI network config applet

Full-day SIGCOMM tutorial Aug’02
Internet
Web/DB/SNMP
Switch Mgmt
Users
PowerCntl
Control Switch/Router
Serial
Sharks
PC
Sharks
PC
168
160
“Programmable Patch Panel”
Fundamental Leverage:

Extremely Configurable

Easy to Use
– Power
– Performance
– Virtualization
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
Lessons for wide area testbed



Central control: at this scale (1000s)
it’s easy
Database!
Control node for each site: great
benefits, cheap marginal cost
– Trusted, firewall, local disk cache, power
control, console line

Ease of use is dominant driver
Lessons…


Generalized resource alloc/mapping algorithm
is great (eg, vs Grid)
Get it going quickly, keep it going while add
new stuff
– Like a startup
– Use feedback and demand
– 2.5 years in


Simple authorization model
Most of our model and code will work in widearea
Lessons…

Freedom for users is freedom for the
management software and people
“You’ve got root, use it.”
Over-provision
FreeBSD Jail, or Eclipse/BSD, or
VMWare, or ….
Testing is tricky

Have real hardware that can’t virtualize

Test suite part of build

Clone DB works some…

8-node minibed

Nightly regression testing

Schema evolution script/diff/check

Developers use/test 3 diff. browsers
Code Base Today











24,100
23,900
2000
4200
4900
8400
5000
6200
3300
700
3700
Web front end
Back end
ns front end
Resource mapping
Diskimg compression/casting/load
Scripts/daemons from nodes to DB
Event system
Remote console interaction/logging
Regression testing harness and tests
Node health monitoring
Documention of internals
More stats


21 “programs”
318 “scripts” (including 90 php scripts,
71 small boot-time scripts)

35% Perl

32% C

19% php

12% html, Java, tcl, other
The Database Today



Started with ~18 tables
54 tables, 413 columns
General categories
–
–
–
–

Physical world: 11 tables, 65 cols
Virtual world: 7 tables, 83 cols
Operational state: 22 tables, 180 cols
Admin data: 14 tables, 85 cols
Note how much operational state 
shows how much work needs to be done
Testbed Users

30 active projects
– more registered
– 25 External
– About 40/30/30%
dist sys/activenets/traditional networking

~110 users

990 “experiments” in last 8 months
• 7.5/day recently
• 40% testbed development
More Sites

More emulab’s under construction:
–
–
–
–
Kentucky
Umass
Duke, CMU, Cornell, Stuttgart
Others stated intent:
MIT, WUSTL, Princeton, HPLabs, Intel/UCB,
Mt. Holyoke, …
Ongoing and Future Work

Federation
– heteregeneous sites
– resource allocation


Wireless nodes, mobile nodes
IXP1200 nodes, tools, code fragments
– Routers, high-capacity shapers






Simulation/emulation transparency
Event system
Scheduling system
Topology generation tools and GUI
Data capture, logging, visualization tools
Microsoft OSs, high speed links, more nodes!
A Global-scale Testbed

Federation key

Bottom-up “organic” growth
– Local autonomy and priority
– Existing hardware resources
– Provides diverse hardware
•
•
•
•
•

PCs
Wireless, mobile
Real routers, switches (Wisconsin, …)
Network processors (IXP’s)
Research switches (WUSTL)
But, top-down is much easier: a good start
NSF ITR Proposal (Nov 01)

Global-scale testbed

Utah primary
– Research emphasis: software component for
heterogeneity; resource allocation/mapping

Collaborators:
–
–
–
–
Brown, co-PI (resource allocation)
MIT (RON overlay, wireless)
Duke (ModelNet muxing, early adopter)
Mt. Holyoke (education)
Types of Sites

High-end facilities

Generic clusters

Generic labs

“Virtual machines”

Internet2 links between some sites
Result…

Loosely coupled distributed system

Controlled isolation

“Internet Petri Dish”
New Stuff:
Extending to Wireless and Mobile
Problems with existing approaches



Same problems as wired domain
But worse (simulation scaling, ...)
And more (no models for new technologies, ...)
Wireless Virtual to Physical
Mapping
Available for universities,
labs, and companies, for
research and teaching, at:
www.emulab.net
A Few Research Issues and
Challenges

Network management of unknown and
untrusted entities

Security (root!)

Scheduling of experiments

Calibration, validation, and scaling

Artifact detection and control

NP-hard virtual --> physical mapping problem

Providing a reasonable user interface

….
How To Use It ...


Submit ns script or GUI via web form
Behind the scenes:
–
–
–
–
–
–
–
–
–
–
–

Generates config from script & stores in DB
Maps specified virtual topology to physical nodes
Allocate resources
Provides user accounts for node access
Assigns IP addresses and host names
Configures VLANs
Loads disks, reboots nodes, configures Oss
Starts event system, traffic generators, link monitoring/control
Yet more odds and ends ...
User does his/her experiment
[Reports results if batch]
Takes ~3 min to set up 25 nodes, 5 secs/node
An “Experiment”

emulab’s central operational entity

Directly generated by an ns script,


… then represented entirely by
database state
Steps: Web, compile ns script, map, allocate,
provide access, assign IP addrs, host names,
configure VLANs, load disks, reboot,
configure OS’s, run, report