PCI Express I/O Virtualization Explained Richard Solomon LSI Corporation

Similar documents
PCI Express IO Virtualization Overview

PCI-SIG SR-IOV Primer. An Introduction to SR-IOV Technology Intel LAN Access Division

PCI Express and Storage. Ron Emerick, Sun Microsystems

PCI Express Impact on Storage Architectures. Ron Emerick, Sun Microsystems

PCI Express Impact on Storage Architectures and Future Data Centers. Ron Emerick, Oracle Corporation

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

PCI Express Impact on Storage Architectures and Future Data Centers. Ron Emerick, Oracle Corporation

PCI Express Impact on Storage Architectures and Future Data Centers

EDUCATION. PCI Express, InfiniBand and Storage Ron Emerick, Sun Microsystems Paul Millard, Xyratex Corporation

IOS110. Virtualization 5/27/2014 1

Knut Omang Ifi/Oracle 19 Oct, 2015

PCI Express Supersedes SAS and SATA in Storage

VMWare Workstation 11 Installation MICROSOFT WINDOWS SERVER 2008 R2 STANDARD ENTERPRISE ED.

Windows Server 2012 Hyper-V Virtual Switch Extension Software UNIVERGE PF1000 Overview. IT Network Global Solutions Division UNIVERGE Support Center

PCI Express SATA III RAID Controller Card with Mini-SAS Connector (SFF-8087) - HyperDuo SSD Tiering

Broadcom Ethernet Network Controller Enhanced Virtualization Functionality

Virtualised MikroTik

Storage Architectures. Ron Emerick, Oracle Corporation

I/O Virtualization Using Mellanox InfiniBand And Channel I/O Virtualization (CIOV) Technology

Virtualization. Jia Rao Assistant Professor in CS

Optimize Server Virtualization with QLogic s 10GbE Secure SR-IOV

PCI Express 2.0 SATA III RAID Controller Card with Internal Mini-SAS SFF-8087 Connector

Virtual Ethernet Bridging

Virtualization Performance Analysis November 2010 Effect of SR-IOV Support in Red Hat KVM on Network Performance in Virtualized Environments

Install Guide for JunosV Wireless LAN Controller

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Understanding PCI Bus, PCI-Express and In finiband Architecture

Virtualizare sub Linux: avantaje si pericole. Dragos Manac

COS 318: Operating Systems. Virtual Machine Monitors

PCI-to-SATA RAID Adapter AEC-6890M. User s Manual Version:1.0

Configuration Maximums VMware Infrastructure 3

Intel Server Board S5000PALR Intel Server System SR1500ALR

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

I/O Virtualization The Next Virtualization Frontier

RUNNING vtvax FOR WINDOWS

How to Configure Intel Ethernet Converged Network Adapter-Enabled Virtual Functions on VMware* ESXi* 5.1

Virtual Switching Without a Hypervisor for a More Secure Cloud

Intel Server Board S3420GPV

4 Port PCI Express 2.0 SATA III 6Gbps RAID Controller Card with HyperDuo SSD Tiering

PCI IDE Controller. Specification. Revision 1.0

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

2 Port PCI Express 2.0 SATA III 6Gbps RAID Controller Card w/ 2 msata Slots and HyperDuo SSD Tiering

WHITE PAPER Optimizing I/O Virtualization: Preparing the Datacenter for Next-Generation Applications

Advanced Computer Networks. Network I/O Virtualization

Submission Type: Reason for test run Check one. Initial Microsoft Designed for Windows logo submission. New product submission.

VMware Server 2.0 Essentials. Virtualization Deployment and Management

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

Running vtserver in a Virtual Machine Environment. Technical Note by AVTware

Virtualization Technology

Managing Multi-Hypervisor Environments with vcenter Server

Broadcom Ethernet Network Controller Enhanced Virtualization Functionality

Virtual networking technologies at the server-network edge

Windows Azure Security

IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version Fix Pack 2.

Cloud Computing for a Smarter Planet Virtualization

Microsoft SQL Server 2012 on Cisco UCS with iscsi-based Storage Access in VMware ESX Virtualization Environment: Performance Study

A Comparison of VMware and {Virtual Server}

3 Port PCI Express 2.0 SATA III 6 Gbps RAID Controller Card w/ msata Slot and HyperDuo SSD Tiering

Hyper-V vs ESX at the datacenter

Installing and Configuring SAS Hardware RAID on HP Workstations

Date: March Reference No. RTS-CB 018

VMWARE Introduction ESX Server Architecture and the design of Virtual Machines

I. Hardware Configuration

Cisco Unified Computing Remote Management Services

NVM Express TM Infrastructure - Exploring Data Center PCIe Topologies

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

Mark Bennett. Search and the Virtual Machine

Building a Penetration Testing Virtual Computer Laboratory

PCI-SIG ENGINEERING CHANGE NOTICE

Virtualization. Explain how today s virtualization movement is actually a reinvention

