CPUを搭載する「コンピュテーショナルストレージ」のユースケースと主要製品ストレージでデータ処理

CPU(やASIC、FPGA、GPU)を搭載し、ストレージで直接データを処理する「コンピュテーショナルストレージ」が注目されている。どのようなメリットがあり、どのような用途に使われているのか。

2020年05月21日 08時00分 公開
[Stephen PritchardComputer Weekly]

 コンピュテーショナルストレージ(Computer Weekly日本語版 2019年5月22日号も参照)は、ストレージに処理能力を付与する。従来のストレージアーキテクチャが現在のニーズに追い付いていないという意見に応えるものだ。

 ストレージリソースとコンピューティングリソースとの間でデータを移動するのは効率が悪い。データ量が増えるにつれ、この移動はますますボトルネックになる。SNIA(Storage Networking Industry Association)は次のような見解を示している。「ストレージのアーキテクチャは、テープやフロッピーディスクの時代とほとんど変わっていない」

 やや大げさかもしれないが、ストレージと処理は分かれているものという原則が、ほとんどの企業ITシステムの中核に残っている。高度な分析、ビッグデータ、機械学習、ストリーミングではこの点が問題になる。

 利用可能な解決策は幾つかある。「SAP HANA」などのインメモリデータベースは、ストレージとのデータの移動を減らす。サーバフラッシュは、コントローラーとフラッシュストレージをホストのPCIバスに直接接続することで、ドライブとCPU間のSASインタフェースとSATAインタフェースを迂回(うかい)できる。

 ソリッドステートストレージはデータ処理をストレージに近づけることで十分な速さを確保し、パフォーマンスを飛躍的に向上させる。「Hadoop」などのアプリケーションは分散処理を利用して既にこの方向に進んでいる。

 コンピュテーショナルストレージはストレージメディアに処理能力を組み込む。これにより処理がCPUからオフロードされ、ストレージとCPU間のボトルネックが減少する。米カリフォルニア大学アーバイン校とNGD Systemsが行った調査によると、パフォーマンスが8〜9倍向上し、エネルギーが節約される可能性があり、大半のシステムでは最低でも2.2倍の改善が見られるという。

コンピュテーショナルストレージとは

 コンピュテーショナルストレージとは、ストレージメディアまたはコントローラーに多数のプロセッサ(CPU)を搭載するストレージサブシステムを指す。コンピュテーショナルストレージドライブ(CSD)とも呼ばれ、コンピュテーショナルストレージサービスをまとめて提供する。データではなく、データの処理をプロセッサに移動するというのがその考え方だ。

 考え方としては、CSDを使って一部のワークロードをプリエンプトし、メインCPUに渡されるデータを減らそうというものだ。場合によってはメインCPUが実行すべきタスクが少なくなることもある。

 その一例が人工知能(AI)ベースの監視システムだ。エッジのCSD(監視カメラ自体)が侵入者の画像解析などの基本タスクを実行できる。「侵入者の可能性が高い」場合のみその画像をメインCPUに送り、顔認識を行う。

 「コンピュータがデータセットを計算する必要がある場合、そのデータをストレージからメモリに読み込まなければならない」と話すのは、PA ConsultingのIT変革の専門家、アンドリュー・ラーセン氏だ。

 「普通、ストレージのサイズはメモリよりもはるかに大きい。そのためデータをブロック単位で読み取らなければならない。その結果、分析速度が落ち、大半のデータセットではリアルタイム分析が不可能になる。コンピュテーショナルストレージはこうした状況を避けるため、処理機能をストレージレイヤーに直接持たせている」

