Virtual WiFi: Bring Virtualization from Wired to Wireless Lei Xia, Sanjay Kumar, Xue Yang Praveen Gopalakrishnan, York Liu, Sebastian Schoenberg, Xingang.

Slides:



Advertisements
Similar presentations
IEEE INFOCOM 2004 MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card.
Advertisements

Device Virtualization Architecture
Content Overview Virtual Disk Port to Intel platform
Virtual Machine Technology Dr. Gregor von Laszewski Dr. Lizhe Wang.
DOT – Distributed OpenFlow Testbed
Differentiated I/O services in virtualized environments
Heterogeneous Live Migration of Virtual Machines Pengcheng Liu, Ziye Yang, Xiang Song, Yixun Zhou, Haibo Chen, and Binyu Zang Parallel Processing Institute,
Virtualization and Cloud Computing
NoHype: Virtualized Cloud Infrastructure without the Virtualization Eric Keller, Jakub Szefer, Jennifer Rexford, Ruby Lee ISCA 2010 Princeton University.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
Operating System Support for Virtual Machines Samuel King, George Dunlap, Peter Chen Univ of Michigan Ashish Gupta.
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
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
Tanenbaum 8.3 See references
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Making the Virtualization Decision. Agenda The Virtualization Umbrella Server Virtualization Architectures The Players Getting Started.
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Christoffer Dall Department of Computer Science Columbia University
Xen Overview for Campus Grids Andrew Warfield University of Cambridge Computer Laboratory.
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.
© 2010 IBM Corporation Plugging the Hypervisor Abstraction Leaks Caused by Virtual Networking Alex Landau, David Hadas, Muli Ben-Yehuda IBM Research –
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
The Best of Both Worlds with On-Demand Virtualization Thawan Kooburat and Michael M. Swift On-Demand Virtualization allows systems to benefit from virtualization.
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
Virtual Machine and its Role in Distributed Systems.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
Hadi Salimi Distributed Systems Lab, School of Computer Engineering, Iran University of Science and Technology, Fall 2010 Performance.
A Comparative Study of the Linux and Windows Device Driver Architectures with a focus on IEEE1394 (high speed serial bus) drivers Melekam Tsegaye
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Cloud Operating System Unit 09 Cloud OS Core Technology M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
VTurbo: Accelerating Virtual Machine I/O Processing Using Designated Turbo-Sliced Core Embedded Lab. Kim Sewoog Cong Xu, Sahan Gamage, Hui Lu, Ramana Kompella,
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
Introduction to virtualization
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,
Enabling Technologies for Distributed Computing Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing,
THAWAN KOOBURAT MICHAEL SWIFT UNIVERSITY OF WISCONSIN - MADISON 1 The Best of Both Worlds with On-Demand Virtualization.
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.
Virtualization Neependra Khare
Network Interface Virtualizaion: Challenges and Solutions Ryan Shea and Jiangchuan Liu, Simon Fraser University IEEE Network Park Sewon.
Virtualization for Cloud Computing
Instructor Materials Chapter 1: LAN Design
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.
Current Generation Hypervisor Type 1 Type 2.
CS 286 Computer Organization and Architecture
Final Review CS144 Review Session 9 June 4, 2008 Derrick Isaacson
OS Virtualization.
Virtualization Techniques
Xen Network I/O Performance Analysis and Opportunities for Improvement
Windows Virtual PC / Hyper-V
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
System Virtualization
Interrupt Message Store
Presentation transcript:

Virtual WiFi: Bring Virtualization from Wired to Wireless Lei Xia, Sanjay Kumar, Xue Yang Praveen Gopalakrishnan, York Liu, Sebastian Schoenberg, Xingang Guo Northwestern University, EECS Intel Labs, Hillsboro, OR This work was done in Intel Labs during Xia’s internship there

Virtual WiFi New virtualization approach suitable for wireless LAN virtualization Full wireless LAN functionalities are supported inside VMs Multiple separate wireless LAN connections are supported through one physical wireless LAN network interface

