PlanetLab: Evolution vs Intelligent Design in Global Network Infrastructure Larry Peterson Princeton University.

Slides:



Advertisements
Similar presentations
Distributed Data Processing
Advertisements

Seungmi Choi PlanetLab - Overview, History, and Future Directions - Using PlanetLab for Network Research: Myths, Realities, and Best Practices.
PlanetLab: An Overlay Testbed for Broad-Coverage Services Bavier, Bowman, Chun, Culler, Peterson, Roscoe, Wawrzoniak Presented by Jason Waddle.
PlanetLab V3 and beyond Steve Muir Princeton University September 17, 2004.
Firewalls By Tahaei Fall What is a firewall? a choke point of control and monitoring interconnects networks with differing trust imposes restrictions.
PlanetLab: Evolution vs Intelligent Design in Global Network Infrastructure Larry Peterson Princeton University.
PlanetLab Architecture Larry Peterson Princeton University.
PlanetLab What is PlanetLab? A group of computers available as a testbed for computer networking and distributed systems research.
High Performance Computing Course Notes Grid Computing.
PlanetLab: Evolution vs Intelligent Design in Global Network Infrastructure Larry Peterson Princeton University.
PlanetLab Operating System support* *a work in progress.
1 PlanetLab: A globally distributed testbed for New and Disruptive Services CS441 Mar 15th, 2005 Seungjun Lee
PlanetLab: Present and Future Steve Muir 3rd August, 2005 (slides taken from Larry Peterson)
Global Overlay Network : PlanetLab Claudio E.Righetti 6 October, 2005 (some slides taken from Larry Peterson)
PlanetLab Europe 2008 Thomas Bourgeau Laboratoire LIP6 – CNRS Université Pierre et Marie Curie – Paris 6
PlanetLab: Catalyzing Network Innovation October 2, 2007 Larry Peterson Princeton University Timothy Roscoe Intel Research at Berkeley.
1 - OneLab - AsiaFi– November 17, 2009 – AIT Bangkok A PlanetLab (Europe) Short Tutorial Serge Fdida Université Pierre & Marie Curie, LIP6 Paris, France.
Xen , Linux Vserver , Planet Lab
OneLab: Federating Testbeds Timur Friedman Laboratoire LIP6-CNRS Université Pierre et Marie Curie TERENA Networking Conference 2007 Lyngby, Denmark, 22.
“It’s going to take a month to get a proof of concept going.” “I know VMM, but don’t know how it works with SPF and the Portal” “I know Azure, but.
PlanetLab: An open platform for developing, deploying, and accessing planetary-scale services Overview Adapted from Peterson.
Lecture 8: Testbeds Anish Arora CIS788.11J Introduction to Wireless Sensor Networks Material uses slides from Larry Peterson, Jay Lapreau, and GENI.net.
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
An Overlay Data Plane for PlanetLab Andy Bavier, Mark Huang, and Larry Peterson Princeton University.
Global Overlay Network : PlanetLab Claudio E.Righetti October, 2006 (some slides taken from Larry Peterson)
PlanetLab Software Overview Mark Huang
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Andy Bavier, PlanetWorks Scott Baker, SB-Software July 27, 2011.
Systems Security & Audit Operating Systems security.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
PlanetLab: A Distributed Test Lab for Planetary Scale Network Services Opportunities Emerging “Killer Apps”: –CDNs and P2P networks are first examples.
1 st PlanetLab Asia Workshop September 17 th -18 th 2004 Yonsei University, Seoul, Korea Friday September 17 th, 1.30 – 2.30 pm –Welcome Greetings, Young-Yong.
GENI: Catalyzing Network Research May 31, 2007 Larry Peterson Princeton University.
Module 7: Fundamentals of Administering Windows Server 2008.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
VICCI: Programmable Cloud Computing Research Testbed Andy Bavier Princeton University November 3, 2011.
PlanetLab Applications and Federation Kiyohide NAKAUCHI NICT 23 rd ITRC Symposium 2008/05/16 Aki NAKAO Utokyo / NICT
PlanetLab and OneLab Presentation at the GRID 5000 School 9 March 2006 Timur Friedman Université Pierre et Marie Curie Laboratoire LIP6-CNRS PlanetLab.
1 On the Design & Evolution of an Architecture for Testbed Federation Stephen Soltesz, David Eisenstat, Marc Fiuczynski, Larry Peterson.
Intel IT Overlay Jeff Sedayao PlanetLab Workshop at HPLABS May 11, 2006.
An Overview of the PlanetLab SeungHo Lee.
By L. Peterson, Princeton T.Anderson, UW D. Culler, T. Roscoe, Intel, Berkeley HotNets-I (Infrastructure panel), 2002 Presenter Shobana Padmanabhan Discussion.
Chapter 1 : The Linux System Part 1 Lecture 1 10/21/
1 A Blueprint for Introducing Disruptive Technology into the Internet Larry Peterson Princeton University / Intel Research.
PlanetLab: A Platform for Planetary-Scale Services Mic Bowman
Vytautas Valancius, Nick Feamster, Akihiro Nakao, and Jennifer Rexford.
PlanetLab Architecture Larry Peterson Princeton University.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Marc Fiuczynski Princeton University Marco Yuen University of Victoria PlanetLab & Clusters.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
1 Testbeds Breakout Tom Anderson Jeff Chase Doug Comer Brett Fleisch Frans Kaashoek Jay Lepreau Hank Levy Larry Peterson Mothy Roscoe Mehul Shah Ion Stoica.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Globus and PlanetLab Resource Management Solutions Compared M. Ripeanu, M. Bowman, J. Chase, I. Foster, M. Milenkovic Presented by Dionysis Logothetis.
Introduction to Active Directory
Dynamic Creation and Management of Runtime Environments in the Grid Kate Keahey Matei Ripeanu Karl Doering.
Hosting Wide-Area Network Testbeds: Policy Considerations Larry Peterson Princeton University.
01/27/10 What is PlanetLab? A planet-wide testbed for the R & D of network applications and distributed computing Over 1068 nodes at 493 sites, primarily.
SERVERS. General Design Issues  Server Definition  Type of server organizing  Contacting to a server Iterative Concurrent Globally assign end points.
OneLab - PlanetLab Europe Presentation for Rescom 2007
Container-based Operating System Virtualization: A scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Potzl, Marc E. Fiuczynski,
Chapter 2: System Structures
Network Requirements Javier Orellana
PlanetLab: Evolution vs Intelligent Design in Global Network Infrastructure Larry Peterson Princeton University.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Cloud computing mechanisms
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Presentation transcript:

