スライド 1

Similar documents
スライド 1

Microsoft PowerPoint - IO_Pass-through_XenSummitTokyo2008_jp.ppt

Microsoft PowerPoint - Vyatta-UsersGroup-Hiroshima pptx

BitVisor Updates in 2016


目次 背景 IEEE802.3azとは Linuxカーネルの対応状況 測定方法 測定結果 まとめ 1

PowerPoint プレゼンテーション

matrox0

ポート拡張オプション(10GBASE-T×2)

tutorial_lc.dvi

コスト効率の高い業界標準サーバーへのERPの導入

IO Linux Vyatta PC

目次 1 はじめに 登録商標 商標 注意事項 免債事項 SR-IOV の機能概要 性能検証事例 測定環境 測定結果 各方式による共有 NIC 性能比較 ( ポートあ

160311_icm2015-muramatsu-v2.pptx

Microsoft Word - PCI-X_PCIeバスのデータ転送-ver1.0.docx

Dual port LANカード(25GBASE) 取扱説明書

セキュアVMの アーキテクチャ概要

12 PowerEdge PowerEdge Xeon E PowerEdge 11 PowerEdge DIMM Xeon E PowerEdge DIMM DIMM 756GB 12 PowerEdge Xeon E5-

[公開OK][空閑さん資料]kuga-ovs-fpga.pptx

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Quad port LANカード(10GBASE-T) 取扱説明書

LANカード(10GBASE)

ovp_whitepaper-1

IPSJ SIG Technical Report Vol.2012-ARC-202 No.13 Vol.2012-HPC-137 No /12/13 Tightly Coupled Accelerators 1,a) 1,b) 1,c) 1,d) GPU HA-PACS

Quad port LANカード(10GBASE) 取扱説明書

BESR2010 検証済みドライバ一覧

JAJP.indd

ご使用上の注意

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

Dual port LANカード(10GBASE-T)

橡3_2石川.PDF

HP ProLiant 500シリーズ

PF1000_intro5

71-78.indd

Cumulus Linux MLAG と vsphere vds の LACP 接続検証

RUF2-HSC8GWおよびRUF2-HSC-MGRとPRIMERGY TX150 S5/TX200 S3/ECONEL100/TX120/BX620 S4/RX600 S3/RX300 S3/RX200 S3との接続検証結果報告書

HP ProLiant Gen8サーバー上でのLinuxによるNICの列挙

テクニカルガイド

富士通PRIMERGYサーバ/ETERNUSストレージとXsigo VP560/VP780の接続検証

02_Matrox Frame Grabbers_1612

PRIMERGY RX600 S6 ご使用上の留意・注意事項

Cisco HyperFlex セットアップ概要

テクニカルガイド

1 概要

BMC Configuration ユーザーズガイド

