「GPUDirect Storage」はなぜ必要なのか?

GPU(グラフィック処理ユニット)のデータ処理を高速化するNVIDIAのソフトウェア「Magnum IO GPUDirect Storage」(以下、GPUDirect Storage)が、一般に利用できるようになった。GPUDirect Storageは、GPUがNVMe接続のストレージに直接アクセスすることでデータ処理を高速にする仕組みだ。

GPUDirect Storageによる高速化はなぜ必要なのか

 GPUDirect Storageは、GPUがサーバのCPUをバイパスし、PCI Express(PCIe)スイッチを介してストレージとの間でデータを直接やりとりすることを可能にする。これによりI/O(データ入出力)が改善し、大量のデータ処理がより高速になる。特にNVIDIAは、用途としてAI(人工知能)技術の利用やHPC(高性能コンピューティング)におけるデータ処理を想定している。

 「CPU使用量が約3分の1に減少し、CPUは計算集約型のアプリケーションの実行という本来の仕事に集中できるようになる」。NVIDIAでアクセラレーテッドコンピューティング分野のシニアマネジャーを務めるディオン・ハリス氏はこう説明する。

 NVIDIAは、2021年6月~7月に開催されたHPCのイベント「ISC High Performance 2021 Digital」で、同社のAI技術向けコンピュータ「HGX AI」にGPUDirect Storageを搭載することを発表した。この他にも、GPUDirect Storageの実用化のためにNVIDIAはストレージベンダーとの協力を進めてきた。

GPUDirect Storageを扱うストレージベンダー

 さまざまなベンダーが、GPUDirect Storageを組み込んだストレージ製品を提供する。既に一般提供を実現しているベンダーとしてはDataDirect Networks、VAST Data、Weka.IO、Dell Technologiesなどがある。Excelero、Hewlett Packard Enterprise(HPE)、Hitachi Vantara、IBM、NetAppなども提供に向けて準備中だ。

 GPUDirect Storageは「RDMA」(Remote Direct Memory Access)の仕組みを使った相互接続規格「InfiniBand」など、高速な相互接続を利用するストレージアレイと組み合わせて使う例が多くなる可能性がある。そう予測するのは調査会社Moor Insights & Strategyのシニアテクノロジーアナリスト、スティーブ・マクダウェル氏だ。RDMAとはOSを介さずにメモリ間でデータ転送をする仕組みを指す。

 マクダウェル氏はMagnum IO GPUDirect Storageを使うストレージアレイ製品の例として、IBMの「IBM Elastic Storage System 3200」(ESS 3200)、NetAppの「NetApp EF600 all-flash NVMe array」などを挙げる。「機械学習のためにGPUを多用し、I/Oがボトルネックになる可能性がある用途に特にこれらの組み合わせが有効だ」と同氏は話す。