AI

GPUのストレージ直結を担うcuFile、APIと基盤ソフトを公開へ

この記事のポイント

  1. 実現したこと

    SCADAでは、GPUがアプリケーションに必要なデータだけをストレージから高速メモリーへ直接取り込める。

  2. 実現の仕組み

    GPUDirect StorageはCPUの中継バッファーを介さず、ストレージとGPUメモリーを直接DMA経路で結ぶ。

  3. 得られた結果

    NVIDIAは、直接読み書きに使うcuFileのAPIと下層ソフトウェア群をオープンソース化すると発表した。

  4. 従来との違い

    SCADAでは利用者側の処理を信頼された処理基盤の外に置き、アクセス経路の設定を特権コンポーネントへ分離した。

ストレージからGPUメモリーへ直接データを送る経路と、保護アクセスを設定する独立した特権コンポーネントの図解
AI生成画像

GPUからストレージを直接読み書きするcuFileのAPIと下層ソフトウェア群について、NVIDIAがオープンソース化の方針を示した。必要なデータだけをGPUへ取り込むSCADAでは、データ取得とアクセス権の設定を分離する。

cuFileのAPIと下層ソフトを公開対象に

GPUからストレージを直接読み書きするcuFileについて、NVIDIAはAPIとその下層のストレージソフトウェア群をオープンソース化すると発表した。cuFileは、ストレージとGPUを直接つなぐGPUDirect Storageの構成要素に当たる。

GPUはストレージに数千件の処理を並行して要求できるという。こうした要求を扱うデータ経路が、今回の公開方針とアクセス制御の構成に共通する対象だ。

CPUの中継バッファーを介さないデータ経路

GPUDirect Storageは、ストレージとGPUメモリーの間に直接DMA経路を設け、CPUの中継バッファーを介したデータの受け渡しを省く。cuFileは、この経路をファイルシステム経由で使うインターフェースで、ローカルと分散の両ストレージに対応する。

SCADAが必要なデータだけをGPUへ取り込む

ストレージからGPUメモリーへ取り込む範囲は、アプリケーションが必要とするデータに絞る。NVIDIAが示したSCADAは、GPUがそのデータをストレージから自身の高速メモリーへ直接取り込むための枠組みだ。

アクセス経路の設定を特権コンポーネントへ分離

SCADAでは、速度を要する利用者側の処理を、信頼された処理基盤の外に置く。承認済みストレージへの保護されたアクセスは、別の特権コンポーネントが初期設定時に構成する。

その設定は標準的なLinuxのセキュリティ適用手順に従う。データを取得する処理と、取得を許す経路の設定を分けた構成になっている。

圧縮・暗号化処理で示したCPUのスループット

直接アクセスの経路では、データの圧縮や暗号化も処理の一部となる。NVIDIAが紹介した二段階の圧縮・暗号化処理のベンチマークでは、Vera CPUのスループットはx86 CPUの最大3.21倍だった。