仮想化ハードウェアサポートの理解

仮想化ハードウェアサポートの理解

チップメーカーのインテル、アドバンスト・マイクロ・デバイセズ(AMD)、ARMは、ハードウェアが仮想化をサポートできるように命令セット拡張を導入しているが、関連するコードや頭字語は理解しにくい場合がある。

ハードウェア サポートは長い間、仮想化に不可欠な要件であり、選択されたハイパーバイザーが複雑な命令許可変換を処理し、ハードウェア クロック速度で仮想化されたメモリ リソースを管理できるようにします。

仮想化のハードウェア サポートは、命令セット拡張によって提供されます。命令セット拡張は、プロセッサやその他のチップに追加されるまったく新しいトランジスタ セットであり、新しい機能を有効にし、特定の新しい命令を直接処理します。この拡張機能がなければ、仮想化に必要な機能とタスクにはソフトウェア エミュレーションが必要になりますが、これは多くの場合、重要な仮想化タスクを処理するには面倒で非効率的です。

仮想化は、主に包括的なメモリ管理と特権アクセスの制御を必要とするコンピューティング アクティビティです。その結果、Intel と AMD はどちらも、命令セット拡張とさまざまな補完機能をプロセッサに追加することで、仮想化サポートを提供しようとしています。

[[258474]]

インテル バーチャライゼーション テクノロジー (VT)

2005 年、Intel は 2 つの Pentium 4 プロセッサをベースにした Intel VT-x を発表しました。これは、Intel が初めて導入した仮想化ハードウェア サポートでした。 VT-x は、仮想マシン (VM) を作成および制御するための 10 個の新しい命令を追加します。仮想化ソフトウェアは仮想実行モードで実行され、ゲスト オペレーティング システムは保護され分離されたホスト オペレーティング システムに干渉することなく完全な権限を持ちます。

VT-x の最初の導入後、Intel は追加の仮想化テクノロジも導入しました。これらの仮想化テクノロジーは特定の VT-x コマンドではありませんが、追加機能により Intel プロセッサーにさらに多くの仮想化機能が提供されます。

2008 年に、Intel は、拡張ページ テーブル (EPT)、Intel の第 2 レベル アドレス変換 (SLAT)、またはネストされたページングの実装のサポートを追加しました。

仮想化では、物理メモリ アドレスを仮想メモリ アドレスに変換する必要があります。問題は、この変換が 2 回実行されることです。1 回はホスト VM に対して、もう 1 回は各ゲスト VM に対して実行されます。これにより、オーバーヘッドが増加し、パフォーマンスが低下することは間違いありません。拡張ページ テーブルなどの第 2 レベルのアドレス変換技術は、このオーバーヘッドを排除し、すべてのメモリ管理タスクを同時に処理することで、メモリ管理を改善し、パフォーマンスを向上させます。

2010 年、Intel は、論理プロセッサと仮想 CPU をプロセッサ上でリアル モードで実行できるようにする、IA-32e モードとも呼ばれる無制限ゲストのサポートを開始しました。これにより、ゲスト VM は独自の拡張ページ テーブルを使用してベアメタル モードで実行できるようになります。ヴイエムウェア

Workstation 14 や Fusion 10 などの一部のソフトウェアでは、プロセッサが IA-32e モードをサポートしている必要があります。

2013 年までに、Intel は仮想マシン制御構造 (VMCS) シャドウイングを導入しました。仮想化における長年の課題は、VM 内で VM を実行するネストの問題でした。各 VM は固有のデータ構造を使用し、VM 内で VM を実行するときにデータ構造をスワップまたは変更する必要があります。

2013 年以前は、この問題の解決策として各 VMCS をキャッシュし、ソフトウェアを使用して処理していましたが、このプロセスは時間がかかりすぎるため、パフォーマンスが低下していました。 VMCS シャドウ描画をプロセッサに追加すると、VMCS 処理がより効率的になり、VM パフォーマンスが向上します。

AMD 仮想化 (AMD-V)

AMD は当初、2006 年に、Athlon 64、Athlon 64 X2、Athlon 64 FX、Turion 64 X2、および一部の Opteron、Phenom、Phenom II プロセッサを含むプロセッサ ラインの複数のプロセッサに、仮想化サポートに必要なコマンド セット拡張を追加しました。 AMD-V コマンドを使用すると、開発者はハイパーバイザーの使用をサポートする VM を作成および制御するソフトウェアを作成できます。

AMD はその後、物理メモリから仮想メモリへの変換のパフォーマンスを向上させるために、高速仮想化インデックスの形で、K10 および Phenom II プロセッサの一部に第 2 レベルのアドレス変換またはネストされたページングのサポートを追加しました。これは、機能的には Intel の拡張ページ テーブルと同じです。

ARM 仮想化

RISC アーキテクチャを使用するプロセッサでは、仮想化サポートが導入され始めています。業界標準の ARM アーキテクチャ バージョン 8 (ARMv8-A) は現在、仮想化をサポートしており、これにより ARM チップはそれぞれ異なるオペレーティング システムを搭載した複数の VM を実行できるようになりました。

ARMv8.1 では、タイプ 2 ハイパーバイザーのサポートを強化する仮想化ホスト拡張機能 (VHE) が導入されました。

ARMv8.1-VHE も基本的なアドレス変換を提供しますが、ARMv8.3-NV ではネストされた仮想化のサポートが追加されます。