(Microsoft PowerPoint - E6x5C SDXC Demo Seminar [\214\335\212\267\203\202\201[\203h])

brocade_session.pptx

Software-Defined Tester(SDT) を用いた高精度遅延測定による SDN/NFV 品質向上 富士通アドバンストテクノロジ株式会社システム技術統括部大久保克彦 0 Copyright 2017 FUJITSU AD

CANON_IT_catalog_1612

MU120138A 10ギガビットイーサネットモジュール 製品紹介

Ver. 3.8 Ver NOTE E v3 2.4GHz, 20M cache, 8.00GT/s QPI,, HT, 8C/16T 85W E v3 1.6GHz, 15M cache, 6.40GT/s QPI,,

スライド 1

Lagopus SDN/OpenFlow switch: yet another SDN/OF switch agent and high-performance software switch

PowerPoint Presentation

SerialATA ATA Embedded Clocking 8B10B coding 2 pair Hot Plug ATA ATA (150MB/s ) 10 roadmap 2004/2/17 SATA Overview Page 2

CTA 82: CTA A A B B A B A, C A A A D A B Max-Planck-Inst. fuer Phys. C D

ProLiant BL460c システム構成図

(Microsoft PowerPoint - Mirapoint\220\273\225i\221\316\224\344\225\\\(6\203V\203\212\201[\203Y_7\203V\203\212\201[\203Y\).ppt)

Nios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」

[技術資料] PRIMERGY サーバブレードのLAN 冗長化

BMC Configuration ユーザーズガイド

PowerPoint プレゼンテーション

Po w eredge M000e Index? & 00% 5 32CPU 256 0U PowerEdge M000e PowerEdge M000eI/O 6

今週の進捗

A Responsive Processor for Parallel/Distributed Real-time Processing

コア・スイッチAT-SBx908シリーズとデータセンタースイッチAT-DC2552XSシリーズで実現する10Gデータセンターネットワーク

Windows Server 2012 におけるネットワークインフラストラクチャアップデート MVP : 阿部直樹

Ver. 3.8 Ver NOTE E v3 2.4GHz, 20M cache, 8.00GT/s QPI,, HT, 8C/16T 85W E v3 1.6GHz, 15M cache, 6.40GT/s QPI,,

ご使用上の留意・注意事項

untitled

ServerView Resource Orchestrator V3.0 Cloud Edition サポート機種情報

PCI PCI 5V/32bit 3.3V/32bit 5V/64bit 3.3V/64bit PCI I/O HBA 3.3V 5V I/O 3 3V 5V PCI v2 1 5V 3.3V PCI v V 5V PCI v v 5V

Express5800 シリーズ Windows Server 2019 NIC チーミング (LBFO) 設定手順書 Microsoft Windows Windows Server は 米国 Microsoft Corporation の米国およびその他の国における登録商標です その他 記載され

Express5800/140Ma

スライド 1

Ver. 3.8 Ver NOTE E v3 2.4GHz, 20M cache, 8.00GT/s QPI,, HT, 8C/16T 85W E v3 1.6GHz, 15M cache, 6.40GT/s QPI,

OpenStack運用実践によるエンタープライズ適用に向けた課題と今後について~ベアメタルサービスの現状とDesign Summitでの討議状況~

SD-PE4SA3ES4L_M12

Perle社 ターミナルサーバIOLAN STS8と富士通PCサーバ PRIMERGY RX2520 M1 の接続検証結果報告書(Red Hat Enterprise Linux 6.6(for Intel64)版)

PRIMERGY TX100 S3 未サポートOS動作検証確認情報

コンバージド・ネットワーク・アダプタ

_JANOG44_LINE_tsuchiya

00-COVER.P65

対象製品と後継機種の比較表 1. Qseven: SOM-3565 vs. SOM-3567/-3568 SOM-3565 SOM-3567 SOM-3568 Compliance Qseven v1.2 Qseven 2.1 Qseven 2.1 CPU Intel Atom N2600 Inte

Ver. 3.7 Ver E v3 2.4GHz, 20M cache, 8.00GT/s QPI,, HT, 8C/16T 85W E v3 1.6GHz, 15M cache, 6.40GT/s QPI,, HT,

NEC Express5800 シリーズ N /158 Fibre Channel コントローラ ドライバインストール手順書 A

1 / 1 idrac8 CPU 1 Intel Xeon E v5 Intel Pentium Intel Core i3 Intel Celeron Intel C236 Microsoft Windows Server 2008 R2 SP1 Microsoft Windows S

CS-3116

PRIMERGY TX100 S3 未サポートOS動作検証確認情報

PowerEdge R730xd Contents RAID /RAID & P3-6 PCIe P P P P OS P P P P7 P8 P9 P10-11 P12-17 P P112

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

Server Configuration Utility ユーザーズガイド

Ver Ver NOTE E v3 2.4GHz, 20M cache, 8.00GT/s QPI,, HT, 8C/16T 85W E v3 1.6GHz, 15M cache, 6.40GT/s QPI

1 概要

1重谷.PDF

JIIAセミナー

2016 IT? Microsoft Azure (SDDC) Window

PRIMERGY TX1310 M1 未サポートOS動作検証確認情報

コミュニケーションユーティリティー編

Transcription:

パケット転送を支える技術 海老澤健太郎 @ パラレルス株式会社 Twitter: @ebiken Internet Week 2011

サーバーの物理構造 DIMM MEM CPU0 CPU1 DIMM MEM QPI IOH (Chipset) PCI Express (PCIe) PCIe PCIe device device (NIC) (NIC) Internet Week 2011 2

パケットの流れ DIMM MEM CPU0 CPU1 DIMM MEM IOH (Chipset) INPUT PCIe PCIe device device (NIC) (NIC) OUTPUT Internet Week 2011 3

仮想化 & パケット転送技術マップ DIMM MEM CPU0 CPU1 VT-x IOH (Chipset) PCIe PCIe device device (NIC) (NIC) MSI MSI-X (IRQ) SR-IOV VT-d PCI Express Internet Week 2011 4

PCI Express - PCIe DIMM MEM CPU0 CPU1 VT-x IOH (Chipset) PCIe PCIe device device (NIC) (NIC) MSI MSI-X (IRQ) SR-IOV VT-d PCI Express Internet Week 2011 5

PCI Express - PCIe とは? パケットベース のプロトコル CRC やデータコーディングによるエラー検出 8b10b エンコーディングオーバーヘッドに考慮 (20%) point-to-point 接続のシリアル通信 リンク ( バス ) をスイッチで繋ぐツリー構造 ポート速度を処理するのに十分なバス幅を確保 Internet Week 2011 6

パケット構造 フレーミングキャラクタ シーケンス番号 ヘッダ データ ECRC (option) LCRC フレーミングキャラクタ 1 Byte 2 Bytes 3-4 DW 0-1024 DW 1 DW 1 DW 1 Byte トランザクション層 データリンク層 ソフトウェア層 物理層 ソフトウェア層 トランザクション層 データリンク層 物理層 TLP (data + signaling) DLLP (signaling) PLP (signaling) トランザクション層 データリンク層 物理層 メカニカル層 メカニカル層 Internet Week 2011 7

PCIe の帯域 伝送速度 実効速度 (8b10b 考慮 ) PCIe 1.1 x 4 10Gbps x 2 8Gbps x 2 PCIe 1.1 x 8 20Gbps x 2 16Gbps x 2 PCIe 2.0 x 4 20Gbps x 2 16Gbps x 2 PCIe 2.0 x 8 40Gbps x 2 32Gbps x 2 10Gbps x 2 port x Full Duplex には PCIe 2.0 x 8 Lane 必要 Internet Week 2011 8

PCIe デバイスを Linux から見てみる [ebiken@iwpf01 ~]$ lspci snip 01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II 01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II 03:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigab 03:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigab BUS:Device.Function で認識 [ebiken@iwpf01 ~]$ lspci snip 01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20) 01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20) 03:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01) 03:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01) Internet Week 2011 9

