merging planetlab and the cloud - ieice the institute of ...nv/2nd-andy.pdf · openstack,...
TRANSCRIPT
Merging PlanetLab and the Cloud
Andy Bavier Princeton University
NV Symposium, Kyoto Japan 24 August, 2012
PlanetLab � Begun in 2002, used by thousands of researchers
� Fundamental idea: stronger science � Demonstrate that research really works
� Scalability, robustness, real workloads
24 August, 2012 NV Symposium, Kyoto Japan 2
A Distributed “Cloud” � PlanetLab: distributed virtualization of compute
and network resources
� Slices � Service “sandbox” � Programming environment
� Network overlays � Transport, topology
� Network substrate
24 August, 2012 NV Symposium, Kyoto Japan 3
Software: MyPLC � Anyone can create a private PlanetLab
� PlanetLab node software
� PLC management framework + API � Image, configure physical nodes
� Create / delete VMs
� Monitoring tools
� Examples � VINI (virtual networks)
� MeasurementLab (network measurement) � VICCI (Cloud research)
24 August, 2012 NV Symposium, Kyoto Japan 4
Issues… � PlanetLab is a decade old – it looks dated
� Overlap with IaaS Cloud management platforms � OpenStack, Eucalyptus, CloudStack, OpenNebula, etc.
� Virtualization: Linux Vserver � In 2002 was most mature technology
� Small developer base, requires custom-built kernel
� Newer virtualization technologies: Xen, KVM, LXC, etc.
� PlanetLab is designed for overlay networks � Widespread research interest in SDN (e.g., OpenFlow) � Does not offer deep network programmability
24 August, 2012 NV Symposium, Kyoto Japan 5
Retiring MyPLC � PlanetLab platform is still useful for research
� PlanetLab architecture remains sound � Slices and overlays are still useful abstractions � The GENI architecture is based on PlanetLab � At a high level most Clouds resemble PlanetLab
� Problem: stale implementation � Open-source IaaS Cloud stacks can also manage VMs � Decreasing value in maintaining MyPLC
� Solution: merge MyPLC and OpenStack � MyPLC becomes a collection of software add-ons to the
OpenStack toolset
24 August, 2012 NV Symposium, Kyoto Japan 6
Goals � Modest:
� Keep PlanetLab relevant for research (e.g., GENI)
� Reduce our maintenance burden � Target our development towards creating real value
� Leverage the OpenStack developer community � Donate core PlanetLab technologies to the Cloud
� Ambitious: � Establish a tech transfer path for the PlanetLab
community’s research innovations
� Participate in the SDN + Cloud revolution
24 August, 2012 NV Symposium, Kyoto Japan 7
Strategy � Management: merge PLC => OpenStack ecosystem
� SDN: adopt Open vSwitch and Quantum for virtualizing the network
� Compute virtualization: Linux Containers (LXC)
24 August, 2012 NV Symposium, Kyoto Japan 8
Management: OpenStack � Open source Cloud software
� Infrastructure as a Service (IaaS) => provision VMs
� Collection of “cloud services” � Tenant-facing API: logical abstractions � Backend implementations of API
� Components: � Nova – Compute as a Service
� Swift, Glance – Storage as a Service � Quantum – Network as a Service
24 August, 2012 NV Symposium, Kyoto Japan 9
Conceptual Cloud Arch
24 August, 2012 NV Symposium, Kyoto Japan 10
Nova Coverage
quantum
24 August, 2012 NV Symposium, Kyoto Japan 11
Merging PlanetLab � Map PlanetLab to OpenStack concepts
� E.g., slice => tenant, site => availability zone
� Identify critical gaps in Nova coverage that are filled by PlanetLab modules � Security, robustness in a distributed environment
� Imaging and configuring physical nodes � User-facing dashboard, PLCAPI
� Logging and monitoring
� Package PlanetLab modules as OpenStack projects
24 August, 2012 NV Symposium, Kyoto Japan 12
SDN: Quantum � Where will SDN play out in the Cloud?
� Network as a Service (NaaS)
� Quantum: OpenStack core project (Folsom) � Tenants can create virtual networks, control addressing � Quantum API + pluggable controllers => many backends
� Can leverage Open vSwitch (Linux software bridge) � OpenFlow, tunneling, QoS, monitoring, …
� PlanetLab goals: � Provide per-slice virtual topologies � Allow experimentation with SDN inside a PlanetLab slice
24 August, 2012 NV Symposium, Kyoto Japan 13
Virtualization: LXC � PlanetLab uses lightweight OS containers
� Scalability: 100’s of slices on a single node
� Historically: Linux VServers � Custom kernel, few developers
� Now: Linux Containers � Similar to VServers � Already in mainline Linux kernel
� Better hardware support, security fixes, etc.
� Contribute our expertise to making LXC more robust
24 August, 2012 NV Symposium, Kyoto Japan 14
PlanetLab Networking � VServer has minimal network virtualization
� All slices have same IP address, share port space
� Single shared stack, per-slice traffic isolated only
� LXC allows customization of network stack � Each slice has its own network namespace � Can customize at L2 and above: per-slice virtual
devices, routing table, firewall, bridging, TCP parms
� Leverage Open vSwitch � Flexibly supports connecting VMs to the network
24 August, 2012 NV Symposium, Kyoto Japan 15
PlanetLab Classic � Single public IP address
� Each slice has a private IP address (10.0.0.0/8)
� Connect to external network via NAT
� BUT can also bind directly to external ports
� Everything that used to work still works…
NIC
Slice 1 Slice 2 Slice 3
vSwitch
NAT
IP routing
24 August, 2012 NV Symposium, Kyoto Japan 16
Measurement Lab � Gather data on ISP
performance
� Joint project with Google and New America Foundation
� Each slice has a public IP address
� Virtual interfaces bridged at L2 to external NIC
NIC
Slice 1 Slice 2 Slice 3
vSwitch
24 August, 2012 NV Symposium, Kyoto Japan 17
VINI � Virtual L2 topology inside
a slice
� Tunnel L2 over L3 (EGRE)
� vSwitch binds virtual interfaces in slices to specific EGRE tunnels � Show up as virtual
interfaces in Linux
� Multiple virtual interfaces per slice
� SIGCOMM 2006 NIC
Slice 1 Slice 2 Slice 3
vSwitch
EGRE 4
EGRE5
EGRE6
24 August, 2012 NV Symposium, Kyoto Japan 18
InstaGENI � Virtual L2 topology inside
a slice
� Use VLANs for L2 sandbox
� vSwitch binds virtual interfaces in slices to specific VLANs � Show up as virtual
interfaces in Linux
� Multiple virtual interfaces per slice
NIC
Slice 1 Slice 2 Slice 3
vSwitch
VLAN4 VLAN5 VLAN6
24 August, 2012 NV Symposium, Kyoto Japan 19
Summary � Our mission: continue to provide value to the
networking research community � SDN, GENI, NV, FI, etc.
� Next step: align PlanetLab and the Cloud � Management: OpenStack + Quantum
� Virtualization: LXC + Open vSwitch
� Create a robust, scalable, wide-area IaaS Cloud based on OS containers and virtual switches
24 August, 2012 NV Symposium, Kyoto Japan 20