PlanetLab: Evolution vs Intelligent Design in Global Network Infrastructure Larry Peterson Princeton University

Case for PlanetLab This chasm is a major barrier to realizing the Future Internet Maturity Time Foundational Research Simulation and Research Prototypes Small Scale Testbeds Deployed Future Internet

PlanetLab 637 machines spanning 302 sites and 35 countries nodes within a LAN-hop of > 2M users Supports distributed virtualization each of 350+ network services running in their own slice

Slices

User Opt-in Server NAT Client

Per-Node View Virtual Machine Monitor (VMM) Node Mgr Local Admin VM 1 VM 2 VM n …

Long-Running Services Content Distribution –CoDeeN: Princeton –Coral: NYU –Cobweb: Cornell Internet Measurement –ScriptRoute: Washington, Maryland Anomaly Detection & Fault Diagnosis –PIER: Berkeley, Intel –PlanetSeer: Princeton DHT –Bamboo (OpenDHT): Berkeley, Intel –Chord (DHash): MIT

Services (cont) Routing –i3: Berkeley –Virtual ISP: Princeton DNS –CoDNS: Princeton –CoDoNs: Cornell Storage & Large File Transfer –LOCI: Tennessee –CoBlitz: Princeton –Shark: NYU Multicast –End System Multicast: CMU –Tmesh: Michigan

Usage Stats Slices: AS peers: 6000 Users: 1028 Bytes-per-day: TB IP-flows-per-day: 190M Unique IP-addrs-per-day: 1M

Architectural Questions What is the PlanetLab architecture? –more a question of synthesis than cleverness Why is this the right architecture? –non-technical requirements –technical decisions that influenced adoption What is a system architecture anyway? –how does it accommodate change (evolution)

Requirements 1)Global platform that supports both short-term experiments and long-running services. –services must be isolated from each other performance isolation name space isolation –multiple services must run concurrently Distributed Virtualization –each service runs in its own slice: a set of VMs

