Virtual Machine Queue Architecture Review Ali Dabagh Architect Windows Core Networking Don Stanwyck Sr. Program Manager NDIS Virtualization.

Slides:



Advertisements
Similar presentations
Topics Networking Concepts Storage Concepts Presentation by Anand Mewalal Vmware VI3 Concepts On networking and Storage.
Advertisements

Hyper-V Networking Best practice
Windows Server 2012 NIC Teaming and SMB Multichannel Solutions
IEEE INFOCOM 2004 MultiNet: Connecting to Multiple IEEE Networks Using a Single Wireless Card.
Device Virtualization Architecture
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
CCNA3: Switching Basics and Intermediate Routing v3.0 CISCO NETWORKING ACADEMY PROGRAM Switching Concepts Introduction to Ethernet/802.3 LANs Introduction.
Fluffy’s Safe Right? If you want to limit a user’s functionality, don’t make them an administrator.
WSV302. Source: analyst-reports/2009-forrester-storage-choices -virtual-server.pdf.
Network Power Management for Windows 7
Developing TCP Chimney Drivers for Windows 7 Joe Nievelt Vivek Bhanu Software Design Engineer TCP/IP - Networking
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Lesson 9: Creating and Configuring Virtual Networks
Chapter 9 Classification And Forwarding. Outline.
Didier Van Hoye Technical FGIA MVP – Virtual Machine Microsoft Extended Experts Team
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
Router Architectures An overview of router architectures.
Implementing Efficient RSS Capable Hardware and Drivers for Windows 7
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
Connecting LANs, Backbone Networks, and Virtual LANs
5: DataLink Layer5-1 Chapter 5 Link Layer and LANs Part 1: Overview of the Data Link layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose,
Paper Review Building a Robust Software-based Router Using Network Processors.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
What’s new in Hyper-V in Windows Server 2012 (Part 2) Stu Fox Technical Specialist, Microsoft NZ VIR315.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
© 2010 IBM Corporation Plugging the Hypervisor Abstraction Leaks Caused by Virtual Networking Alex Landau, David Hadas, Muli Ben-Yehuda IBM Research –
Processor or Socket NUMA Node Core LP Processor or Socket NUMA Node Core LP Processor or Socket NUMA Node Core LP Processor or Socket NUMA Node Core.
Penn State CSE “Optimizing Network Virtualization in Xen” Aravind Menon, Alan L. Cox, Willy Zwaenepoel Presented by : Arjun R. Nath.
Inside Microsoft’s Network and Storage VSP/VSC Brian Henry Program Manager Windows Virtualization Microsoft Corporation.
11 NETWORK CONNECTION HARDWARE Chapter 3. Chapter 3: NETWORK CONNECTION HARDWARE2 NETWORK INTERFACE ADAPTER  Provides the link between a computer and.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
Local-Area-Network (LAN) Architecture Department of Computer Science Southern Illinois University Edwardsville Fall, 2013 Dr. Hiroshi Fujinoki
Windows Server 2012 Hyper-V Networking
Windows Server 2012 NIC Teaming and Multichannel Solutions Rick Claus Sr. Technical WSV321.
NDIS 6.20 Overview Bob Combs Lead Program Manager Core Networking Narsi Nagampalli Lead Software Development Engineer Core Networking.
Virtual Machine Queue Driver Development Sambhrama Mundkur Sr. Software Design Engineer Core Networking
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Link Layer introduction,
Stateless Transport Tunneling draft-davie-stt-01.txt Bruce Davie, Jesse Gross, Igor Gashinsky et al.
Hyper-V Performance, Scale & Architecture Changes Benjamin Armstrong Senior Program Manager Lead Microsoft Corporation VIR413.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Networking Material taken mainly from HowStuffWorks.com.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 16 Connecting LANs, Backbone Networks, and Virtual LANs.
NDIS 6.0 Technical Update Alireza Dabagh Development Lead Network Devices Platform microsoft.com Microsoft Corporation.
Windows Logo Program Tests for NDIS 6.20 Eric Li Test Lead Networking Ecosystem Team Michael Nanakul Test Lead Networking Ecosystem.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. Overview of Ethernet Networking A Rev /31/2011.
Ethernet Virtual LANs Hubs versus Switches –Hubs broadcast bits out all ports –Switches usually send a frame out a one port More fundamentally –In unicasting,
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Technical Overview of Microsoft’s NetDMA Architecture Rade Trimceski Program Manager Windows Networking & Devices Microsoft Corporation.
Exploiting Task-level Concurrency in a Programmable Network Interface June 11, 2003 Hyong-youb Kim, Vijay S. Pai, and Scott Rixner Rice Computer Architecture.
Programming Multi-Core Processors based Embedded Systems A Hands-On Experience on Cavium Octeon based Platforms Lab Exercises: Lab 4 (Network Packet Filtering)
CHAPTER -II NETWORKING COMPONENTS CPIS 371 Computer Network 1 (Updated on 3/11/2013)
Windows Server 2008 R2 Failover Clustering and Network Load Balancing October 25 th 2009.
Network Layer. application transport network link physical message segment packet frame signal Network Architecture.
Level 300 Windows Server 2012 Networking Marin Franković, Visoko učilište Algebra.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
Multiqueue Networking David S. Miller Red Hat Inc.
Chapter 3 Part 3 Switching and Bridging
12/30/2017 8:55 AM Особенности и улучшения работы сети в гипервизоре Windows Server 2008 R2 Панов Никита Технический инженер Microsoft MCP Leader
Networking Devices.
Chapter 3 Part 3 Switching and Bridging
Mach Kernel Kris Ambrose Kris Ambrose 2003.
Packet Switch Architectures
Implementing an OpenFlow Switch on the NetFPGA platform
What’s new in Windows Server 2008 R2?
Packet Switch Architectures
Presentation transcript:

