- GENI Wiki

CMUlab
Spiral 2 Year-end Project Review
CMUlab
Carnegie Mellon University
PI: Dave Andersen
Staff: Pat Gunn
Students:
Aug 25, 2010
Sponsored by the National Science Foundation
Project Summary:
A Tale of Three Testbeds
ProtoGENI
HomeNet Residential Wireless
Wireless Network Emulator
Wired Emulab
Cluster
CMUlab
Boss
& Ops
Sponsored by the National Science Foundation
2
Project Summary:
A Picture is a Thousand Words
CMUlab
Boss/Ops
Utah
ProtoGENI
VLAN
GigE
IP-IP
GigE
Sponsored by the National Science Foundation
VLAN
3
Milestone & QSR Status
ID
Milestone
Status
On
Time?
On
Wiki?
Automate CMUlab-emulator
coordination on swap in/out
Completed and extensions committed to
ProtoGeni
Yes
VLAN-based control and data plane
over Ethernet
Implementation completed and final
testing for robustness in progress
No
Automate VPN management and broading
VPN use for experiments
Completed and committed into ProtoGeni
Yes
Expand Homenet Deployment
Resolved IRB issues, identified
apartment building, deployment
scheduled for late August
Protogeni access to wireless testbed
Defined Rspecs for channels and using
Rspec for CMUlab-emulator coordination
Better support for testing and upgrades
To be done
Sponsored by the National Science Foundation
CMUlab – Aug 25, 2010
GPO
signoff?
Yes
Yes
No
Yes
No
No
4
Summary of Year 2 Accomplishments
• Improved user experience, capacity, flexibility for
our wireless testbed in the Emulab/ProtoGENI
environment
– Integration and automation of wireless testbed
• Better support for private testbeds, hardware and
software VPN automation
– Switch-supported VLANs to build data plane over
control network
– Full OpenVPN/MetaVPN/ProtoGENI automation
Sponsored by the National Science Foundation
5
Wireless Testbed
• Added swapin/
swapout event
support
set emucout [new Program $ns]
$emucout set node “ops”
$emucout set command “/usr/testbed/ectl out”
$ns at swapout “$emucout start”
– simplifies the user
experience
– eliminates problems
set emucin [new Program $ns]
caused by people
$emucin set node “ops”
making mistakes
$emucin set command “/usr/testbed/bin/ectl in”
during their FPGA
$ns at 0 “$emucin start”
experiment
– Prevents interference between experiments
• Significant changes to our management code were
needed
Sponsored by the National Science Foundation
6
A ProtoGeni View
Equivalent to
RSpec manifest
Node
Node
Info
Info
Channel
Channel
info
info
Exp
Control
3. Start emulator
experiment
Boss/Ops
1. Experiment
ProtoGeni interface
Sponsored by the National Science Foundation
2. Swap-in:
Configure nodes
Update database
Transfer RSpecs
Notify user
7
7
Switch-Supported VLANs
• Our environment: standard emulab testbed with
dedicated experimental network and another samesite testbed on the same control network but with an
FPGA for normal experimental use
• How can we build a coherent data plane for
experiments including both?
– 802.1Q VLAN on control network
– Switches do the heavy lifting
– Caveat: may interfere with control plane if use is heavy
enough
• Requires some client-side changes, small
configuration changes on switch
Sponsored by the National Science Foundation
8
MetaVPN
• MetaVPN allows private testbeds to federate with
less hassle. We’ve seen interest in using our
testbeds in conjunction with others
(particularly Utah’s)
Sponsored by the National Science Foundation
9
MetaVPN
• Status: MetaVPN enables programmable OpenVPN
usage in testbed
– Includes key/config distribution system
– Scriptable
– Especially useful for private testbeds (where boss/ops are
the only directly routable systems)
• End goal: support requesting OpenVPNs in an Rspec
– Requires some coordination between CMs, elections of
coordinating nodes, small Rspec extensions
• Will trailblaze future extensions requiring CM
coordination
Sponsored by the National Science Foundation
10
Issues
• Instability caused by upgrades (and their impact on users)
continues to be a concern
– Improving this is fundamentally hard
– Want to very carefully work out additional dependencies before release
• Automating CMUlab-Emulator coordination was a year 1
milestone
– Was thought to be a very simple task (< 1 month) but turned out to be a
major effort (~4 months) – ripple effect on other tasks
– Functionality is critical since other functions rely on it
– Additional benefits of fully automating experiment execution – important in
federated environments
Sponsored by the National Science Foundation
CMUlab – Aug 25, 2010
11
Plans
• The CMU effort so far has focused on developing building
blocks needed to federate testbed with specific
characteristics
– Behind NATs, single network interface (need to multiplex control/data),
wireless, custom experimental control (emulator), …
• The goal of year 3 should be to use these components to
make federation a reality for this type of testbeds
– Using Homenet and emulator testbeds to drive the development
– Federated experiments should be possible for “normal” users, i.e. without
knowledge of GENI internals
– One user already did CMU-Utah federated experiment using CMU VPN
infrastructure, but required some manual setup, hand holding
Sponsored by the National Science Foundation
CMUlab – Aug 25, 2010
12