Types of Virtualization. Types of virtualization

Similar documents
Sprite (contd) Code and Process Migration

Multiprocessor Scheduling. Multiprocessor Scheduling

Module 1: Virtualization. Types of Interfaces

Virtual Machine Monitors!

Distributed Systems Principles and Paradigms

OS Virtualization. Linux Containers (LXC)

Lecture 7: February 10

Verteilte Systeme (Distributed Systems)

Multiprocessor Scheduling. Multiprocessor Scheduling

Multiprocessor Scheduling

Operating Systems 4/27/2015

殷亚凤. Processes. Distributed Systems [3]

Lecture 5: February 3

Concepts of Distributed Systems 2006/2007

CHAPTER 16 - VIRTUAL MACHINES

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Virtualization. Michael Tsai 2018/4/16

CS 571 Operating Systems. Final Review. Angelos Stavrou, George Mason University

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 3 Processes

LINUX Virtualization. Running other code under LINUX

for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

An overview of virtual machine architecture

EE 660: Computer Architecture Cloud Architecture: Virtualization

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Distributed Systems COMP 212. Lecture 18 Othon Michail

Dr Markus Hagenbuchner CSCI319. Distributed Systems Chapter 3 - Processes

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

Nested Virtualization and Server Consolidation

Virtualization. Virtualization

Virtualization. Pradipta De

CHAPTER 16 - VIRTUAL MACHINES

Cloud and Datacenter Networking

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Virtualization. join, aggregation, concatenation, array, N 1 ühendamine, agregeerimine, konkateneerimine, massiiv

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), Systemarchitektur

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems

CSCI 8530 Advanced Operating Systems. Part 19 Virtualization

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Unit 5: Distributed, Real-Time, and Multimedia Systems

NON SCHOLAE, SED VITAE

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. Dr. Yingwu Zhu

Learning Outcomes. Extended OS. Observations Operating systems provide well defined interfaces. Virtual Machines. Interface Levels

The Architecture of Virtual Machines Lecture for the Embedded Systems Course CSD, University of Crete (April 29, 2014)

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

Virtualization. Santa Clara Valley Chapter of the IEEE Communication Society June 20, 2007 Scott Lurndal, 3Leaf Systems

Virtualization Introduction

Grid & Virtualization Working Group

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

Chapter 5 C. Virtual machines

CS370 Operating Systems

Adaptive Cluster Computing using JavaSpaces

Virtualization. Application Application Application. MCSN - N. Tonellotto - Distributed Enabling Platforms OPERATING SYSTEM OPERATING SYSTEM

SERVE. -Priyal Lokhandwala

Virtual Machine Systems

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

Πποχωπημένη Κατανεμημένη Υπολογιστική

CS 550 Operating Systems Spring Introduction to Virtual Machines

Originally prepared by Lehigh graduate Greg Bosch; last modified April 2016 by B. Davison

What is a VM? Categories of Virtual Machines. Process Virtual Machine 11/17/2010

CSE543 - Computer and Network Security Module: Virtualization

Making Applications Mobile

Concepts. Virtualization

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

Virtual Machine Monitors (VMMs) are a hot topic in

CSE 120 Principles of Operating Systems

SUSE An introduction...

e-pg Pathshala Subject: Computer Science Paper: Cloud Computing Module 23: Virtualization II Module No: CS/CC/23 Quadrant 1 e-text

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Xen and CloudStack. Ewan Mellor. Director, Engineering, Open-source Cloud Platforms Citrix Systems

CSE543 - Computer and Network Security Module: Virtualization

Chapter 2: Operating-System Structures

Lecture 09: VMs and VCS head in the clouds

CSE543 - Computer and Network Security Module: Virtualization

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and

Performance Evaluation of Virtualization Technologies

Virtualizing Oracle 11g/R2 RAC Database on Oracle VM: Methods/Tips

CLOUD COMPUTING IT0530. G.JEYA BHARATHI Asst.Prof.(O.G) Department of IT SRM University

CprE Virtualization. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

Process Description and Control

Bacula Systems Virtual Machine Performance Backup Suite

CS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II

Chapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

WebSphere. Virtual Enterprise Version Virtualization and WebSphere Virtual Enterprise Version 6.1.1

Introduction to Virtualization

Fairness Issues in Software Virtual Routers

W11 Hyper-V security. Jesper Krogh.

openqrm Technical Overview

CS370 Operating Systems

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Sai Janakiram Penumuru o Ten years in Oracle DBA / Oracle Apps DBA / Cloud Architect o Current Position: WW Product Expert/PMO, Cloud Platform and

Travis Cardwell Technical Meeting

CS 470 Spring Virtualization and Cloud Computing. Mike Lam, Professor. Content taken from the following:

Sistemas Operacionais I. Valeria Menezes Bastos

VM Migration, Containers (Lecture 12, cs262a)