Virtual Machine Queue Architecture Review Ali Dabagh Architect Windows Core Networking Don Stanwyck Sr. Program Manager NDIS Virtualization

Agenda Introduction Network device sharing in virtualization environment Performance bottlenecks Virtual Machine Queue (VMQ) Architecture NIC embedded switch Coexistence with offload technologies Call to action Q&A

Why VMQ? Virtualization is now Networking optimization supports virtualization Virtualization impacts performance – VMQ helps overcome those effects VMQ supports Live Migration VMQ coexists with other optimizations Broad industry support

Terminology Virtual Service Provider (VSP) A driver running in the parent partition Provides a specific functionality to Virtual Machines Network VSP (NVSP) implemented as an NDIS intermediate driver Virtual Service Client (VSC) A driver running in the child partition Usually provides a device class functionality in child partitions Communicates with its VSP counterpart in the parent partition Network VSC (NVSC) implemented as an NDIS virtual miniport driver Virtual Machine Bus (VMBus) A communication bus for passing control and data messages between child and parent partition VMBus Channel A communication channel created between a VSC in child partition and VSP in parent partition

Synthetic Device Data Path Parent PartitionVM1VM2 Ethernet VM BUS TCP/IP VM NIC 1VM NIC 2 Network Virtual Service Provider NIC Miniport Driver Routing VLAN Filtering Data Copy Port 1Port 2

VMQ Concepts: Receive Queues Receive Queues Are allocated by Network Virtual Service Provider Collect network packets that pass filter tests Properties of a receive queue Unique queue ID per miniport adapter Interrupt processor affinity Filters Receive buffers Default Queue Always exists Collects packets that are not collected by any other queue

VMQ Concepts: Receive Filters Receive filters are set on receive queues One or more “network header field tests” Unique filter ID per miniport adapter Specifying network headers in a filter VMQ uses MAC header Specifying fields within the headers VMQ uses destination MAC address and VLAN tag Setting multiple tests in one receive filter A packet must pass all the network header field tests Setting multiple filters on the same queue Packet is accepted if it passes any of those filters Specifying test operation and test value VMQ uses “Equal” test operation

Receive Filters and Receive Queues

Packet Filtering Data Flow

Virtual Machine Queue Overview Classifying received packets Parsing the packets in hardware Setting received packet queue ID Grouping received packets All packets in a receive indication call are for the same VM NIC Applying VLAN filtering in hardware Packets with invalid VLAN IDs are dropped by the NIC Concurrent receive processing for multiple VMs Every queue is serviced by a different processor Avoiding copy from NIC receive buffers to VM address space Using switch on the NIC to do route lookup on transmit

Synthetic Device Data Paths With VMQ Parent PartitionVM1VM2 Ethernet VM BUS TCP/IP VM NIC 1VM NIC 2 Network Virtual Service Provider Miniport Driver Switch/Routing unit Q1 Default Queue Q2 Routing VLAN filtering Data Copy Port 1Port 2 NIC

Queue 1 Using VM Address Space for Receive Buffers VM1VM2 D D D D D Parent Partition H H H H H Queue 2 D D D D D H H H H H Address Space

NIC Embedded Switch Receive queues are paired with transmit queues Each queue pair is a switch port No MAC address learning is required The MAC address of each port is the one set on the receive queue Switch inspects destination MAC address +VLAN ID of transmit packets If they pass the filter set on a receive queue, DMA to that queue Otherwise send the packet on the wire Advantages in VM to VM communication Avoids route lookup in software Avoids a packet copy Offload support in hardware Advantages in VM to wire communication Avoids route lookup in software

Coexistence with Other Offload Technologies Transmit and receive checksum Still needs to be calculated and verified Should work for both VM-to-VM and VM-to-wire data flow Large send offload Should work for both VM-to-VM and VM-to-wire data flow Jumbo frame support Maximum packet size Scatter/gather support for received packets Chimney offload If NIC supports both VMQ and Chimney, VMQ is used

Summary VMQ improves network throughput Distributes processing of network traffic for multiple VMs among multiple processors VMQ reduces CPU utilization by: Offloading packet classification to hardware Avoiding network data copy Avoiding route lookup on transmit path VMQ is compatible with most task offloads VMQ is secure VMQ supports live migration

Call to Action Virtualization is NOW Network optimizations are crucial for virtualization support These vendors are among those committed to supporting VMQ in their NICs: Alacritech Broadcom Intel Neterion ServerEngines Solarflare Build/update all your drivers to be NDIS 6.20 compliant

Resources Windows 7 WDK will be available as of WinHEC Windows Logo Program Web site: NDIS 6 Feedback alias:

Related Sessions SessionDay / Time Virtual Machine Queue Driver DevelopmentTues. 4-5 Developing TCP Chimney Drivers for Windows 7Tues Driver ScalabilityMon and Tues NDIS 6.20 OverviewMon. 9:45-10:45 and Tues. 9:45-10:45 Windows Logo Program Tests for NDISMon and Wed. 9:45-10:45 Discussion: Porting Drivers to NDIS 6.20Wed. 8:30-9:30 Lab: How to Debug an NDIS 6.20 DriverMon. 2:45-3:45 and Wed. 9:45-10:45