Penn State CSE “Optimizing Network Virtualization in Xen” Aravind Menon, Alan L. Cox, Willy Zwaenepoel Presented by : Arjun R. Nath.

Slides:



Advertisements
Similar presentations
Remus: High Availability via Asynchronous Virtual Machine Replication
Advertisements

Diagnosing Performance Overheads in the Xen Virtual Machine Environment Aravind Menon Willy Zwaenepoel EPFL, Lausanne Jose Renato Santos Yoshio Turner.
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
XEN AND THE ART OF VIRTUALIZATION Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, lan Pratt, Andrew Warfield.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Memory/Storage Architecture Lab Computer Architecture Virtual Memory.
CS 333 Introduction to Operating Systems Class 12 - Virtual Memory (2) Jonathan Walpole Computer Science Portland State University.
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
G Robert Grimm New York University Disco.
Xen and the Art of Virtualization A paper from the University of Cambridge, presented by Charlie Schluting For CS533 at Portland State University.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
雲端計算 Cloud Computing Network Virtualization. Agenda Introduction External network virtualization  What to be virtualized ? Network device virtualization.
1 Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine, and Mendel Rosenblum, Stanford University, 1997.
Hosted VMM Architecture Advantages: –Installs and runs like an application –Portable – host OS does I/O access –Coexists with applications running on.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Operating System Support for Virtual Machines Samuel King, George Dunlap, Peter Chen Univ of Michigan Ashish Gupta.
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Connecting LANs, Backbone Networks, and Virtual LANs
Network Management Concepts and Practice Author: J. Richard Burke Presentation by Shu-Ping Lin.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
2017/4/21 Towards Full Virtualization of Heterogeneous Noc-based Multicore Embedded Architecture 2012 IEEE 15th International Conference on Computational.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Support for Smart NICs Ian Pratt. Outline Xen I/O Overview –Why network I/O is harder than block Smart NIC taxonomy –How Xen can exploit them Enhancing.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Achieving 10 Gb/s Using Xen Para-virtualized.
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.
CS 153 Design of Operating Systems Spring 2015 Final Review.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
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.
Xen I/O Overview.
Improving Network I/O Virtualization for Cloud Computing.
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
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.
CS533 Concepts of Operating Systems Jonathan Walpole.
11 NETWORK CONNECTION HARDWARE Chapter 3. Chapter 3: NETWORK CONNECTION HARDWARE2 NETWORK INTERFACE ADAPTER  Provides the link between a computer and.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Introduction to virtualization
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Virtual Memory Hardware.
CS333 Intro to Operating Systems Jonathan Walpole.
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
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,
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 13 TCP Implementation.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
CSE598c - Virtual Machines - Spring Diagnosing Performance Overheads in the Xen Virtual Machine EnvironmentPage 1 CSE 598c Virtual Machines “Diagnosing.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Understanding Virtualization Overhead.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Jonathan Walpole Computer Science Portland State University
Virtual Memory CSSE 332 Operating Systems
Advanced Computer Networks
CS703 - Advanced Operating Systems
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
Final Review CS144 Review Session 9 June 4, 2008 Derrick Isaacson
SWITCHING Switched Network Circuit-Switched Network Datagram Networks
Xen Network I/O Performance Analysis and Opportunities for Improvement
Virtual Memory Hardware
Computer Architecture
CSE 471 Autumn 1998 Virtual memory
CSE 542: Operating Systems
Xen and the Art of Virtualization
Single Address Space OS (SASOS)
ECE 671 – Lecture 8 Network Adapters.
Single Address Space OS (SASOS)
Presentation transcript:

Penn State CSE “Optimizing Network Virtualization in Xen” Aravind Menon, Alan L. Cox, Willy Zwaenepoel Presented by : Arjun R. Nath

Introduction ● Paper to appear in USENIX 2006 – Alan L. Cox, Rice University – Aravind and Willy, EPFL, Lausanne ● Outline: Paper introduces three methods of optimization to existing Xen (2.0) design for improving networking efficiency: – Improving network interface – Faster I/0 channel for exchange of packets between host and guest – Virtual memory modifications to reduce TLB misses by guest domains

Xen Network I/0 Architecture

1. Improving the Virtual Network Interface ● Front end, virtualized network driver for Xen guests – Simple, low-level interface : allows support for a large number of physical NICs. – However, this prevents the virtual driver from using advanced NIC capabilities, such as : ● Checksum offload ● Scatter/Gather DMA support ● TCP segmentation offload – Improve by making use of some of these NIC capabilities if possible

1. Improving the Virtual Network Interface ● TCP Segmentation Offload (or TCP Large Send) is when the NIC's buffer is much larger than the supported maximum transmission unit (MTU) of a given medium. The work of dividing the much larger packets into smaller packets can be offloaded to the NIC. (less CPU processing) ● Scatter/Gather I/O: Enables the OS to construct packets directly from the file system buffers without needing to copy them to contiguous memory location. ● Checksum Offload: Compute TCP data checksum on NIC hardware rather than in software.

Modified Network I/O Architecture Offload driver in Driver Domain

Results of Network modifications Offload benefits

2. I/O Channel Improvements Pre-modification operations ● Packet transfer between guest and domain is done via a zero- copy page remapping mechanism. ● The page containing the packet is remapped into the address space of the target domain ● This operation requires each packet to be allocated on a separate page. ● Each packet receive/transfer requires 3/2 address remaps and 2 memory alloc/dealloc operations

2. I/O Channel Improvements Optimizations ● Transmit: – Let driver domain examine MAC header of packet, check if destination is driver domain or broadcast. – Then construct network packet from packet header and unmapped (maybe) packet fragments and send over bridge. (needs Gather DMA support in NIC) ● Receive: – Reduce small packet overheads by doing a data- copy instead of page remap. – Implemented using shared pages between Dom0 and guest

Results of I/0 channel changes I/O channel optimization benefit (transmit)

3. Virtual Memory Improvements ● Observations – High number of TLB misses for guest domains in Xen for network operations compared to native Linux – Possibly due to increase in working set size. – Absence of support for virtual memory primitives such as superpage mappings and global page table mappings

3. Virtual Memory Improvements Optimizations ● Modified guest OS to use superpage mappings for a virtual address range only if associated physical pages are contiguous ● Modified memory allocator in guest OS tries to group together all memory pages into a contiguous range (within a superpage). ● Modify VMM to allow use of global page mappings in their address space. (limited benefit) ● Avoid TLB flush when switching between busy to idle and back to busy domains.

Results for virtual memory changes TLB measurements using Xenoprof

Results for virtual memory changes Data TLB measurements

Virtual Memory Issues ● Transparent page sharing between Vms breaks contiguity of physical page frames. Bad for superpages (currently not implemented in Xen) ● Ballooning driver use also breaks contiguity of physical pages. (solution – have coarse grained ballooning in units of superpage size)

Results Transmit (Overall) Transmit throughput measurements

Results Receive (Overall) Receive Throughput measurements

Results overall ● Transmit throughput of guests improved more than 300% ● Receive throughput improved by 30% ● Receive performance is still a bottleneck

Questions to the Authors ● Why did they use Xen 2.0 rather than 3.x – They had started this work when Xen was at 2.0.6, they continued working on it even after Xen 3.0 was announced. ● Will these optimizations be included in the Xen 3.x codebase ? – Yes, they are looking to do that (its not done yet). ● Any More ?

Thanks !