PCIe Topology 物理配線 Root Complex VP2P BUS#0 dev#1 dev#2 dev#3 VP2P Host/PCI Bridge VP2P dev#4 dev#5 PF0 PF1 VP2P BUS#1 BUS#2 BUS#3 BUS#4 dev#0 dev#0 VP2P dev#0 PF0 PF1 PF0 Point to Point, パケットベースでの転送 バス番号によりスイッチング デバイス番号により宛先特定 BUS#5 dev#1 BUS#6 VP2P VP2P BUS#7 dev#2 Internet Week 2011 10

PCIe Topology - BUS:Device:Function Root Complex VP2P BUS#0 dev#1 dev#2 dev#3 VP2P Host/PCI Bridge VP2P dev#4 dev#5 PF0 PF1 VP2P BUS#1 BUS#2 BUS#3 BUS#4 dev#0 dev#0 VP2P dev#0 PF0 PF1 PF0 バス番号によりスイッチング VP2P が背後にあるバス番号範囲を記憶 BUS#5 dev#1 BUS#6 VP2P VP2P BUS#7 dev#2 Internet Week 2011 11

PCIe Topology - BUS:Device:Function Root Complex VP2P BUS#0 dev#1 dev#2 dev#3 VP2P Host/PCI Bridge VP2P dev#4 dev#5 PF0 PF1 VP2P BUS#1 BUS#2 BUS#3 BUS#4 dev#0 dev#0 VP2P dev#0 PF0 PF1 PF0 デバイス番号はバス毎に固有 バス拡張の VP2P もデバイスとして認識 デバイス番号により宛先特定 BUS#5 dev#1 BUS#6 VP2P VP2P BUS#7 dev#2 Internet Week 2011 12