Requirements 2)It must be available now, even though no one knows for sure what “it” is. –deploy what we have today, and evolve over time –make the system as familiar as possible (e.g., Linux) Unbundled Management –independent mgmt services run in their own slice –evolve independently; best services survive –no single service gets to be “root” but some services require additional privilege

Requirements 3)Must convince sites to host nodes running code written by unknown researchers. –protect the Internet from PlanetLab Chain of Responsibility –explicit notion of responsibility –trace network activity to responsible party

Requirements 4)Sustaining growth depends on support for autonomy and decentralized control. –sites have the final say about the nodes they host –sites want to provide “private PlanetLabs” –regional autonomy is important Federation –universal agreement on minimal core (narrow waist) –allow independent pieces to evolve independently –identify principals and trust relationships among them

Requirements 5)Must scale to support many users with minimal resources available. –expect under-provisioned state to be the norm –shortage of logical resources too (e.g., IP addresses) Decouple slice creation from resource allocation Overbook with recovery –support both guarantees and best effort –recover from wedged states under heavy load

Tension Among Requirements Distributed Virtualization / Unbundled Management –isolation vs one slice managing another Federation / Chain of Responsibility –autonomy vs trusted authority Under-provisioned / Distributed Virtualization –efficient sharing vs isolation Other tensions –support users vs evolve the architecture –evolution vs clean slate

Synergy Among Requirements Unbundled Management –third party management software Federation –independent evolution of components –support for autonomous control of resources

Architecture (1) Node Operating System –isolate slices –audit behavior PlanetLab Central (PLC) –remotely manage nodes –bootstrap service to instantiate and control slices Third-party Infrastructure Services –monitor slice/node health –discover available resources –create and configure a slice –resource allocation

Trust Relationships Princeton Berkeley Washington MIT Brown CMU NYU ETH Harvard HP Labs Intel NEC Labs Purdue UCSD SICS Cambridge Cornell … princeton_codeen nyu_d cornell_beehive att_mcash cmu_esm harvard_ice hplabs_donutlab idsl_psepr irb_phi paris6_landmarks mit_dht mcgill_card huji_ender arizona_stork ucb_bamboo ucsd_share umd_scriptroute … N x N Trusted Intermediary (PLC)

Trust Relationships (cont) Node Owner PLC Service Developer (User) ) PLC expresses trust in a user by issuing it credentials to access a slice 2) Users trust to create slices on their behalf and inspect credentials 3) Owner trusts PLC to vet users and map network activity to right user 4) PLC trusts owner to keep nodes physically secure

Trust Relationships (cont) Node Owner Mgmt Authority Service Developer (User) ) PLC expresses trust in a user by issuing credentials to access a slice 2) Users trust to create slices on their behalf and inspect credentials 3) Owner trusts PLC to vet users and map network activity to right user 4) PLC trusts owner to keep nodes physically secure Slice Authority 5 6 5) MA trusts SA to reliably map slices to users 6) SA trusts MA to provide working VMs

Owner 1 Owner 2 Owner 3 Owner N... Slice Authority Management Authority Software updates Auditing data Create slices... U S E R S PlanetLab Nodes Service Developers Request a slice New slice ID Access slice Identify slice users (resolve abuse) Learn about nodes Architecture (2)

Architecture (3) Node MA NM + VMM node database Node Owner VM SCS SA slice database VM Service Developer

Per-Node Mechanisms Virtual Machine Monitor (VMM) Node Mgr Owner VM VM 1 VM 2 VM n … Linux kernel (Fedora Core) + Vservers (namespace isolation) + Schedulers (performance isolation) + VNET (network virtualization) SliverMgr Proper PlanetFlow SliceStat pl_scs pl_mom

VMM Linux –significant mind-share Vserver –scales to hundreds of VMs per node (12MB each) Scheduling –CPU fair share per slice (guarantees possible) –link bandwidth fair share per slice average rate limit: 1.5Mbps (24-hour bucket size) peak rate limit: set by each site (100Mbps default) –disk 5GB quota per slice (limit run-away log files) –memory no limit pl_mom resets biggest user at 90% utilization

