1.2. 仮想化のパフォーマンス関連の特長および改善点

Red Hat Enterprise Linux 7 における仮想化パフォーマンスの改善点

Red Hat Enterprise Linux 7 では、以下の機能により仮想化のパフォーマンスが強化されています。
NUMA の自動負荷分散
NUMA の自動負荷分散により、Red Hat Enterprise Linux  7 ゲストで必要な手動のチューニングなしに、NUMA ハードウェアシステムで実行されるアプリケーションのパフォーマンスを強化できます。NUMA の自動負荷分散は、スレッドやプロセスなどのタスクを、それらがアクセスするメモリーに近い場所に移動します。
NUMA の自動負荷分散に関する詳細は、「NUMA の自動負荷分散」を参照してください。
マルチキュー virtio-net
パケットの送信/受信処理の規模をゲストの利用可能な vCPU の数に合わせて調整できるようにするネットワーク手法です。
マルチキュー virtio-net についての詳細は、「マルチキュー virtio-net」を参照してください。
ブリッジのゼロコピー送信
ゼロコピー送信モードは、ゲストネットワークと外部ネットワーク間での大規模なパケットを送信する際のホスト CPU のオーバーヘッドを、スループットに影響を与えることなく最高 15% 削減します。ブリッジのゼロコピー送信は Red Hat Enterprise Linux 7 仮想マシンで完全にサポートされていますが、デフォルトでは無効にされています。
ゼロコピー送信についての詳細は、「ブリッジのゼロコピー送信」を参照してください。
APIC Virtualization (APICv)
新たな Intel プロセッサーは Advanced Programmable Interrupt Controller (APICv) のハードウェア仮想化機能を提供します。APICv により、ゲストの直接的な APIC アクセスが許可され、APIC による割り込みの待機時間や仮想マシンの終了回数が大幅に削減されるため、仮想化された AMD64 および Intel 64 ゲストのパフォーマンスが強化されます。この機能は新規の Intel プロセッサーでデフォルトで使用され、I/O パフォーマンスを向上させます。
EOI の加速化
仮想 APIC 機能なしに、旧式チップセットの高帯域幅 I/O の割り込み終了 (EOI: End-of-interrupt) 処理を加速化します。
マルチキュー virtio-scsi
virtio-scsi ドライバーのマルチキュー対応により、ストレージのパフォーマンスとスケーラビリティーが強化されます。これにより、他の vCPU に影響を与えることなく、それぞれの仮想 CPU で別個のキューや割り込みを使用できます。
マルチキュー virtio-scsi についての詳細は、「マルチキュー virtio-scsi」を参照してください。
準仮想化された Ticketlock
準仮想化された ticketlock (pvticketlock) は、オーバーサブスクライブされた CPU を持つ Red Hat Enterprise Linux 7 ホスト上で実行される Red Hat Enterprise Linux 7 ゲスト仮想マシンのパフォーマンスを強化します。
準仮想化されたページフォールト
準仮想化されたページフォールトは、ゲストがホストによってスワップアウトされるページへのアクセスを試行する際にゲストに挿入されます。これにより、ホストのメモリーがオーバーコミットされ、ゲストのメモリーがスワップアウトされる場合に KVM ゲストのパフォーマンスが向上します。
準仮想化された時刻関連の vsyscall の最適化
gettimeofday および clock_gettime システム呼び出しを vsyscall メカニズムによりユーザー領域で実行できます。以前は、これらのシステム呼び出しを実行すると、システムをカーネルモードに切り替えてからユーザー領域に戻す必要がありました。これにより、一部のアプリケーションのパフォーマンスが大幅に向上します。

Red Hat Enterprise Linux における仮想化パフォーマンスの機能

  • CPU/カーネル
    • NUMA: Non-Uniform Memory Access (非均一なメモリーアクセス)。詳細は「9章NUMA」を参照してください。
    • CFS: Completely Fair Scheduler (完全に公平なスケジューラー)。クラスに焦点を置いた新しいスケジューラーです。
    • RCU: Read Copy Update (リードコピーアップデート)。共有スレッドデータの処理が向上しました。
    • 仮想 CPU (vCPU) の最大数は 160 になります。
  • メモリー
    • Huge Page およびメモリー集約型環境での各種の最適化。詳細は「8章メモリー」を参照してください。
  • ネットワーク
    • vhost-net: カーネルベースの高速 virtIO ソリューション
    • SR-IOV: ネイティブに近いネットワークパフォーマンスレベルを実現するために導入
  • ブロック I/O
    • AIO: 他の I/O 動作にオーバーラップするスレッドのサポート
    • MSI: PCI バスデバイスの割り込み生成
    • ディスク I/O スロットリング: ゲストのディスク I/O 要求を制御し、ホストリソースの過剰使用を防ぎます。詳細は、「ディスク I/O スロットリング」を参照してください。

注記

仮想化に関するサポート、制約および特長などの詳細は、『Red Hat Enterprise Linux 7 仮想化スタートガイド』および以下の URL を参照してください。