PCIe Topology - BUS:Device:Function Root Complex VP2P BUS#0 dev#1 dev#2 dev#3 VP2P Host/PCI Bridge VP2P dev#4 dev#5 PF0 PF1 VP2P BUS#1 BUS#2 BUS#3 BUS#4 dev#0 dev#0 VP2P dev#0 PF0 PF1 PF0 ファンクション (Physical Function) PCI デバイスとしての機能単位 NIC の場合 各ポートが 1 Function Sound+Video カードならそれぞれが Function BUS#5 dev#1 BUS#6 VP2P VP2P BUS#7 dev#2 Internet Week 2011 13

PCIe トポロジーを OS から見てみる [ebiken@iwpf01 ~]$ lspci -tv... snip... -[0000:00]-+-00.0 Intel Corporation 5500 I/O +-01.0-[01]--+-00.0 Broadcom Corp -00.1 Broadcom Corp +-03.0-[02]-- +-07.0-[03]--+-00.0 Intel Corpora -00.1 Intel Corpora [ebiken@iwpf01 ~]$ lspci -tv... snip... -[0000:00]-+-00.0 Intel Corporation 5500 I/O Hub to ESI Port +-01.0-[01]--+-00.0 Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet -00.1 Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet +-03.0-[02]-- +-07.0-[03]--+-00.0 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection -00.1 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection +-14.0 Intel Corporation 5520/5500/X58 I/O Hub System Management Registers +-14.1 Intel Corporation 5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers Internet Week 2011 14

PCIe トポロジーを OS から見てみる [ebiken@iwpf01 ~]$ lspci -tv... snip... -[0000:00]-+-00.0 Intel Corporation 5500 I/O +-01.0-[01]--+-00.0 Broadcom Corp -00.1 Broadcom Corp +-03.0-[02]-- +-07.0-[03]--+-00.0 Intel Corpora -00.1 Intel Corpora バス番号 : デバイス番号 : ファンクション番号 ファンクション 2 = 2 ポート Internet Week 2011 15

デバイスの機能を確認 [ebiken@iwpf01 ~]$ lspci -v -s 03:00.0 03:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01) Subsystem: Intel Corporation Ethernet Server Adapter X520-2 Flags: bus master, fast devsel, latency 0, IRQ 38 Memory at d9900000 (64-bit, prefetchable) [size=512k] I/O ports at fcc0 [size=32] Memory at d98f8000 (64-bit, prefetchable) [size=16k] Capabilities: <access denied> Kernel driver in use: ixgbe Kernel modules: ixgbe root 権限必要 Internet Week 2011 16

[ebiken@iwpf01 ~]$ sudo lspci -v -s 03:00.0 03:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01) Subsystem: Intel Corporation Ethernet Server Adapter X520-2 Flags: bus master, fast devsel, latency 0, IRQ 38 Memory at d9900000 (64-bit, prefetchable) [size=512k] I/O ports at fcc0 [size=32] Memory at d98f8000 (64-bit, prefetchable) [size=16k] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+ Capabilities: [70] MSI-X: Enable+ Count=64 Masked- Capabilities: [a0] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [140] Device Serial Number 00-1b-21-ff-ff-74-5a-f8 Capabilities: [150] Alternative Routing-ID Interpretation (ARI) Capabilities: [160] Single Root I/O Virtualization (SR-IOV) Kernel driver in use: ixgbe Kernel modules: ixgbe Internet Week 2011 17

割込み :MSI / MSI-X DIMM MEM CPU0 CPU1 VT-x IOH (Chipset) PCIe PCIe device device (NIC) (NIC) MSI MSI-X (IRQ) SR-IOV VT-d PCI Express Internet Week 2011 18

