Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Virtualization Technology
Virtualisation From the Bottom Up From storage to application.
虛擬化技術 Virtualization Techniques
Virtualization in HPC Minesh Joshi CSC 469 Dr. Box Feb 1, 2012.
Virtual Machine Security Design of Secure Operating Systems Summer 2012 Presented By: Musaad Alzahrani.
Keith Wiles DPACC vNF Overview and Proposed methods Keith Wiles – v0.5.
G Robert Grimm New York University Disco.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Server Virtualization Gina Myers. Definition Creating virtual machines (VMs) “VMs are software entities that emulate a real machine’s functionality” ◦
Chapter 14 Virtual Machines
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Virtualization for Cloud Computing
5205 – IT Service Delivery and Support
VMware vSphere 4 Introduction. Agenda VMware vSphere Virtualization Technology vMotion Storage vMotion Snapshot High Availability DRS Resource Pools Monitoring.
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
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
ICT Day Term 4,  Virtualisation is growing in usage.  Current CPU’s are designed to support Virtualisation.  Businesses are looking at virtualisation.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2010 Seminar #1 VIRTUALIZATION EVERYWHERE.
SAIGONTECH COPPERATIVE EDUCATION NETWORKING Spring 2009 Seminar #1 VIRTUALIZATION EVERYWHERE.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Improving Network I/O Virtualization for Cloud Computing.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
张俊 BTLab Embedded Virtualization Group Outline  Introduction  Performance Analysis  PerformanceTuning Methods.
Virtual Machine and its Role in Distributed Systems.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
Server Virtualization
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Introduction to virtualization
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Full and Para Virtualization
Lecture 12 Virtualization Overview 1 Dec. 1, 2015 Prof. Kyu Ho Park “Understanding Full Virtualization, Paravirtualization, and Hardware Assist”, White.
Operating-System Structures
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Open Source Virtualization Andrey Meganov RHCA, RHCX Consultant / VDEL
Virtualization Neependra Khare
Virtualization-optimized architectures
Unix Server Consolidation
Virtualization for Cloud Computing
Virtualization.
Virtualization Technology
Why VT-d Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing.
Presented by Yoon-Soo Lee
Current Generation Hypervisor Type 1 Type 2.
Virtualization Dr. Michael L. Collard
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
Operating System Structure
Virtualization overview
Virtual Servers.
Virtualization Virtualization is the creation of substitutes for real resources – abstraction of real resources Users/Applications are typically unaware.
OS Virtualization.
Virtualization Layer Virtual Hardware Virtual Networking
Virtualization Techniques
Virtual machines benefits
Windows Virtual PC / Hyper-V
Virtualization Dr. S. R. Ahmed.
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Presentation transcript:

Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker

Topics Definitions Benefits Tradeoffs Embedded Virtualization Use Cases Embedded Issues with Virtualization Conclusion

Virtualization from 10,000 feet Securely share hardware between multiple guest software stacks Minimize changes to guest software A host kernel manages the hardware resources Could multiplex hardware; could just provide isolation KVM: Linux as host kernel Isolation is a requirement Fault containment, security Host kernel must be more privileged than guests kernel app processor guest app guest app host processor

Virtualization Flavors Full virtualization: no guest kernel modifications at all Privileged operations in the guest are either handled by hardware or emulated by software Performance could benefit from guest co-operation Paravirtualization: remove all privileged operations from guest kernel Including MMU and interrupt control Probably requires extensive source code modifications Balance: good performance, minimize guest modifications Use full virtualization for most operations, but modify guest in performance-critical areas

Virtualization Benefits

Benefits of Server Virtualization Workload consolidation Increase server utilization Reduce capital, hardware management, power, space, heat costs Legacy OS support Especially with large slow-moving 3 rd -party software products Instant provisioning Easily create new virtual machines Easily reallocate resources (memory, processor, IO) between running virtual machines Migration Predicted hardware downtime Workload balancing

Benefits of Embedded Virtualization Workload consolidation Flexible resource provisioning License barrier Legacy software support Especially important with dozens or hundreds of embedded operating systems, commercial and home-brew Improve reliability Improve security

Virtualization Tradeoffs

There is a performance tradeoff Applications that used to own the whole processor must now share it Hypervisor adds some runtime overhead too Full virtualization without hardware support means software emulation Increase in management complexity Old scenario: two software stacks + two hardware systems New scenario: two software stacks + one hardware system + one host kernel More abstraction, more software layers, more complexity... More bugs Increases size of Trusted Computing Base Increases impact of (unpredicted) hardware failure

Embedded Virtualization Use Cases

Workload Consolidation Consolidate legacy systems legacy SW legacy HW host kernel legacy SW new HW legacy SW legacy HW legacy SW legacy SW

Legacy Software Run legacy software on new core/chip/board with full virtualization legacy SW legacy HW host kernel legacy SW new HW new SW

Legacy Software Consolidate legacy software RT app proprietary kernel core Linux/KVM visualization app core RT app proprietary kernel core Linux visualization app core

Multicore Enablement Legacy uniprocessor applications legacy app core legacy kernel core multicore kernel core host kernel app legacy kernel legacy app legacy app

Multicore Enablement Flexible resource management core host kernel data plane data plane control plane data control

Improved Reliability Hot standby without additional hardware HW host kernel HW backup app HW backup app HW app

Secure Monitoring Protect monitoring software host kernel HW monitor app HW app kernel network

Embedded Virtualization Issues

Memory/flash footprint Is Linux too big to be a host kernel? Weren't you going to run Linux anyways? Do you need multiple copies of Linux? Different kernel versions Greater performance and functional isolation than plain Linux tasks Extremely tight footprint requirements? See TRANGO

Security Host kernel must be certified Increases size of Trusted Computing Base Extreme security requirements? See Green Hills Software's “Padded Cell”

Direct IO Access Guest can directly access physical IO without host involvement Native speed IOMMU provides isolation and physical address translation (DMA)‏ Translation could be done with guest modifications Issues: IOMMU required for DMA isolation Limited by number of physical IO devices Guests must have device drivers What about legacy guests on new hardware? Breaks migration IRQ delivery and routing

Emulated IO Host software emulates guest IO accesses Issues: Must write software to (perfectly?) emulate hardware Dramatic increase in IO latency Host OS must have physical device drivers Device driver availability, licensing concerns

Virtual IO No hardware at all, just inter-guest data transfer New guest device drivers co-operate with host Issues: Requires guest modification (at least new device drivers)‏ Host OS still needs physical IO drivers

Real-time support RTOS + Linux model Requires RT support in host kernel Scheduling Dedicated cores? Time-sharing adds context switch latency Interrupt handler latency Direct IO access? Linux task RTOS core Linux/KVM RTOS task core device

Hardware Virtualization Support Efficient virtualization requires hardware support Goal: minimize performance overhead and modifications to guests Architecture support High-end x86 (Intel VT, AMD SVM)‏ High-end PowerPC (PowerPC 970)‏ Embedded PowerPC virtualization architecture announced ARM TrustZone

Conclusion There is overlap between server and embedded virtualization scenarios, but also scenarios and issues unique to embedded systems. Deploying virtualization is an engineering tradeoff, but virtualization offers some compelling advantages for embedded applications.