Deployment Guide. How to prepare your environment for an OnApp Cloud deployment.

Phoenix SecureCore TM Setup Utility

PCI SATA Controller Card Model: SY-PCI40010

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

Unifying Information Security

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

White Paper. Recording Server Virtualization

Solid State Storage in Massive Data Environments Erik Eyberg

Preparation Guide. How to prepare your environment for an OnApp Cloud v3.0 (beta) deployment.

Virtualization. Michael Tsai 2015/06/08

Balancing CPU, Storage

Analysis on Virtualization Technologies in Cloud

Migrating Control System Servers to Virtual Machines

Configuration Maximums VMware vsphere 4.0

Merge Healthcare Virtualization

Full and Para Virtualization

Virtualization of Wireless LAN Infrastructures

The BENEFITS of a Storage Bridge Bay Solution

Intel Ethernet Switch Load Balancing System Design Using Advanced Features in Intel Ethernet Switch Family

Desktop Consolidation. Stéphane Verdy, CTO Devon IT

BHyVe. BSD Hypervisor. Neel Natu Peter Grehan

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

Industrial Multi-port Serial Cards

Hitachi Virtage Embedded Virtualization Hitachi BladeSymphony 10U

SPICE and desktop virtualization

How To Test Nvm Express On A Microsoft I7-3770S (I7) And I7 (I5) Ios 2 (I3) (I2) (Sas) (X86) (Amd)

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization and the U2 Databases

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

NVMe TM and PCIe SSDs NVMe TM Management Interface

Transcription:

I/O Virtualization Explained Richard Solomon LSI Corporation

Agenda I/O Virtualization (IOV) Overview Single Root (SR-IOV) Multi-Root (MR-IOV) Secret Three Letter Acronym (TLA) Decoder Ring Programming IOV s Mapping Memory Mapping Programming Registers 2

I/O Virtualization 3

IOV Overview Makes one device look like multiple devices System Image #1 SAS Controller System Image #2 System Image #3 Generally motivated by cost SAS Controller SAS Controller SAS Controller Seek performance within the cost envelope Disk Disk Disk Disk Disk Disk Disk Disk 4

IOV Overview From an adapter point of view: One physical device looks like multiple devices Virtual devices appear completely independent May occupy different PCI memory ranges May have different settings for various PCI registers Need to keep cross- device traffic isolated Each virtual device *may* be a multi-function device 5

IOV Overview From a system point of view: System Image is a real or virtual system of CPU(s), Memory, O/S, I/O, etc Multiples may run on one or more sets of hardware E.g. VMWare running Win32 & Linux on a single CPU E.g. Blade server running multi-os each on a single blade Each System Image (SI) needs to see it s own PCI hierarchy Even if NO end devices are actually shared Only its portion of shared end devices 6

IOV Overview Multi-Root Single Root Base & ATS Concentric Circles model Attachment of existing PCIe Base components Root Complexes, Switches, s, and Bridges A solution to use a combination of existing base and IOV-aware components: Single Root capabilities are a superset of the PCIe Base specification Multi-Root capabilities are superset of the Single Root capabilities IOV-capable components are backwards-compatible with existing software Although some or all of the new IOV capabilities may not be supported in these circumstances 7

Single Root IOV (SR-IOV) Fits into existing PCI hierarchies today Single and Multi-CPU boxes with traditional single point of attachment to PCI Same address space partitioned and allocated above the Root Complex Switch CPU #1 CPU #2 CPU #3 CPU #n Chipset Root Complex Port(s) Switch Switch 8

Single Root IOV (SR-IOV) Existing or absolutely minimally changed Root Complex (i.e. chipset) and Switch silicon New silicon Presumes existence of a Virtualization Intermediary (VI) aka a Hypervisor Direct result of don t change the chipset! philosophy Opens market to lots of existing or simplyderived systems E.g. might need new BIOS or chipset revision Shifts substantial burden to software 9

Multi-Root IOV (MR-IOV) Most obvious example is a blade server with a PCIe backplane New PCIe hierarchy construct - (mini) fabric Logically partitions the hierarchy into multiple Virtual Hierarchies (VHs) all sharing the same physical hierarchy Targets small systems (16-32 Root Ports likely max) Workgroup saying Our yardstick is a yardstick i.e. the typical implementation is a system occupying not more than about 3 feet cubed Architected to allow larger, but not optimized that way 10

MR-IOV Hierarchy CPU #1 CPU #2 CPU #3 CPU #n CPU #1 CPU #2 CPU #3 CPU #n CPU #1 CPU #2 CPU #3 CPU #n Chipset Root Complex Port(s) Chipset Root Complex Port(s) Chipset Root Complex Port(s) Enhanced Switch Switch Switch 11

Multi-Root IOV (MR-IOV) Existing or absolutely minimally changed Root Complex (i.e. chipset) silicon New Switch silicon Allows for use of existing or minimally changed switches in a reduced capacity in certain places New silicon Management model 12