割込み :Pin Based Interrupt(Legacy) 割込み線 =1 ファンクション 1 本 Port で送受信した割り込みは同じ CPU(Core) に割り込み Core0 Core2 Core1 Core3 1 電気的に割込み発生 2 CPU に割込み dev#0 PF0 PF1 割込みコントローラー IO-APIC Internet Week 2011 19

割込み :MSI / MSI-X MSI = Message Signaled Interrupt Queue 毎に割込む CPU(Core) を変更可能 MSI =32 個 MSI-X = 2048 個 Core0 Core2 Core1 Core3 Queue 0 Queue 1 Queue 2 PF0 1 MSI-X 割込み (*) Root Complex 2 CPU に割込み Queue N (*) 通常の PCIe Mem Write Request Internet Week 2011 20

割込み : IRQ, MSI/MSI-X [ebiken@iwpf01 ~]$ cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7... snip... 83: 153048 0 0 0 0 0 0 0 PCI-MSI-edge p1p1-txrx-0 84: 158095 34 0 0 0 0 0 0 PCI-MSI-edge p1p1-txrx-1 85: 88240 0 34 0 0 0 0 0 PCI-MSI-edge p1p1-txrx-2 86: 156169 0 0 44 0 0 0 0 PCI-MSI-edge p1p1-txrx-3 87: 155602 0 0 0 34 0 0 0 PCI-MSI-edge p1p1-txrx-4 88: 168235 0 0 0 0 34 0 0 PCI-MSI-edge p1p1-txrx-5 89: 195289 0 0 0 0 0 34 0 PCI-MSI-edge p1p1-txrx-6 90: 163879 0 0 0 0 0 0 34 PCI-MSI-edge p1p1-txrx-7 91: 4 0 0 0 0 0 0 0 PCI-MSI-edge p1p1:lsc 92: 171226 0 0 0 0 0 0 0 PCI-MSI-edge p1p2-txrx-0 93: 196258 34 0 0 0 0 0 0 PCI-MSI-edge p1p2-txrx-1 94: 175363 0 34 0 0 0 0 0 PCI-MSI-edge p1p2-txrx-2 95: 24 878678 0 44 0 0 0 0 PCI-MSI-edge p1p2-txrx-3 96: 172140 0 0 0 34 0 0 0 PCI-MSI-edge p1p2-txrx-4 97: 152054 0 0 0 0 34 0 0 PCI-MSI-edge p1p2-txrx-5 98: 163481 0 0 0 0 0 34 0 PCI-MSI-edge p1p2-txrx-6 99: 88243 0 0 0 0 0 0 34 PCI-MSI-edge p1p2-txrx-7 100: 4 0 0 0 0 0 0 0 PCI-MSI-edge p1p2:lsc Internet Week 2011 21

Virtualization Technology for directed I/O DIMM MEM CPU0 CPU1 VT-x IOH (Chipset) PCIe PCIe device device (NIC) (NIC) MSI MSI-X (IRQ) SR-IOV VT-d PCI Express Internet Week 2011 22

DMA : Direct Memory Access CPU を介さずパケットをコピー OS Driver メモリ 物理アドレス (0x2000) Buffer 物理アドレス (0x2000) 1 0x2000 へコピー指示 2 物理アドレス 0x2000 へコピー NIC (PCIe device) Buffer (Queue) パケット受信 Internet Week 2011 23

仮想環境 (VM) の場合 VM Driver 物理メモリ VM 物理メモリ VM 物理アドレス (0x1000) Buffer 1 0x1000へコピー指示 VMM (Hyper Visor) VM 物理アドレス (0x1000) 物理アドレス (0x2000) 物理アドレス (0x1000) 2 物理アドレス 0x1000 へコピー?? NIC (PCIe device) Buffer (Queue) パケット受信 Internet Week 2011 24

仮想環境 (VM)+ VT-d サポート VM Driver 物理メモリ VM 物理メモリ VM 物理アドレス (0x1000) Buffer 1 0x1000へコピー指示 VM 物理アドレス (0x1000) 物理アドレス (0x2000) 3 物理アドレス 0x2000 へコピー VMM (Hyper Visor) NIC (PCIe device) DMA Remapping (VT-d) Buffer (Queue) 2 Lookup アドレス変換テーブル VM1 0x1000 物理 0x2000 VM2 0x1000 物理 0x4000 Internet Week 2011 25