Wireless Virtualization VMM Wireless Driver VVirtualization enabled Wireless NIC VVirtualization enabled Wireless NIC Virtualization Augmented Wireless Driver Virtualization Augmented Wireless Driver Wireless Multiplexing Wireless Profile Guest OS Wireless Driver Wireless Profile Guest OS Host OS VMM Ethernet Driver Wireless NIC Wireless Device Driver Ethernet Emulation Wireless Profile Guest OS Ethernet Driver Wireless Profile Guest OS Host OS Today Virtual WiFi  Wireless driver stack sits in Host OS only  VMs see only wired NIC  Wireless functionality invisible to Guest  Wireless driver stack runs inside the Guest as well  Providing rich wireless functionalities to Guest

Why we need virtual WiFi? Client Virtualization Enterprise IT: Separate enterprise & personal applications, data and configurations Intel Confidential User VM IT VM Company Private Network Guest Network

Why we need virtual WiFi? Mobile and ultra-mobile devices Separate work from play User connect exclusively through wireless Software tools depend on WiFi connectivity WiFi-based Location-Aware System Maps WiFi hotspots to determine location Intel Confidential

Wireless LAN Specific Features Complex management functions that affect the functionalities of WLAN devices. Scan/Associate to specific access point Rate adaption Dynamic switching data rates to match the channel conditions Power management Device driver can control how long and how often the radio needs to be on to save battery …… Device driver has to be involved in many of those management decisions Intel Confidential

Required Hardware Support Multiple virtual MACs in wireless NIC Available on most of commercial WiFi devices, For example, used in Intel MyWiFi technology Virtual WiFi extends such technology To support wireless virtualization, multiple MAC entities maintain their independent associations with corresponding APs Number of independent associations dependent on number of vMACs Intel Confidential

Virtual WiFi: System Architecture

Virtual WiFi: Architecture Intel Confidential VMs run native Intel WiFi device driver Using WiFi features from device driver Guest manage its own WiFi connections

Virtual WiFi: Architecture Intel Confidential VMs run native Intel WiFi device driver Device Model exposes same virtual WiFi device to VM as physical device Commands from guest can be pass to physical device without translation Device model (VMM) knows few about device- specific knowledge Wireless vendor minimally dependent of VMM vendor

Virtual WiFi: Architecture Intel Confidential VMs run native Intel WiFi device driver Expose same virtual WiFi device to VM as physical device Virtualization Augmented host Wireless device driver Management functions of virtualized wireless interfaces Logically assigns vMAC to a VM Processing commands from device model Forwarding them directly or with consolidation or Emulated some locally Forwarding receive network packet to VMs Mapping table between vMAC and VM Configuration/connection status/state machine for each vMAC/VM pair

Virtual WiFi: Architecture Address Translation Commands from guest: GPA->HPA Avoids extra memory copy for TX packets Either Software/Hardware IOMMU Enable VT-d table to support multi-domain for single device Collapse multiple page tables to single address translation table in VT-d Intel Confidential

Augmented Host Device Driver Commands Handling Intel Confidential TX command Pass it directly to associated vMAC on WiFi NIC Rate Control Command Only update the rate table associated with the specific VM- ID Device Initialization Start a new vMAC, and starting state/information mapping to new vMAC Scan request Consolidate properly of scan requests from different VMs May return previous stored scan results to VMs And a lot more ……

Performance Benchmarks Chariot benchmark tool Metrics: TCP & UDP throughputs, Ping round-trip latency Setup HP EliteBook 6930p Laptop with Intel Core2 Duo CPU 2.53GHz (one core used), 4GB RAM, 80GB HD Intel WiFi 5300 AGN Card + Cisco WAP410N AP KVM + Qemu + Linux Comparing Groups Virtual WiFi: VM with virtual WiFi system Native: Linux with Native WiFi driver Passthrough: VM with direct assigned WiFi device

Performance – TCP Throughputs

Performance - UDP Throughputs

Virtual WiFi: Performance - Latency

VM Additional Latency on TX-path Intel Confidential  Address translation takes almost half of the time

System Overall CPU Cost (single core, 2.53GHz)

Major Virtualization Overheads Address translation Solution: Hardware IOMMU IOMMU hw do the address translation Reduce the VM additional latency/CPU usage Intel Confidential