ARM プロセッサは通常、縮小された命令セットを使用します。トランジスタ数が非常に少ないため、消費電力と冷却が少なくて済み、プロセッサ設計がシンプルなため、一般的にパフォーマンスが向上します。 ARM チップは、Web サーバーなどの基本的な大容量ワークロードを処理するために、長い間、組み込みシステムやサーバーに導入されてきました。

現在、仮想化ハードウェアのサポートが追加されたことにより、ARM システムはより多くのワークロードを処理できるようになり、特に大規模なデータ センターで注目を集め始めています。

Intel APICv と AMD AVIC

プロセッサは通常、割り込みを使用して、キーボード信号やシステム状態などの実際のイベントによってシステムを中断できるようにします。ただし、割り込みが多すぎると仮想化システムのパフォーマンスに影響し、ワークロードを常に停止して、CPU がシステム内で発生している他の処理に対処するのを待機する必要が生じます。

割り込み仮想化の概念は、割り込みを順序付けてキューに入れることによって、これらの潜在的なパフォーマンスへの影響を軽減できます。ソートにより、システムは優先度に基づいて割り込みを解決できますが、キューイングにより、システムは割り込みを解決するために最も適切な時間を待機できます。これらの技術を組み合わせることで、仮想化環境における停止によるパフォーマンスへの影響を最小限に抑えることができます。

2012 年に、Intel と AMD の両社が割り込み仮想化を追加しました。 AMD は、Carrizo プロセッサの最近のモデルで利用可能な Advanced Virtual Interrupt Controller (AVIC) を使用します。一方、Intel は、2013 年と 2014 年にいくつかの Xeon E5 プロセッサで初めて登場した Advanced Programmable Interrupt Controller Virtualization (APICv) を使用します。

2019 年には、一部の Intel Atom モデルを除くほぼすべての主要プロセッサ モデルで仮想化ハードウェアがサポートされています。たとえば、Atom プロセッサの Diamondville、Pineview、および Cedarview バリアントは、Intel-VT をサポートしていません。

仮想化サポートは、デフォルトで常に有効になっているわけではありません。一部のシステム マザーボードでは、ソフトウェアが仮想化機能を使用する前に、管理者がシステム ファームウェア (BIOS) で仮想化機能を有効にする必要があります。

3 部構成のシリーズの第 2 部では、主要な GPU 拡張機能をそれぞれ取り上げます。

<<:  5 つの Linux GUI クラウド バックアップ ツール

>>:  アリババの音声AIが「世界の画期的技術トップ10」に選ばれ、中国企業もリスト入り!

推薦する

Vultr クラウド サーバーはどうですか?シンガポールのデータセンターの簡単なレビュー

Vultrはどうですか? Vultr クラウド サーバーはどうですか? Vultr シンガポール デ...

ウェブマスターの推奨: シンガポール VPS 推奨、3 ネットワーク高速直接接続、大容量

シンガポールのVPSは地理的に中国に近く、東南アジアに面し、ヨーロッパやアメリカとつながるという利点...

#干货# dedipath - $84/2*E5-2630L/32g メモリ/1Gbps 無制限トラフィック/ロサンゼルス

Dedipath の独立サーバー向け夏季特別オファー: 1Gbps、無制限のトラフィック、デュアルソ...

ベリー - 年間 10 ドル / 128 メモリ / 10g ハード ドライブ / 300g データ / G ポート / フェニックス

berry.pw、このドメイン名は特に信頼性が低いと感じますか?少なくとも私はそう思います。しかし、...

フレンドリーリンクを使用してキーワードランキングを向上させる方法

みなさんこんにちは、kinessです。今回はフレンドリーリンクがキーワードランキングに与える影響につ...

51.com の robots.txt に何か問題がありますか?

robots.txt ファイルとは何ですか?検索エンジンは、ロボット (スパイダーとも呼ばれる) と...

4つの主要な分散トランザクションソリューションの詳細な説明

分散トランザクションは分散システムでよく見られ、大企業でも頻繁に調査されています。以下では、4つの主...

エッジコンピューティングの3つの実用例

現在、数え切れないほどのプレゼンテーション、記事、研究論文で、エッジ コンピューティングのユースケー...

アジア太平洋地域で記録的な DDoS 攻撃 (900 Gbps) を軽減するための Akamai のアプローチから何を学ぶことができるでしょうか?

昨年の夏にヨーロッパで記録的な攻撃が発生して以来、分散型サービス拒否(DDoS) の脅威の状況は変化...

DockerのエントリポイントとCMDの違い

Docker の Entrypoint と Cmd はどちらも、コンテナの起動時に実行されるコマンド...

アリペイはビットコイン取引を停止し、タオバオストアを禁止すると発表した。

アリペイはビットコイン取引を停止し、タオバオストアを禁止すると発表した。 【TechWeb Repo...

Kubernetes ベースの Jenkins 動的および静的ノード

Kubernetes をベースとした CI/CD というと、Jenkins、Gitlab CI、Dr...

ケース分析 | 江小白はどのようにブランドマーケティングを行っているのか?

江小白のマーケティング成功事例を聞いたことがある人は多いと思います。この記事の著者は江小白の製品開発...

WeChatマーケティング活動のための4つのヒント

WeChat マーケティングは多くの企業にとって必要な手段の 1 つになっていますが、うまく実行して...

クラウド監視がサービス監視と異なる6つの理由

従来の IT 監視は、インフラストラクチャとサービスの監視に重点を置いています。クラウドに移行すると...