コンピュテーショナルストレージのアーキテクチャ

 コンピュテーショナルストレージは一般に「Arm Cortex」やそれに相当するプロセッサをベースにし、そのプロセッサを通常はNVMeベースのストレージコントローラーの前に配置する。ただし、コンピューティングモジュールとコントローラーを統合するCSDもある。

 対象とするアプリケーションによっては、ASICやFPGAをコンピュテーショナルストレージシステムに含めることもできる。

 SNIAは、現在のコンピュテーショナルストレージを固定コンピュテーショナルストレージサービス(FCSS:Fixed Computational Storage Services)とプログラマブルコンピュテーショナルストレージサービス(PCSS:Programmable Computational Storage Services)という2つのカテゴリーに分類している。

 FCSSは圧縮や暗号化など、演算処理を集中的に行う具体的なタスク向けに最適化されている。PCSSはホストOS(通常はLinux)を実行できる。どちらのシステムにも長所と短所がある。FCSSはコストパフォーマンスが最高になり、PCSSは柔軟性が高くなる。ドライバまたはAPIが必要かどうか、CSDでアプリケーションをネイティブに実行する可能性があるかどうかによってもアーキテクチャは変わってくる。推奨システム「Catalina」(https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0265-5)はLinuxを実行するCSDがHadoopクラスタのデータノードとして機能できることが前提となっている。

 CSDだけを使用することも、CSDと従来型ストレージを混在させて使用することもできる。ただし、現時点では混在させて使う方が可能性は高いだろう。

 コンピュテーショナルストレージの初期応用例には、データ圧縮、暗号化、RAID管理などがある。単一のプロセッサでボトルネックを解消できる分野だ。

 だが、コンピュテーショナルストレージはもっと幅広いユースケースを生み出すよう進化している。例えば、多くのCSDにワークロードを分散できるようにソフトウェアやAPIの改善が促されている。こうしたワークロードの分散により、パフォーマンスが大幅に向上する。

 「コンピュテーショナルエッジ、機械学習の処理、リアルタイムデータ分析、ハイパフォーマンスコンピューティング(HPC)などがユースケースになる」と話すのは、Gartnerでリサーチ部門のバイスプレジデントを務めるジュリア・パルマー氏だ。

 「コンピュテーショナルストレージはまだ初期段階だが、大きく成長する可能性がある。Gartnerは、2024年までに企業が生み出すデータの50%以上がデータセンターやクラウドの外部で作成・処理されるようになると予測している。2020年段階ではその増加率は10%未満だろう」

 データストリーミングもCSDのメリットを得ることができる応用例の一つだ。

コンピュテーショナルストレージの長所と短所

 コンピュテーショナルストレージの主なメリットはパフォーマンスの向上だ。それも大幅に向上する可能性がある。演算が集中するアプリケーションではなく、データを集中的に扱うアプリケーションは、ストレージとプロセッサ間のボトルネックを解消することで最も大きなメリットを得ることができる。

 分散処理に適したアプリケーションや、遅延が少ないほど適切に機能するアプリケーションもパフォーマンスが向上する。

 慎重に設計されたCSDシステムは大幅な省電力も実現する。

 デメリットもある。ITアーキテクチャの複雑さが増すこと、APIやホストがコンピュテーショナルストレージサービスに対応する必要があること、ストレージやストレージコントローラーにCPUを追加するコストが加わることなどだ。

 コンピュテーショナルストレージがパフォーマンスの問題を全て解決するわけではない。単一インスタンスのCSDではパフォーマンスのメリットが限定される。複数ノードにまたがるアプリケーションや複数ノードで機能するように再構成できるアプリケーションは最高のパフォーマンスを得る。

 451 Researchのティム・スタマーズ氏によると、コンピュテーショナルストレージはありふれたものになりつつあるという。フラッシュに移行することで得られるパフォーマンスのメリットをデータ量の増加が全て相殺してしまうからだ。

コンピュテーショナルストレージのサプライヤー

 コンピュテーショナルストレージの市場はまだ発展途上にすぎないが、次のような主要サプライヤーがある。

Eideticom

 カナダのEideticomの「NoLoad」は、ホストCPUの処理を一切必要とせずにピアツーピアモードで実行されるという。FPGAを搭載し、PCI経由のNVMeを使用する。同社の製品はデータ圧縮や重複排除など、ストレージサービスを重視する。

Samsung

 主流ストレージのサプライヤーの中で製品を有しているのはSamsungだけだ。同社は2018年に「SmartSSD(https://samsungsemiconductor-us.com/smartssd/)」を発表した。同製品はXilinxのFPGAを使用する。初期アプリケーションには、圧縮、データ重複排除、暗号化などがある。

Nyriad

 Nyriadのバックグラウンドは独特だ。同社の製品が最初に開発されたのはSquare Kilometer Array(https://www.skatelescope.org/)(SKA:スクエア・キロメートル・アレイ)電波望遠鏡向けだった。NVIDIAのGPUを複数搭載し、160Tbpsでデータを処理できるCSDだ。

ScaleFlux

 ScaleFluxは2014年設立のスタートアップ企業だ。同社のCSDはワークロードを「そのままの状態」で処理できる。同社の市場はハイパースケーラーやクラウド事業者が対象になる。

NGD Systems

 NGD SystemsのCSDはArmのコアを複数含むASICを搭載する。以前はFPGAを使っていた。同社のCSDはエッジコンピューティングで使われている。ドライブは通常のストレージとしても使用できる。

ITmedia マーケティング新着記事

news193.jpg

IASがブランドセーフティーの計測を拡張 誤報に関するレポートを追加
IASは、ブランドセーフティーと適合性の計測ソリューションを拡張し、誤報とともに広告が...

news047.png

【Googleが公式見解を発表】中古ドメインを絶対に使ってはいけない理由とは?
Googleが中古ドメインの不正利用を禁止を公式に発表しました。その理由や今後の対応につ...

news115.jpg

「TikTok禁止法案」に米大統領が署名 気になるこれからにまつわる5つの疑問
米連邦上院が、安全保障上の理由からTikTokの米国事業の売却を要求する法案を可決し、バ...