VMM (cont) VNET –socket programs “just work” including raw sockets –slices should be able to send only… well-formed IP packets to non-blacklisted hosts –slices should be able to receive only… packets related to connections that they initiated (e.g., replies) packets destined for bound ports (e.g., server requests) –essentially a switching firewall for sockets leverages Linux's built-in connection tracking modules –also supports virtual devices standard PF_PACKET behavior used to connect to a “virtual ISP”

Node Manager SliverMgr –creates VM and sets resource allocations –interacts with… bootstrap slice creation service (pl_scs) third-party slice creation & brokerage services (using tickets) Proper: PRivileged OPERations –grants unprivileged slices access to privileged info –effectively “pokes holes” in the namespace isolation –examples files: open, get/set flags directories: mount/unmount sockets: create/bind processes: fork/wait/kill

Auditing & Monitoring PlanetFlow –logs every outbound IP flow on every node accesses ulogd via Proper retrieves packet headers, timestamps, context ids (batched) –used to audit traffic –aggregated and archived at PLC SliceStat –has access to kernel-level / system-wide information accesses /proc via Proper –used by global monitoring services –used to performance debug services

Infrastructure Services Brokerage Services –Sirius: Georgia –Bellagio: UCSD, Harvard, Intel –Tycoon: HP Environment Services –Stork: Arizona –AppMgr: MIT Monitoring/Discovery Services –CoMon: Princeton –PsEPR: Intel –SWORD: Berkeley –IrisLog: Intel

Evolution vs Intelligent Design Favor evolution over clean slate Favor design principles over a fixed architecture Specifically… –leverage existing software and interfaces –keep VMM and control plane orthogonal –exploit virtualization vertical: mgmt services run in slices horizontal: stacks of VMs –give no one root (least privilege + level playing field) –support federation (decentralized control)

Other Lessons Inferior tracks lead to superior locomotives Empower the user: yum Build it and they (research papers) will come Overlays are not networks PlanetLab: We debug your network From universal connectivity to gated communities If you don’t talk to your university’s general counsel, you aren’t doing network research Work fast, before anyone cares

Collaborators Andy Bavier Marc Fiuczynski Mark Huang Scott Karlin Aaron Klingaman Martin Makowiecki Reid Moran Steve Muir Stephen Soltesz Mike Wawrzoniak David Culler, Berkeley Tom Anderson, UW Timothy Roscoe, Intel Mic Bowman, Intel John Hartman, Arizona David Lowenthal, UGA Vivek Pai, Princeton David Parkes, Harvard Amin Vahdat, UCSD Rick McGeer, HP Labs

Available CPU Capacity Feb 1-8, 2005 (Week before SIGCOMM deadline)

Node Boot/Install NodePLC (MA) Boot Server 1. Boots from BootCD (Linux loaded) 2. Hardware initialized 3. Read network config. from floppy 7. Node key read into memory from floppy 4. Contact PLC (MA) 6. Execute boot mgr Boot Manager 8. Invoke Boot API 10. State = “install”, run installer 11. Update node state via Boot API 13. Chain-boot node (no restart) 14. Node booted 9. Verify node key, send current node state 12. Verify node key, change state to “boot” 5. Send boot manager

Chain of Responsibility Join Request PI submits Consortium paperwork and requests to join PI Activated PLC verifies PI, activates account, enables site (logged) User Activated Users create accounts with keys, PI activates accounts (logged) Nodes Added to Slices Users add nodes to their slice (logged) Slice Traffic Logged Experiments generate traffic (logged by PlanetFlow) Traffic Logs Centrally Stored PLC periodically pulls traffic logs from nodes Slice Created PI creates slice and assigns users to it (logged) Network Activity Slice Responsible Users & PI

Slice Creation PLC (SA) VMM NMVM PI SliceCreate( ) SliceUsersAdd( ) User SliceAttributeSet( ) SliceGetTicket( ) VM … (distribute ticket to slice creation service: pl_scs) SliverCreate(rspec)

Brokerage Service PLC (SA) VMM NMVM SliceAttributeSet( ) SliceGetTicket( ) VM … (distribute ticket to brokerage service) rcap = PoolCreate(rspec) Broker

Brokerage Service (cont) PLC (SA) VMM NMVM … (broker contacts relevant nodes) PoolSplit(rcap, slice, rspec) VM User BuyResources( ) Broker