Major Virtualization Overheads Address translation Solution: Hardware IOMMU Interrupt Handling Coalesce interrupts disabled in host device driver Each physical interrupt leads to more synchronization & signal VMs and kernel Solution: Interrupt coalescing in device model Intel Confidential

Major Virtualization Overheads Address translation Solution: Hardware IOMMU Interrupt Handling Solution: Interrupt coalescing in device model I/O handling MMIO handling Context switches, Threads synchronization overhead for each TX/RX packet Solution: Fast data pass-through (Future Work) Data traffic passthrough into physical device through separate queue Intel Confidential

CPU Usage with Optimizations Intel Confidential  Virtual WiFi consumed 9% more CPU than native

Related Work MultiNet (Microsoft vWiFi) A software layer that abstracts the wireless LAN card hardware into multiple virtual adapters Continuously switch the wireless card across multiple wireless networks Virtual Pass-through IO (VPIO) A modeling-based approach to high performance I/O virtualization Device is directly assigned to guest Most of IOs from a guest are directly applied on physical device, no VMM inventions. VMM uses a behavior model to determine when IO has to be intercepted for security and device switching Intel Confidential

Summary Virtual WiFi: new virtualization approach for wireless LAN device Support fully wireless functionalities inside VMs Separate wireless connections among VMs through one physical wireless interface Prototype system using virtual WiFi Native throughputs with 7% extra latency Less than 9% more CPU cost Lei Xia Ph.D candidate, Northwestern University

Intel Confidential

Backup Slides Intel Confidential

Current Wireless virtualization Map network connections to virtual wired Ethernet device Works well for data transfer But downsides for wireless connection Feature of network infrastructure can not be controlled from inside VM Wireless NIC has to be configured and managed by VMM Intel Confidential

System profiling setup Profiling Components for virtual WiFi system Kernel: App-specific, kernel-general Kernel modules: KVM, driver Application-level: Endpoint, Qemu, Guest Presented test results based on KVM/QEMU; similar evaluations need to be performed for other VMM software, such as Xen.

Comparing Groups WiFi Device WiFi Driver (Original Driver) Host Linux Kernel Endpoint Native: Linux with native driver

Comparing Groups WiFi Device WiFi Driver (Augmented Driver) Host Linux Kernel KVM Qemu Device Model WiFi Driver Virtual WiFi Endpoint Guest OS

Comparing Groups WiFi Device Host Linux Kernel Qemu WiFi Driver Passthrough Endpoint Guest OS KVM irtual WiFi Device Mo

Virtual WiFi: Implementation WiFi Device Augmented WiFi Driver Host Kernel KVM Qemu Virtual WiFi Device Model Guest OS Native WiFi Driver Application µCode Type II hosted VMM Can be easily ported to Type I bare metal VMM

Implementation Virtual WiFi Device Model Expose only PCI config and MMIO mapping Tag command with VM-ID, Injecting virtual interrupt to VMs. Intel Confidential

Implementation Virtual WiFi Device Model Augmented WiFi Device driver Forwarding commands directly to physical WiFi device, or Emulated some locally Receive network packet from WiFi interface, Identify destination VM, signal device model Intel Confidential

Implementation Vdel Augmented WiFi Device driver Augmented NIC Only uCode update needed Virtualization extension added to uCode Intel Confidential

The CPU Usage Matters! Scalability From g (50Mbps) to n (up to 500Mbps) CPU usage grows with throughput Mobile platform Limited processor resources User experience

CPU Usage breakdown (Chariot TX) Virtualization directed overhead: Guest, Qemu and KVM overhead (20%) VM Kernel consumes more than Native case (9%) VM-PT needs very few KVM and Kernel involvement

CPU Usage breakdown: KVM and Host Kernel (by Oprofile)

Future Works Data Pass-through Data traffic passthrough into physical device through separate queue Control/management commands go through device model/augmented driver Apply on next generation WiFi standards WiFi n Expected throughput: ~500Mbps

Related Work Full-virtualization by emulating –Large performance overhead, Many development efforts, Lack of device datasheets Para-virtualization Need guest modification/new para-virtualized device driver WLAN device specific features are closed to VMM vendor for back-end driver SR-IOV: hardware support virtualization Costly/complexity/Time line Intel Confidential