GPU仮想化 GPU はコンピューターの重要なコンポーネントですが、GPU などの重要なリソースの仮想化のパフォーマンス、スケーラビリティ、可用性は CPU に比べて遅れています。たとえば、Intel の GPU 仮想化ソリューション gVirt では、単一の物理 GPU が 7 個の仮想 GPU (VGPU) のみをサポートしますが、Xen は 512 個の仮想 CPU をサポートします。 2013 年、Amazon は初の商用 GPU インスタンスをリリースしました。 2017 年 2 月、Intel 初の GPU 完全仮想化ソリューションである KVMGT が Linux カーネル 4.10 に正式に追加されました。 従来の GPU 仮想化では、API 転送を使用して、GPU 操作を仮想マシンから仮想マシン モニター エージェントに送信し、実行します。この方式は、多くの主流の仮想化製品で採用されており、グラフィックス処理をサポートしていますが、真に完全なハードウェア仮想化技術ではありません。そのパフォーマンスとスケーラビリティは、汎用 GPU (GPGPU) コンピューティング アプリケーション (機械学習や高性能コンピューティングなど) のニーズを満たすことができません。 GPU 仮想化のソフトウェア シミュレーション方式では、指定された仮想マシンにデバイスを直接割り当て、CPU 仮想化と同様のバイナリ変換方式を使用してシミュレーションを行います。しかし、CPU と比較すると、GPU はより複雑な特性を持ち、GPU の仕様は機器プロバイダーによって大きく異なり、GPU リソースを分割することが難しく、シミュレーション効率が低くなります。したがって、一般的な QEMU ソフトウェアは、ビデオ グラフィックス アレイ (VGA) デバイスの基本機能のみをエミュレートします。これは、準仮想化イメージ バッファーを介して特定の 2D イメージ アクセスを高速化するもので、効率的で共有された仮想化の要件を満たしません。 GPU 仮想化のデバイス パススルー方式では、物理 GPU を仮想マシンに割り当てて排他的にアクセスできるようにします。優れた GPU 共有機能を提供する API 転送と比較して、デバイス パススルー方式は排他的使用を通じて優れたパフォーマンスを提供します。たとえば、Intel の VT-d/GVT-d テクノロジに基づいて、DMA でアクセスされるメモリ アドレスを変換することで、GPU を仮想マシンに割り当てて使用することができ、共有機能を犠牲にしてネイティブの物理 GPU に近いパフォーマンスを実現できます。 NVIDIA の Tesla GPU も同様の仮想化ソリューションである Grid を提供しており、これにより仮想マシンはパススルー方式で物理 GPU に直接アクセスできるようになります。 GPU 仮想化のパススルー共有方式により、仮想マシンはパフォーマンスに敏感なリソース (ビデオ メモリへの GPU アクセスなど) に直接アクセスできるようになります。これにより、パススルーと共有の矛盾が基本的に解決されます。 SR-IOV に類似したハードウェア支援仮想化技術を採用し、シャドウ ページ テーブルを通じて各仮想 GPU のアクセス空間を分離し、ほとんどのコマンド実行が仮想マシン モニターによって妨害されないようにします。そのため、仮想 GPU は非仮想化に近いパフォーマンスを得ることができます。 GPU の構造が複雑で、技術的な制限も多いため、主流の GPU プラットフォーム向けに NVIDIA GPU をベースにした GPUvm と Intel GPU をベースにした gVirt という 2 つのハードウェア支援型完全仮想化ソリューションが提案されたのは 2014 年になってからでした。 GPUvm は完全仮想化と準仮想化の両方をサポートします。完全仮想化モードで実行するとコストが高くなります。最適化された準仮想化モードでは、パフォーマンスはネイティブ システムよりも 2 ~ 3 倍遅くなります。 gVirt は、Intel プラットフォーム向けの最初のオープン ソース GPU 完全仮想化ソリューションです。仮想マシンのネイティブ ドライバーを変更することなく、各仮想マシンに仮想 GPU を提供します。 FPGA仮想化 再構成可能なコンピューティング リソースである FPGA は、既存の仮想化フレームワークと互換性がありません。 GPU や CPU とは異なり、FPGA の使用シナリオは排他的になる傾向があります。一方では、異なるテナントが異なるアクセス インターフェイスを使用する可能性があり、統一された命令セットを使用することが困難になります。一方、統一されたインターフェース仕様を使用した場合でも、テナントの切り替え時に時間のかかる再書き込みと複雑な状態保存が必要となり、システムに多大な時間とスペースのオーバーヘッドが発生します。現在、FPGA デバイスは、それぞれの開発エコシステム (ツール チェーン、ライブラリなど) と密接に結合されています。特定のデバイス モデルの FPGA では、書き込み可能なバイナリ ファイルを生成するために特定のソフトウェア サポートが必要であり、統一されたバイナリ インターフェイス仕様はありません。 FPGAをクラウドプラットフォームに統合するため、2014年からFPGA仮想化の研究が行われてきました。トロント大学のStuart Byma氏らは、OpenStackを利用して複数のFPGA間の部分的に再構成可能な領域をクラウドコンピューティングリソースとして提供し、ユーザーが仮想マシンを起動するのと同じように、ネットワーク経由で接続されたユーザー設計または事前定義されたハードウェアアクセラレータを起動できるようにしました。 IBM中国研究所のフェイ・チェン氏らは、FPGAをデータセンターに統合するための一般的なフレームワークを提案し、OpenStack、Linux KVM、Xilinx FPGAをベースとしたプロトタイプシステムを完成させ、複数の仮想マシン(VM)における複数のプロセスの分離、精密な量子化アクセラレータリソースの割り当て、優先度ベースのタスクスケジューリングを実現しました。 Microsoft は、FPGA が PCIe 経由で CPU に接続されるだけでなく、データセンターのイーサネットにも接続される新しいクラウド アーキテクチャを提案しました。これにより、ネットワーク機能が高速化されるだけでなく、他の一般的なアプリケーションにも使用できます。 Anca Iordache 他提案された FPGA グループ。これは、同じ回路構成を持つ 1 つ以上の FPGA の集合であり、同じ回路を使用したい複数のユーザーが共有できます。 |
>>: オペレーティング システムのプロセス スケジューリング アルゴリズム (CPU 仮想化)
edgenat は、新しい VPS シリーズである US AS4837 無制限トラフィック VPS ...
ウェブマスターとして、最も重要なことは何ですか?最も必要なものは何ですか?今は情報化時代なので、ウェ...
生き物を捕まえられる人が達人と呼ばれるこの時代、フロントエンド言語の基礎知識がなくても、ウェブサイト...
新華網、北京、4月16日(記者 白楊)「これは私の人生で最大の挫折であり、忘れられない教訓です。家族...
[[416152]]この記事はWeChatの公開アカウント「Sea Monster Who Writ...
[51CTO.com からのオリジナル記事] モバイル ゲームには毎日数千万人のアクティブ ユーザー...
開発者として、ワークロードをより適切に管理し、イノベーションを推進するための新しいツールを常に探して...
有名なドイツの社会学者ウルリッヒ・ベックはかつてこう言いました。「近代化の過程における生産性の飛躍的...
Virpus は本日、全製品 (SSD ハード ドライブのみ) が 40% オフとなる 2 日間の ...
2010年9月、長年機密情報分野で資金を燃やしてきた姚金波(ウェイボー)は、資本が投げかけた和解に対...
SEO が米国から中国に導入されてからまだ 10 年も経っていませんが、中国人にとって SEO の役...
日常の検索でよく見かけると思いますが、あるキーワードで検索すると、右側に「他にも検索されているキーワ...
中国では電子商取引の推進が成功し、JD.comやSuningなどの大型B2C総合オンラインショッピン...
インターネットは世界を変え、さらには私たちの考え方も変えます。インターネット マーケティングはマーケ...
現地時間金曜日、政府調達を担当する米国一般調達局(GSA)は、米国防総省がアマゾン、グーグル、マイク...