VT-d による I/O デバイス割り当て 物理デバイス (NIC) を VM に割り当て VM から直接見える ( 割込みのみ VMM 経由 ) パケットを DMA 転送 オーバーヘッド = 極小 Guest OS (VM) Physical driver Guest OS (VM) Guest driver 1 ポート ( ) に 1VM のみ ( ) 1 PCIe Function VMM (Host OS) DMA Remapping Hardware (VT-d) Emulated device Physical driver Physical device Physical device Internet Week 2011 26

SR-IOV : Single Root - IO Virtualization DIMM MEM CPU0 CPU1 VT-x IOH (Chipset) PCIe PCIe device device (NIC) (NIC) MSI MSI-X (IRQ) SR-IOV VT-d PCI Express Internet Week 2011 27

SR-IOV & Virtual Function SR-IOV = Single Root - IO Virtualization PCIe Device (NIC) 機能 Virtual Function = Physical Function のサブセット 設定は Physical Function 経由 データ送受信は Virtual Function <-> Driver 直接 Internet Week 2011 28

I/O デバイス割り当て + 共有 (SR-IOV) 物理デバイス (NIC) を VMに割り当て+ 共有オーバーヘッド= 極小 複数 VM での物理ポート共有 Guest OS (VM) VF driver Guest OS (VM) VF driver VM からは VF=NIC(Port) に見える PF driver DMA Remapping Hardware (VT-d) Hypervisor (VMM) PF VF VF VF SR-IOV Physical device Hardware Platform * PF = Physical Function * VF = Virtual Function (PCIe subset) Internet Week 2011 29

SR-IOV パケットフロー SR-IOV 無し :VMM がパケット振り分け SR-IOV 有り :NIC がパケット振り分け VMM はパス スルー VM VM VM VM VM VM vnic vnic vnic vnic vnic vnic Rx0 Rx0 Tx0 Rx1 Tx1 Tx1 RxN TxN Hypervisor (VMM) Software Switch MAC / PHY DMA 転送 NIC Rx0 Rx0 VF0 VF1 VFn Tx0 Rx1 Tx1 Tx1 Layer 2 Classifier / Sorter MAC / PHY RxN TxN Rx1 Rx0 RxN Rx0 Tx0 Tx1 Tx1 TxN MAC アドレス VLAN を元に振り分け Rx1 Rx0 RxN Rx0 Tx0 Tx1 Tx1 TxN Internet Week 2011 30

SR-IOV : lspci -tv @ VMM (Host) [ebiken@iwpf01 ~]$ lspci -tv -[0000:00]-+-00.0 Intel Corporation 5500 I/O Hub to ESI Port +-01.0-[01]--+-00.0 Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet -00.1 Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet +-03.0-[02]-- +-07.0-[03]--+-00.0 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection -00.1 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection +-14.0 Intel Corporation 5520/5500/X58 I/O Hub System Management Registers [ebiken@iwpf01 ~]$ sudo modprobe -r ixgbe [ebiken@iwpf01 ~]$ sudo modprobe ixgbe max_vfs=2,2 SR-IOV 設定 [ebiken@iwpf01 ~]$ lspci -tv -[0000:00]-+-00.0 Intel Corporation 5500 I/O Hub to ESI Port +-01.0-[01]--+-00.0 Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet -00.1 Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet +-03.0-[02]-- +-07.0-[03]--+-00.0 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection +-00.1 Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection +-10.0 Intel Corporation 82599 Ethernet Controller Virtual Function +-10.1 Intel Corporation 82599 Ethernet Controller Virtual Function +-10.2 Intel Corporation 82599 Ethernet Controller Virtual Function -10.3 Intel Corporation 82599 Ethernet Controller Virtual Function BUS [03] に Device 10 (Virtual Function) 生成 Internet Week 2011 31

SR-IOV : lspci -tv @ VM (Guest) BUS [00] : device 06. function 0 Intel Corporation 82559 Ethernet Controller Virtual Function Virtual Function が直接見えている Internet Week 2011 32

