7/2/20161 Re-architecting VMMs for Multicore Systems: The Sidecore Approach Presented by: Sanjay Kumar PhD Candidate, Georgia Institute of Technology Co-Authors:

Slides:



Advertisements
Similar presentations
Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Advertisements

Virtualization Dr. Michael L. Collard
Virtualization Technology
Virtual Machine Technology Dr. Gregor von Laszewski Dr. Lizhe Wang.
Difference Engine: Harnessing Memory Redundancy in Virtual Machines by Diwaker Gupta et al. presented by Jonathan Berkhahn.
The Who, What, Why and How of High Performance Computing Applications in the Cloud Soheila Abrishami 1.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
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.
1 Virtual Machine Resource Monitoring and Networking of Virtual Machines Ananth I. Sundararaj Department of Computer Science Northwestern University July.
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.
ENFORCING PERFORMANCE ISOLATION ACROSS VIRTUAL MACHINES IN XEN Diwaker Gupta, Ludmila Cherkasova, Rob Gardner, Amin Vahdat Middleware '06 Proceedings of.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
VIRTUALISATION OF HADOOP CLUSTERS Dr G Sudha Sadasivam Assistant Professor Department of CSE PSGCT.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
An Introduction to Xen Prof. Chih-Hung Wu
Virtual Machines Xen and Terra Rajan Palanivel. Xen and Terra : Papers Xen and the art of virtualization. -Univ. of Cambridge Terra: A VM based platform.
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.
Remus: VM Replication Jeff Chase Duke University.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Christoffer Dall Department of Computer Science Columbia University
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.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Christoffer Dall Department of Computer Science Columbia University
Xen and The Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt & Andrew Warfield.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
CS533 Concepts of Operating Systems Jonathan Walpole.
“Trusted Passages”: Meeting Trust Needs of Distributed Applications Mustaque Ahamad, Greg Eisenhauer, Jiantao Kong, Wenke Lee, Bryan Payne and Karsten.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Outline for Today Announcements –1 st programming assignment coming soon. Objective of the lecture –OS and Virtual Machines.
Harmony: A Run-Time for Managing Accelerators Sponsor: LogicBlox Inc. Gregory Diamos and Sudhakar Yalamanchili.
Min Lee, Vishal Gupta, Karsten Schwan
Introduction to virtualization
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
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.
Operating-System Structures
Technical Reading Report Virtual Power: Coordinated Power Management in Virtualized Enterprise Environment Paper by: Ripal Nathuji & Karsten Schwan from.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
Virtual Machines (part 2) CPS210 Spring Papers  Xen and the Art of Virtualization  Paul Barham  ReVirt: Enabling Intrusion Analysis through Virtual.
Lecture 13: Virtual Machines
Virtualization for Cloud Computing
Virtual Machine Monitors
Virtualization Technology
Xen and the Art of Virtualization
Presented by Yoon-Soo Lee
Lecture 24 Virtual Machine Monitors
Xen: The Art of Virtualization
XenFS Sharing data in a virtualised environment
Running other code under LINUX
OS Virtualization.
CSE591 October Rotation Report Haoran Li Nov
Virtualization Techniques
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Xen and the Art of Virtualization
System Virtualization
Presentation transcript:

7/2/20161 Re-architecting VMMs for Multicore Systems: The Sidecore Approach Presented by: Sanjay Kumar PhD Candidate, Georgia Institute of Technology Co-Authors: Himanshu Raj, Prof. Karsten Schwan, Dr. Ivan Ganev Georgia Institute of Technology

7/2/20162 Background Multicore and Manycore Systems: –Increases parallelism significantly even in small scale systems –What can be done with so many cores –Creates new opportunities for novel programming models Virtualization: –Provides isolation, consolidation, manageability, containment –Becoming popular even in small scale systems –Multi-core systems will create design challenges for VMMs

7/2/20163 Virtual Machine Monitor(s) Every core executes potentially all VMM code –How to reduce the state transition overheads How to best virtualize/utilize the specialized heterogeneous cores –These cores may run their virtualization code themselves –They may run the specialized functionality

7/2/20164 Alternative VMM design Restructure the VMM as multiple components Components responsible for certain VMM functionality Different cores can run different components –Alternatively moved to hardware Sidecore: Abstraction of service cores providing services to guest VMs

7/2/20165 Advantage Sidecore Creates ‘specialized’ cores –Improved performance because of reduced processor state changes Useful for specialized heterogeneous cores –They can be abstracted as service cores Creates an alternative model for VMM design for future multi-core systems

7/2/20166 Disadvantages Some cores may be underutilized –Not an issue in large scale multi-core environments –Can be alleviated by dynamically switching Sidecore functionality on/off Programming challenges –VMM/OS will need to be modified –Synchronization issues in using Sidecores

7/2/20167 Rest of the Talk Sample usage scenarios for Sidecores –Homogeneous cores as Sidecores Improved VM-VMM communication Interrupt virtualization in SV-NIC –Heterogeneous cores as Sidecores Ongoing work Network processors, management processors

7/2/20168 Improving VM-VMM Communication in VT enabled VMs Xen Service VM VT enabled VM user kernel C C S V V VMExit/VMEntry V = CPU in VM mode C = CPU in VMM mode S = CPU as sidecore Sidecall VM’s privileged operations cause VMExit Currently VMExits are very costly operations Alternatively VM requests Sidecore to execute privileged operation via sidecall Sidecore already in VMM mode Avoids VMExit

7/2/20169 Page Table Updates VM’s attempt to modify PTEs causes VMExit Alternatively VM requests Sidecore to update its PTEs via sidecall Sidecore updates VM’s PTEs and corresponding shadow PTEs Avoids VMExit during PTE update

7/2/ VMExit vs. Sidecall Latency Remote TLB shootdowns cause VMExit VMExit latency will reduce –So will the Sidecall latency Recent MMU virtualization advances –The PT management moved to MMU

7/2/ LMBench Result

7/2/ Interrupt Virtualization in SV-NIC SV-NIC PCI Communication Network Controller Domain VIFs Mgmt VIF0VIF1 Mgmt Host Dom0 Guest 0 Guest 1 Hypervisor

7/2/ Transmit Operation –Polling by SV-NIC Receive Operation –SV-NIC signals host via PCI interrupt –Interrupt virtualization via identifier –Master PCI interrupt by 8 bit identifier Interrupt Virtualization Details

7/2/ Interrupt Virtualization using Sidecore Limitations of Interrupt Identifier –May result in redundant signalling for large number of VMs SV-NIC + Sidecore –Signal virtualization via dedicated host core No interrupts from SV-NIC Polling by Sidecore

7/2/ Experimental Results – Latency

7/2/ Ongoing and Future Work Dynamically deploy Sidecore functionality on cores –Sidecores to VMs ratio –Effects of Sidecore allocation on overall VM performance Use heterogeneous cores –Management processors, Network processors, GPUs Stub-domains –Lightweight domains running specialized code on Sidecores

7/2/ Questions??