an overview of the planetlab 2008. 9. 17. seungho lee

21
An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Upload: mariah-andrews

Post on 02-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

An Overview of the PlanetLab

2008. 9. 17.SeungHo Lee

Page 2: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

References

PlanetLab Design Notes (PDNs)• PlanetLab: An Overlay Testbed for Broad-Coverage Services (2003.1)

• Towards a Comprehensive PlanetLab Architecture (2005.6)

• PlanetLab Architecture: An Overview (2006.5)

Presentations• An Overview of the PlanetLab Architecture (2004.1)

Tutorial• Step-by-step instructions to deploying a “Hello World” application on

PlanetLab

And• www.planet-lab.org

Page 3: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Today’s Internet

Best-Effort Packet

Delivery Service

Limitations• The internet is “opaque” making it difficult to adapt to current network

conditions

• Applications cannot be widely distributed (typically split into two pieces: client and server)

Page 4: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Tomorrow’s Internet

Collection of

Planetary-Scale Service

Opportunities• Multiple vantage points

– anomaly detection, robust routing

• Proximity to data sources/sinks– content distribution, data fusion

• Multiple, independent domains– survivable storage

Page 5: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Evolving the Internet

Add a new layer to the network architecture• Overlay networks

– Purpose-built virtual networks that

use the existing Internet for

transmission– The Internet was once deployed as

an overlay on top of the telephony

network

Challenge• How to innovate & deploy at scale

Page 6: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

800+ machines spanning 400 sites and 40 countries Supports distributed virtualization

• Each of 600+ network services running in their own slice

PlanetLab

Page 7: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

History

2002.3. Larry Peterson (Princeton) and David Culler (UC Berkeley and Intel Research) organize an “underground” meeting of researchers interested in planetary-scale network services, and propose PlanetLab as a community testbed.

2002.6. Brent Chun and Timothy Roscoe (Intel Research), Eric Fraser (UC Berkeley), and Mike Wawrzoniak (Princeton) bring up first PlanetLab nodes at Intel Research - Berkeley, UC Berkeley, and Princeton. The initial system (dubbed Version 0.5) leverages the Ganglia monitoring service and the RootStock installation mechanism from the Millennium cluster project.

2002.10. Initial deployment of 100 nodes at 42 sites is complete. Verion 1.0 of the PlanetLab software, with support for vserver-based virtual machines and safe raw sockets, is deployed.

2007.6. PlanetLab passes the 800 node mark. 2008.9. Currently PlanetLab has been upgraded to Version 4.2.

Page 8: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Slices

Page 9: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

PlanetLab is…

“A common software architecture”

Distributed software package• A Linux-based operating system

• Mechanisms for bootstrapping nodes and distributing software updates

• A collection of management tools– Monitor node health– Audit system activity– Control system parameters

• Facility for managing user accounts and distributing keys

Page 10: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

PlanetLab is…

“An overlay network testbed”

Experiment with a variety of planetary-scale services• File sharing and network-embedded storage

• Content distribution networks

• Routing and multicasting overlays

• QoS overlays

• Scalable object location

• Scalable event propagation

• Anomaly detection mechanisms

• Network measurement tools Advantages

• Under real-world conditions

• At large scale

Page 11: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

PlanetLab is…

“A deployment platform”

Supporting the seamless migration of an application• From early prototype, through multiple design iterations, to a popular

service that continue to evolve Currently continuously-running services

• CoDeeN content distribution network (Princeton)

• ScriptRoute network measurement tool (Washington)

• Chord scalable object location service (MIT, Berkeley)

Page 12: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

PlanetLab is…

“A microcosm of the next Internet”

Fold services back into PlanetLab• Evolve core technologies to support overlays and slices

• Discover common sub-services Long-term goals

• Become the way users interact with the Internet

• Define standards that support multiple “PlanetLabs” Examples

• Sophia used to monitor health of PlanetLab nodes

• Chord provides scalable object location

Page 13: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Organizing Principles

Distributed virtualization• slice : a network of virtual machines

• Isolation– Isolate services from each other– Protect the Internet from PlanetLab

Unbundled Management• OS defines only local (per-node) behavior

– Global (network-wide) behavior implemented by services

• Multiple competing services running in parallel– Shared, unprivileged interfaces

Page 14: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Principals

Owner• An organization that owns one or more PlanetLab nodes

• Each owner retains control over their own nodes, but delegates responsibility for managing those nodes to the trusted PLC intermediary

User• A researcher that deploys a service on a set of PlanetLab nodes

• Users create slices on PlanetLab nodes via mechanisms provided by the trusted PLC intermediary

PlanetLab Consortium (PLC)• A trusted intermediary that manages nodes on behalf a set of owners

• PLC creates slices on those nodes on behalf of a set of users.

Page 15: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Trust Relationships

1. PLC expresses trust in a user by issuing it credentials that lets it access slices.

2. A user trusts PLC to act as its agent, creating slices on its behalf and checking credentials so that only that user can install and modify the software running in its slice.

3. An owner trusts PLC to install software that is able to map network activity to the responsible slice.

4. PLC trusts owners to keep their nodes physically secure.

Page 16: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Virtual Machine

A virtual machine (VM) is an execution environment in which a slice runs on a particular node• Typically implemented by a virtual machine monitor (VMM)

VMs are isolated from each other, such that• The resources consumed by one VM do not unduly effect the

performance of another VM

• One VM cannot eavesdrop on network traffic to or from another VM

• One VM cannot access objects (files, ports, processes) belonging to another VM

Page 17: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Per-Node View

Page 18: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Virtualization Levels

Hypervisors (e.g., VMWare)• don’t scale well

• don’t need multi-OS functionality Paravirtualization (e.g., Xen, Denali)

• not yet mature

• requires OS tweaks Virtualization at system call interface (e.g., Jail, Vservers)

• reasonable compromise

• doesn’t provide the isolation that hypervisors do Unix processes

• isolation is problematic Java Virtual Machine

• too high-level

Page 19: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Vservers

Virtualization• Virtualizes at system call interface

• Each vserver runs in its own security context– Private UID/GID name space– Limited superuser capabilities

• Uses chroot for filesystem isolation

• Scales to 1000 of vservers per node (29MB each)

Vserver Root• A weaker version of root allows each vserver to have its own superuser

• Denied all capabilities that could undermine the security of the machine

• Granted all other capabilities

Page 20: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Protected Raw Sockets

Key design decision• Users of PlanetLab should not have root access to the machines

• A large number of users cannot all be trusted to not misuse root privilege.

• But, many users will need access to services that normally require root privilege. (e.g., access to raw sockets)

“Protected” version of privileged service• Services are forced create sockets that are bound to specific TCP/UDP

ports– Incoming packets are classified and delivered only to the service that

created the socket– Outgoing packets are filtered to ensure that they are properly formed (e.g.,

the process does not spoof the source IP address or TCP/UDP port numbers)

Page 21: An Overview of the PlanetLab 2008. 9. 17. SeungHo Lee

Infrastructure Services

Unbundled management• PlanetLab decomposes the management function into a collection of

largely independent infrastructure services

Benefits• It keeps the node manager as minimal as possible.

• It maximizes owner and provider choice, and hence, autonomy.

• It makes the system as a whole easier to evolve over time.

Currently running services• Resource brokerage services used to acquire resources

• Environment services that keep a slice’s software packages up-to-date

• Monitoring services that track the health of nodes and slices

• Discovery services used to learn what resources are available