VF Capabilities @ VMM (Host) [ebiken@iwpf01 ~]$ sudo lspci -v -s 3:10.0 03:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function (rev 01) Subsystem: Intel Corporation Device 0003 Flags: bus master, fast devsel, latency 0 [virtual] Memory at c0000000 (64-bit, non-prefetchable) [size=16k] [virtual] Memory at c0100000 (64-bit, non-prefetchable) [size=16k] Capabilities: [70] MSI-X: Enable+ Count=3 Masked- Capabilities: [a0] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [150] Alternative Routing-ID Interpretation (ARI) Kernel driver in use: ixgbevf Kernel modules: ixgbevf driver, modules は ixgbevf (not ixgbe) PF 依存情報は [virtual] Capabilities に SR-IOV 無し Internet Week 2011 33

VF Capabilities @ VM(Guest) PCI Physical Function として見えている ( [virtual] 無し ) VM 側でも ixgbevf 使用 Capabilities に PF 機能無し [100] Advanced Error Reporting [150] Alternative Routing-ID Interpretation (ARI) Internet Week 2011 34

/proc/interrupts @ VMM (Host) PF の割込み [ebiken@iwpf01 ~]$ cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7... snip... 84: 0 0 0 0 0 0 0 0 PCI-MSI-edge p1p1-txrx-0 85: 0 0 0 0 0 0 0 0 PCI-MSI-edge p1p1 86: 0 0 0 0 0 0 0 0 PCI-MSI-edge p1p2-txrx-0 87: 0 0 0 0 0 0 0 0 PCI-MSI-edge p1p2 88: 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm:0000:03:10.0 89: 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm:0000:03:10.0 90: 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm:0000:03:10.0 94: 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm:0000:03:10.1 95: 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm:0000:03:10.1 96: 0 0 0 0 0 0 0 0 PCI-MSI-edge kvm:0000:03:10.1 VF 割込み Internet Week 2011 35

/proc/interrupts @ VM(Guest) eth0, eth1 として認識 eth0:mbx, eth1:mbx = PF/VF 間通信に使用 Internet Week 2011 36

VT-x, VT-d, SR-IOV サポート確認方法 Internet Week 2011 37

Intel CPU VT-x, VT-d サポート確認方法 http://ark.intel.com/ 1) Click!! 2) Click!! Internet Week 2011 38

Intel CPU VT-x, VT-d サポート確認方法 VT-x VT-d Click!! Internet Week 2011 39

Intel CPU VT-x, VT-d サポート確認方法 http://ark.intel.com/search/advanced/?s=t&vtx=true&vtd=true Internet Week 2011 40

SR-IOV サポートする Intel NIC 一覧 http://www.intel.com/support/network/adapter/pro100/sb/cs-031492.htm Internet Week 2011 41

Intel NIC VT-d, SR-IOV サポート確認方法 http://www.intel.com/products/ethernet/resource.htm Controller の型番からデータシートや参考資料が入手可能 Internet Week 2011 42

参考文献 Books PCI Express 設計の基礎と応用 (CQ 出版社 ) ISBN 978-4-7898-4641-7 PCI Express System Architecture (MINDSHARE) ISBN 978-0-321-15630-3 Linux デバイスドライバプログラミング ( ソフトバンククリエイティブ株式会社 ) ISBN 978-4-7973-4642-8 Understanding The Linux Kernel (O REILLY) ISBN 978-0-596-00565-8 PCI-SIG PCI Express Base Specification, Revision 2.1, March 4, 2009 Single Root I/O Virtualization and Sharing Specification, Revision 1.0, September 11, 2007 Intel Intel Virtualization Technology for Directed I/O, Architecture Specification, Revision: 1.3 Intel 82599 10 GbE Controller Datasheet, Revision Number: 2.7 Intel 82599 SR-IOV Driver Companion Guide, Revision 1.00, May 2010 PCI-SIG SR-IOV Primer, An Introduction to SR-IOV Technology, Revision 2.5, January 2011 Product Specs from http://ark.intel.com/ Internet Week 2011 43

予備スライド Internet Week 2011 44