Secret Three Letter Acronym (TLA) Decoder Ring 13

Decoder Ring Function The PCIe-addressed portion of a device devoted to one distinct chunk of that device s operation E.g. one SAS port, or the ethernet side of a combination ethernet/sas device Virtual Function (VF) A lightweight implementation of one view of a single device Function which is being virtualized to appear as multiple 14

Decoder Ring (cont d) Physical Function (PF) Contains the SR-IOV control structure Used to manage a set of associated Virtual Functions Base Function (BF) [MR-IOV *ONLY*] Contains the MR-IOV control structure Used to manage Virtual Hierarchies and Physical Functions Is *NOT* usable for real work of the device 15

Programming IOV s 16

Mapping 17

Mapping Determine desired number of Virtual Functions from InitialVFs field Program NumVFs field to match Multi-Root adds a further layer where configuration software first allocates VFs to Virtual Hierarchies thus InitialVFs may be less than TotalVFs 18

Mapping Bus Number / Number / Function Number (BDF) field now known as RoutingID (RID) RIDs of VFs found from SR-IOV configuration Example Simple Single-Function on Bus Number nn VF0,4 RID=nn04 VF0,3 RID=nn03 VF0,2 RID=nn02 Virtual Functions VF0,1 RID=nn01 PF0 RID=nn00 Physical Function 19

Mapping More complex offset/stride combinations are possible, particularly with multi-function devices E.g. PF0 and PF1 both set to: Offset=8 Stride=2 VF0,2 RID=nn0A VF0,1 RID=nn08 PF0 RID=nn00 Example Complex Multi-Function on Bus Number nn VF1,4 RID=nn0F VF1,3 RID=nn0D VF1,2 RID=nn0B VF1,1 RID=nn09 PF1 RID=nn01 Virtual Functions Physical Functions 20

Mapping - Multi-Root VF 1:0,n VF 2:0,n VF m:0,n PF 0:1 VF 1:0,2 VF 1:0,1 VF 2:0,2 VF 2:0,1 VF m:0,2 VF m:0,1 BF 0:0 PF 1:0 PF 2:0 PF m:0 VH0 VH1 VH2 VHm 21

Memory Mapping 22

Memory Mapping Virtual Function memory mapped somewhat differently than Physical Function All VFs share single set of Base Address Registers PF: VF: (PCI) (SR-IOV) 23

Memory Mapping Simple Example Single-Function with Memory Requirement VF0,4 VF0,3 VF0,2 VF0,1 PF0 Memory 24

Memory Mapping Single-Function with Memory Requirement on System w/4mb Pages VF0,4 VF0,3 VF0,2 VF0,1 PF0 Memory 3MB 3MB 3MB 3MB 25

Programming Registers 26

PF Generally owned by Hypervisor Normal PCIe config registers programmed by BIOS and Hypervisor s base OS SR-IOV config registers programmed by Hypervisor Key fields written: VF Enable NumVFs VF BARn 27

VF Virtual Functions implement lightweight version of standard PCIe configuration space Goal was to minimize hardware cost of VFs Various register fields are either: Base operate as normal Reserved have no meaning in SR-IOV Hardwired have meaning as normal but aren t changeable SR-IOV 1.1 spec calls out specific bit-by-bit definitions in Sections 3.4 through 3.7 28

VF Each Virtual Function is owned by a guest OS Hypervisor responsible for emulating / faking any undefined behavior E.g. VF BARs guest obviously cannot control true memory address of its VF, but believes it needs to do so E.g. PCIe Link Control registers guest cannot be allowed to bring the Link down for instance! 29

VF VendorID / ID / Subsystem IDs Work as expected ID may vary from PF PCI Command Register I/O & Mem Enables hard-coded to 0 All VFs share single Memory Enable (MSE) bit in the VF capability structure (in the PF s config space) Bus Master Enable works on the VF as expected PCI Base Address Registers Read-only 0 in VFs VFs memory mapped via mechanism previously discussed using VF BARs in the VF capability structure 30

Resets Hypervisor must block true PCIe bus reset from guest Oses Function Level Reset (FLR) used to reset single VF FLR to PF will reset ALL VFs just like a bus reset 31

-Specific Registers Vendor and device-specific Normal memory-mapped registers generally appear in VFs nearly identically to the PF Goal of SR-IOV is guest OS ignorance of IOV Existing device drivers should run as expected in guest 32

Sources of More Information 33

Where to find more information Source for all things : http://www.pcisig.com (Company must be a member to access most content) Single Root and Multi-Root IOV Specs: http://www.pcisig.com/members/downloads/specifications/iov/sr-iov1_1_20jan10.pdf http://www.pcisig.com/members/downloads/specifications/iov/mr-iov1.0_12may08.pdf Other IOV and PCIe Training Materials: http://www.pcisig.com/events/devcon_10/agenda/ 34