Transcription:

Types of Virtualization Emulation VM emulates/simulates complete hardware Unmodified guest OS for a different PC can be run Bochs, VirtualPC for Mac, QEMU Full/native Virtualization VM simulates enough hardware to allow an unmodified guest OS to be run in isolation Same hardware CPU IBM VM family, VMWare Workstation, Parallels, Lecture 5, page 1 Types of virtualization Para-virtualization VM does not simulate hardware Use special API that a modified guest OS must use Hypercalls trapped by the Hypervisor and serviced Xen, VMWare ESX Server OS-level virtualization OS allows multiple secure virtual servers to be run Guest OS is the same as the host OS, but appears isolated apps see an isolated OS Solaris Containers, BSD Jails, Linux Vserver Application level virtualization Application is gives its own copy of components that are not shared (E.g., own registry files, global objects) - VE prevents conflicts JVM Lecture 5, page 2

Server Design Issues Server Design Iterative versus concurrent How to locate an end-point (port #)? Well known port # Directory service (port mapper in Unix) Super server (inetd in Unix) Lecture 5, page 3 Stateful or Stateless? Stateful server Maintain state of connected clients Sessions in web servers Stateless server No state for clients Soft state Maintain state for a limited time; discarding state does not impact correctness Lecture 5, page 4

Server Clusters Web applications use tiered architecture Each tier may be optionally replicated; uses a dispatcher Use TCP splicing or handoffs Lecture 5, page 5 Case Study: PlanetLab Distributed cluster across universities Used for experimental research by students and faculty in networking and distributed systems Uses a virtualized architecture Linux Vservers Node manager per machine Obtain a slice for an experiment: slice creation service Lecture 5, page 6

Code and Process Migration Motivation How does migration occur? Resource migration Agent-based system Details of process migration Lecture 5, page 7 Motivation Key reasons: performance and flexibility Process migration (aka strong mobility) Improved system-wide performance better utilization of system-wide resources Examples: Condor, DQS Code migration (aka weak mobility) Shipment of server code to client filling forms (reduce communication, no need to pre-link stubs with client) Ship parts of client application to server instead of data from server to client (e.g., databases) Improve parallelism agent-based web searches Lecture 5, page 8

Motivation Flexibility Dynamic configuration of distributed system Clients don t need preinstalled software download on demand Lecture 5, page 9 Migration models Process = code seg + resource seg + execution seg Weak versus strong mobility Weak => transferred program starts from initial state Sender-initiated versus receiver-initiated Sender-initiated (code is with sender) Client sending a query to database server Client should be pre-registered Receiver-initiated Java applets Receiver can be anonymous Lecture 5, page 10

Who executes migrated entity? Code migration: Execute in a separate process [Applets] Execute in target process Process migration Remote cloning Migrate the process Lecture 5, page 11 Models for Code Migration Alternatives for code migration. Lecture 5, page 12

Do Resources Migrate? Depends on resource to process binding By identifier: specific web site, ftp server By value: Java libraries By type: printers, local devices Depends on type of attachments Unattached to any node: data files Fastened resources (can be moved only at high cost) Database, web sites Fixed resources Local devices, communication end points Lecture 5, page 13 Resource Migration Actions Resource-to machine binding Unattached Fastened Fixed Process-toresource binding By identifier By value By type MV (or GR) CP ( or MV, GR) RB (or GR, CP) GR (or MV) GR (or CP) RB (or GR, CP) GR GR RB (or GR) Actions to be taken with respect to the references to local resources when migrating code to another machine. GR: establish global system-wide reference MV: move the resources CP: copy the resource RB: rebind process to locally available resource Lecture 5, page 14

Migration in Heterogeneous Systems Systems can be heterogeneous (different architecture, OS) Support only weak mobility: recompile code, no run time information Strong mobility: recompile code segment, transfer execution segment [migration stack] Virtual machines - interpret source (scripts) or intermediate code [Java] Lecture 5, page 15 Case study: Agents Software agents Autonomous process capable of reacting to, and initiating changes in its environment, possibly in collaboration More than a process can act on its own Mobile agent Capability to move between machines Needs support for strong mobility Example: D Agents (aka Agent TCL) Support for heterogeneous systems, uses interpreted languages Lecture 5, page 16

Case Study: ISOS Internet scale operating system Harness compute cycles of thousands of PCs on the Internet PCs owned by different individuals Donate CPU cycles/storage when not in use (pool resouces) Contact coordinator for work Coodinator: partition large parallel app into small tasks Assign compute/storage tasks to PCs Examples: Seti@home, P2P backups Lecture 5, page 17 Case study: Condor Condor: use idle cycles on workstations in a LAN Used to run lareg batch jobs, long simulations Idle machines contact condor for work Condor assigns a waiting job User returns to workstation => suspend job, migrate Flexible job scheduling policies Lecture 5, page 18