A Case for Virtualizing Nodes on Network Experimentation Testbeds Konrad Lorincz Harvard University June 1, 2015June 1, 2015June 1, 2015.

Slides:



Advertisements
Similar presentations
Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Advertisements

Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Exokernel: An Operating System Architecture for Application-Level Resource Management.
PlanetLab: An Overlay Testbed for Broad-Coverage Services Bavier, Bowman, Chun, Culler, Peterson, Roscoe, Wawrzoniak Presented by Jason Waddle.
Virtualization Dr. Michael L. Collard
1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.
Andrew Whitaker, Marianne Shaw, and Steven D. Gribble Presented By Steve Rizor.
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
PlanetLab Operating System support* *a work in progress.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Xen , Linux Vserver , Planet Lab
Virtualization in HPC Minesh Joshi CSC 469 Dr. Box Feb 1, 2012.
G Robert Grimm New York University Disco.
CS533 Concepts of Operating Systems Class 14 Virtualization.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Virtualization for Cloud Computing
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
The vMatrix: Server Switching IEEE FTDCS’2004 Amr A. Awadallah Mendel Rosenblum Stanford University – Computer Systems Lab.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Tanenbaum 8.3 See references
Virtual Infrastructure in the Grid Kate Keahey Argonne National Laboratory.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
CS533 Concepts of Operating Systems Jonathan Walpole.
Guanhai Wang, Minglu Li and Chuliang Weng Shanghai Jiao Tong University, China. SVM09, Wuhan, China.
Virtualization Concepts Presented by: Mariano Diaz.
IBM’s VM BY ANIRUDDHA MARATHE (CS-550/SECTION 1).
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Secure & flexible monitoring of virtual machine University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January.
Improving Network I/O Virtualization for Cloud Computing.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
CS 346 – Chapter 1 Operating system – definition Responsibilities What we find in computer systems Review of –Instruction execution –Compile – link – load.
Constructing Services with Interposable Virtual Hardware Author: Andrew Whitaker, Richard S. Cox, Marianne Shaw, and Steven D. Gribble Presenter: Huajing.
Headline in Arial Bold 30pt HPC User Forum, April 2008 John Hesterberg HPC OS Directions and Requirements.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same. So please give three examples.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Chapter 2 Introduction to OS Chien-Chung Shen CIS, UD
Next Generation Operating Systems Zeljko Susnjar, Cisco CTG June 2015.
Lecture 2 Page 1 CS 111 Online System Services for OSes One major role of an operating system is providing services – To human users – To applications.
MEMORY RESOURCE MANAGEMENT IN VMWARE ESX SERVER 김정수
Virtualization and Databases Ashraf Aboulnaga University of Waterloo.
Full and Para Virtualization
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
1 Agility in Virtualized Utility Computing Hangwei Qian, Elliot Miller, Wei Zhang Michael Rabinovich, Craig E. Wills {EECS Department, Case Western Reserve.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Is Virtualization ready for End-to-End Application Performance?
Operating System Structure
Virtualization Dr. Michael L. Collard
Chapter 1: Introduction
Operating System Structure
Virtual Servers.
Page Replacement.
CSE 451: Operating Systems Autumn 2005 Memory Management
Outline Chapter 2 (cont) OS Design OS structure
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
Shielding applications from an untrusted cloud with Haven
CSE 451: Operating Systems Autumn 2003 Lecture 9 Memory Management
Operating Systems Structure
Presentation transcript:

A Case for Virtualizing Nodes on Network Experimentation Testbeds Konrad Lorincz Harvard University June 1, 2015June 1, 2015June 1, 2015

June 1, Motivation In the beginning …. 1960s, 1970s u hardware was expensive => commodity u computer systems shared by multiple usersToday u hardware is relatively cheap u connectivity and location are a commodity u Network experimentation testbeds are expensive => shared » ex: PlanetLab, Globus, Centurion PlanetLab

June 1, Sharing Scenario l Current mode of sharing 1. Each user has an account 1. Each user has an account on the testbed 2. To perform experiment – user logs on one node, runs script which starts jobs on a subset of the nodes l Unfortunate Scenarios 1. Inconsiderate user: Node N is performing critical experimental computation for user A » User B runs his/her script that starts computationally intensive job on node N 2. Considerate user: Node N is running A’s experiment » User B checks load on node N, determines it’s very low, starts a moderately computation intensive job on node N

June 1, Current Way to Solve This l In a Small Lab u John posts a message on the bulletin board … l Analysis u May work OK in a small lab => clearly does not scale u Inefficient use of resources Please don’t use machines X, Y, and Z between 5/2/02 – 5/5/02. I am running my experiments. Thanks, -John PS. If you absolutely must log on one of these machines during this time, please don’t run any computationally intensive jobs. Please don’t use machines X, Y, and Z between 5/2/02 – 5/5/02. I am running my experiments. Thanks, -John PS. If you absolutely must log on one of these machines during this time, please don’t run any computationally intensive jobs.

June 1, Desired Sharing Properties Need a good mechanism for sharing so that users don’t get in each other’s way u Ideal Scenario: Researcher A specifies to the scheduler that it needs N number of machines/nodes, for H number of hours, each with W amount of RAM, X amount of disk size, CPU equivalent to Y MHz, and bandwidth of Z Mbps. Desired Properties of Mechanism for Sharing u Efficient multiplexing of resources amongst users u Control over resources » Reservation of resources » Enforcement u Isolation » Security » Performance u Customization

June 1, Solution Claims 1. Sharing problem can be solved by => virtualizing the testbed nodes 2. Good way to virtualize nodes => use a VMM

June 1, Advantages of Virtualization l Efficient Multiplexing of Resources u Takes advantage of statistical multiplexing (demand-based) u Resources requested, if granted, are guaranteed for the duration of the experiment » Only need to request resources needed => may be very few

June 1, Advantages of Virtualization l Control Over Resources u Can be fine-grained and precise u Allows for reservation/allocation of resources u Enforcement of reservations and policies u Commercialization? – if it can be controlled and accounted for => service could be sold

June 1, Advantages of Virtualization l Isolation u Security » Almost perfect security from other VMs (i.e. users) » Namespaces of each VM is private => cannot even name a resource on another VM » Even if a VM is compromised, the rest are not » Downside: n Resources don’t span multiple protection domains => can’t share a common service across VMs u Performance – aim for soft guarantees » Actions of other users on the node don’t affect my availability to resources (guarantees) n If Bob overloads his VM, it won’t affect my VM

June 1, Advantages of Virtualization l Customization u User may ask for exact machine configuration he/she requires (RAM, disk size, CPU, network bandwidth) u May load different OSes or modified/customized ones » User may require a particular OS (FreeBSD) » Denali kernel can be loaded and run on » User has superuser privileges u Easy management » user configures once a customized VM image => transfers it to required nodes or other testbeds

June 1, Arguments Against Virtualization l Overhead of Running a VMM 10% u Relatively small! VMware server, Denali + others report about 10% u Hardware is getting faster => overhead will be even less of a factor

June 1, Arguments Against Virtualization l Use Dedicated Physical Machines u Reservation too-coarse grained » must dedicate an entire physical machine to a user => may require the equivalent of 1/8 of the machine u More expensive » More expensive to buy 6-12 machines then one more powerful one + VMM "We're running 20 virtual machines on one four-way system, and it's handling everything from CRM applications and security to application development and testing, all of which has saved us huge amounts of time and money in hardware costs." -- Alan Thomas Senior Technical Consultant, National Gypsum Company

June 1, Arguments Against Virtualization l Do/Implement the sharing at the OS level u VMMs are much simpler than conventional OSes u Other mechanisms at the OS level impose particular software interfaces or models to the user => with a VMM it’s clear, you get a “raw” machine u Cannot provide strong performance isolation => the need to support high-level abstractions prevents OSes from providing strong performance guarantees » Precise resource accounting is difficult because resources intertwined in the implementation of abstractions. ex: file buffer cache and TCP\IP socket buffers consume memory resources that aren’t charged to any particular app. [Denali paper]

June 1, Can It Be Implemented? l Not only feasible, but practical u Several off the shelf products exist: » VMware ESX server » IBM z/VM » Disco (for NUMA) u For us, VMMs only needs to support half-doze to dozen VMs, can easily handle (VMware ESX supports up to 64 VMs) u If a particular VMM doesn’t provide guarantees for a resource, it can be easily extended with well known scheduling algs. » Fair queuing => network bandwidth » Stride scheduling => CPU » Cello framework => disk bandwidth allocation

June 1, Conclusion l Network experimentation testbeds are a commodity l Users have different needs + require guarantees. Currently no formal way to handle this l Virtualizing testbed nodes by running a VMM is a good solution. 1. Efficient multiplexing of resources 2. Fine-grained control over physical resources 3. Isolation 4. Customization

June 1, Hardware (HW) VMM OS 1OS 2OS 5 App 1App 2App 1 … … HW