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 仮想化)
体重は、ウェブマスターにとって愛するものでもあり、嫌うものでもあります。体重が急激に増えたときは喜ば...
6月の大規模なアップデートにより、多くのサイトがブロックされました。たとえ多数のサイトが排除されたと...
クラウドコンピューティングはあらゆる業界に広がっています。ヘルスケア業界も例外ではありません。活気あ...
[[377576]] [51CTO.com クイック翻訳] 調査によると、世界のクラウドコンピューテ...
onetechcloud は今月、新たな 20% オフのプロモーションを開始しました。米国 VPS ...
国内外の規制当局には、IP が物理マシンによってサポートされているか仮想マシンによってサポートされて...
2020年は特別な年になる運命にあります。 COVID-19パンデミックが2四半期続く中、世界経済は...
香港株と米国株の好調に後押しされ、香港株と米国株のインターネットブローカーである富途証券傘下の富途牛...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています近年、中国...
最近、私はサイトのロングテールキーワードを最適化するという考えについて考えていました。同業ウェブサイ...
2018年は起業の黄金時代の終わりを告げる年であり、これからは確固たるブランディングの始まりとなるか...
フロントエンド テンプレート エンジンは、コードの可読性が高く、保守が容易なため、ウェブマスターの間...
最適化した後、安心してリラックスできますか? ウェブサイトの重量が重いと、収益を上げることができます...
今日は、Docker テクノロジーの理解をさらに深めるために、Docker の 4 つのネットワーク...
企業が競争上の優位性を高めるための新しい方法や機能を模索するにつれて、企業とクラウド コンピューティ...