ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
デバイスドライバの記述 Oracle Solaris 11.1 Information Library (日本語) |
パート I Oracle Solaris プラットフォーム用デバイスドライバの設計
2. Oracle Solaris カーネルとデバイスツリー
Sparc OVM プラットフォームでの SR-IOV 構成
22. ドライバのコンパイル、ロード、パッケージ化、およびテスト
23. デバイスドライバのデバッグ、テスト、およびチューニング
SR-IOV テクノロジは、パフォーマンスとスケーラビリティーの両方を改善する、ハードウェアベースの仮想化ソリューションです。SR-IOV 標準は仮想マシン間での PCIe (Peripheral Component Interconnect Express) デバイスの効率的な共有を可能にし、この標準は、ネイティブのパフォーマンスに匹敵する I/O パフォーマンスを実現できるようハードウェアに実装されています。SR-IOV 仕様では、作成された新しいデバイスで仮想マシンを I/O デバイスに直接接続できるようにするための新たな標準が規定されています。
SR-IOV 仕様は PCI-SIG (http://www.pcisig.com) によって策定および維持されています
多くの仮想マシンが単一の入出力リソースを共有できます。共有されたデバイスでは、専用のリソースが提供されるほか、共有された共通リソースも利用されます。このような方法で、各仮想マシンは一意のリソースにアクセスできます。したがって、適切なハードウェアおよび OS サポート付きの SR-IOV 対応 Ethernet ポートなどの PCIe デバイスを、独自の構成空間を備えた異なる複数の物理デバイスとして提供できます。
次の図は、PCIe ハードウェアの SR-IOV テクノロジを示したものです。
図 21-1 SR-IOV テクノロジ
SR-IOV の 2 つの新しい機能タイプ:
SR-IOV 仕様に規定された SR-IOV 機能をサポートする PCI 機能。PF は SR-IOV 機能構造を含んでおり、SR-IOV の機能を管理するために使用されます。PF は完全な機能を備えた PCIe 機能であり、他の PCIe デバイスと同様に発見、管理、および操作を行えます。PF は完全な構成リソースを備えているため、PCIe デバイスの構成や制御に使用できます。
物理機能に関連付けられた機能。VF は軽量な PCIe 機能であり、物理機能やその PF に関連付けられたほかの VF と、1 つ以上の物理リソースを共有します。VF が持つことを許可されている構成リソースは、自身の動作に対するものだけです。
各 SR-IOV デバイスは 1 つの物理機能 (PF) を持つことができ、各 PF には最大 64,000 個の仮想機能 (VF) を関連付けることができます。VF の作成は、この目的のための特性に配慮して設計されたレジスタ経由で PF によって行われます。
PF で SR-IOV が有効化されると、PF のバス、デバイス、および機能番号 (ルーティング ID) を使って各 VF の PCI 構成空間にアクセスできます。各 VF には、レジスタセットのマッピングに使用される PCI メモリー空間もあります。VF のデバイスドライバは、レジスタセットを操作してその機能を有効にし、実際に存在する PCI デバイスとして表示されます。VF の作成が完了したら、IO ゲストドメインや個々のアプリケーション (基本的なプラットフォーム上の Oracle Solaris ゾーンなど) に VF を直接割り当てることができます。この機能により、それらは物理デバイスを共有したり、CPU やハイパーバイザソフトウェアのオーバーヘッドなしに入出力を実行したりできるようになります。
SR-IOV 標準では、IO ゲストドメイン間で PCIe デバイスを効率的に共有できます。SR-IOV デバイスでは、1 つの物理機能 (PF) に数百個の仮想機能 (VF) を関連付けることができます。VF の作成は、SR-IOV 機能を有効にするために設計されたレジスタ経由で、PF から動的に制御できます。デフォルトでは、SR-IOV 機能は無効になっており、PF は従来の PCIe デバイスとして動作します。
SR-IOV 機能を備えたデバイスは次の利点を享受できます。
パフォーマンス – 仮想マシン環境からハードウェアへの直接アクセス。
コスト削減 – 設備費や運用費の節約:
節電
アダプタ数の減少
より少ないケーブル
スイッチポート数の減少