PlanetLab Operating System support* *a work in progress.

Slides:



Advertisements
Similar presentations
PlanetLab: An Overlay Testbed for Broad-Coverage Services Bavier, Bowman, Chun, Culler, Peterson, Roscoe, Wawrzoniak Presented by Jason Waddle.
Advertisements

More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
1 PlanetLab: A globally distributed testbed for New and Disruptive Services CS441 Mar 15th, 2005 Seungjun Lee
SEEDING CLOUD-BASED SERVICES: DISTRIBUTED RATE LIMITING (DRL) Kevin Webb, Barath Raghavan, Kashi Vishwanath, Sriram Ramabhadran, Kenneth Yocum, and Alex.
What to expect.  Linux  Windows Server (2008 or 2012)
Xen , Linux Vserver , Planet Lab
1 DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 3 Processes Skip
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CS-3013 & CS-502, Summer 2006 Memory Management1 CS-3013 & CS-502 Summer 2006.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
1 Course Outline Processes & Threads CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Networks, Protection and Security.
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
Container-based OS Virtualization A Scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Pötzl, Marc Fiuczynski, Andy Bavier.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
© 2010 VMware Inc. All rights reserved VMware ESX and ESXi Module 3.
Virtual LANs. VLAN introduction VLANs logically segment switched networks based on the functions, project teams, or applications of the organization regardless.
Module 12: Designing an AD LDS Implementation. AD LDS Usage AD LDS is most commonly used as a solution to the following requirements: Providing an LDAP-based.
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Pooja Shetty Usha B Gowda.  Network File Systems (NFS)  Drawbacks of NFS  Parallel Virtual File Systems (PVFS)  PVFS components  PVFS application.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
CS533 Concepts of Operating Systems Jonathan Walpole.
Threads, Thread management & Resource Management.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
VLAN V irtual L ocal A rea N etwork VLAN Network performance is a key factor in the productivity of an organization. One of the technologies used to.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
An Overview of the PlanetLab SeungHo Lee.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
UNIX & Windows NT Name: Jing Bai ID: Date:8/28/00.
Full and Para Virtualization
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Operating-System Structures
Review CS File Systems - Partitions What is a hard disk partition?
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
Solaris 가상화 기술 이강산. What is a zone? A zone is a virtual operating system abstraction that provides a protected environment in which applications run.
W4118 Operating Systems Instructor: Junfeng Yang.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
COMP1321 Digital Infrastructure Richard Henson March 2016.
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.
VMware ESX and ESXi Module 3.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Current Generation Hypervisor Type 1 Type 2.
Container-based Operating System Virtualization: A scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Potzl, Marc E. Fiuczynski,
Virtualization overview
Oracle Solaris Zones Study Purpose Only
KERNEL ARCHITECTURE.
Operating Systems Lecture 4.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems Structure
Presentation transcript:

PlanetLab Operating System support* *a work in progress

What is it? A Distributed set of machines that must be shared in an efficient way.. Where “efficient” can mean a varied “lot”..

Goals PlanetLab account, together with associated resources should span through multiple nodes. (SLICE) Distributed Virtualization Unbundled management Infrastructure services (running a platform as opposed to running an application) over a SLICE providing variety of services for the same functionality.

Design

4 main areas.. VM Abstraction - Linux vserver Resource Allocation + Isolation - SCOUT Network virtualization Distributed Monitoring

Full virtualization like Vmware - performance, lot of memory consumed by each memory image Para virtualization like xen - more efficient, a promising solution (but still has memory constraints) Virtualize at system call level like Linux vservers, UML - support large number of slices with reasonable isolation “Node Virtualization”

OS for each VM ? Linux vservers - linux inside linux Each vserver is a directory in a chroot jail. Each virtual server, – share binaries – has its own packages, – has its own services, – is a weaker form of root that provides a local super user, – has its own users, i.e own GID/UID namespace – is confined to using some IP numbers only and, – is confined to some area(s) of the file system.

Communication among ‘vservers’ Not local sockets or IPC but via IP –Simplifies resource management and isolation –Interaction is independent of their locations

Reduced resource usage Physical memory –Copy of write memory segments across unrelated servers Unification (Disk space) –Share files across contexts –Hard linked immutable un-linkable files

Required modifications for vserver Notion of context –Isolate group of processes, –Each vserver is a separate context, –Add context id to all inodes, –Context specific capabilities were added, –Context limits can be specified, –Easy accounting for each contexts.

vserver implementation Initialize vserver –Create a mirror of reference root file system –Create two identical login account Switching from default shell (modified shell) –Switch to the Slice's vserver security context –Chroot to vserver’s root file system –Relinquish subset of true super user privileges –Redirect into other account in that vserver

“Isolation & Resource Allocation” KeyKOS - strict resource accounting Processor Capacity Reserves Nemesis Scout - scheduling along data paths (SILK)

Overall structuring Central infrastructure services ( Planet Lab Central ) –central database of principles, slices, resource allocation and policies –Creation, deletion of slices through exported interface Node manager –Obtains resource information from central server –Bind resources to local VM that belongs to a slice Rcap -> acquire( Rspecs ) Bind( slice_id, Rcap ) ** Every resource accesses goes through the node manager as system call and validated using Rcap

Implementation Non renewable resources –Disk space, memory pages, file descriptor –Appropriate system calls wrapped to check with per slice resource limits, increment usage. Renewable resources –Fairness and guarantees Hierarchical token bucket queuing discipline –Cap per-vserver total outgoing bandwidth SILK for CPU scheduling –Proportional share scheduling using resource containers

“Network virtualization” Filters on network send and receive - like Exokernel and Nemesis. Sharing and partitioning a single network address space - by using a safe version of raw sockets. Alternative approach (similar to xen) - Assign different IP address to each VM, each using the entire port space and manage its own routing table. The problem is unavailability of enough IPV4 addresses in the order of 1000 per node.

Safe raw sockets The Scout module manages all TCP and UDP ports and ICMP IDs to ensure that there are no collisions between safe raw sockets and TCP/UDP/ICMP sockets For each IP address, all ports are either free or "owned" by a slice. Two slices may split ownership of a port by binding it to different IP addresses. Only two IP addresses for a node as of now.. External IP + loop back address SLICE can reserve port as any other resource (Xclusive) SLICE can open 3 sockets on a port –Error socket, consumer socket, sniffer socket

Monitoring Http Sensor server collects data from sensor interface on each nodes. Clients can query form the sensor database

Scalability Limited by disk space Of course limited by kernel resources –Need to recompile to increase resources

Thank you..