XilinxがストレージにFPGAを応用するCSD(Computational Storage Drive)を解説
データセンターでのFPGAの応用として一番分かりやすいのは、スマートNIC(Network Interface Card)ではないだろうか。通常であればCPUが担当しているデータの暗号化などを、CPUからNIC上のFPGAにオフロードすることでCPUの負担を下げ、高速化することができる。
この発想をストレージに応用したのが、CSD(Computational Storage Drive)だ。これは初日のキーノートでAWSの担当者がFPGAの応用として解説していたもので、このブレークアウトセッションではフラッシュドライブとの組み合わせによる実装を解説するものとなった。
CSDを使う背景としてデータが巨大化していること、そしてそれを使った処理へのニーズが拡大していることを挙げ、そのためには従来のストレージアレイの方式では追いつかないというところから、CPUにより近いところで処理を行うニアストレージにシフトしていることを解説した。
ただ、高価なCPUをそのままストレージ側に置くのでは意味がないため、暗号化やデータ圧縮、動画のトランスコーディングといったストレージに固有の処理をオフロードするというのが、CSDのコンセプトだ。これはネットワークを流れてくるパケットの暗号化/復号をNIC側で行う発想と同じで、AWSがこれに目をつけたのは大量のストレージを抱えるパブリッククラウドプロバイダーとしては真っ当だろう。
ストレージ側に演算機能を持たせ、そこで特定の処理(暗号化や圧縮)を実行させることで、CPUの負荷をオフロードする。しかしこのためだけにASICを起こすのは時間とコストが掛かるために<FPGAで実装するというのがこのCSDだ。
実装の方法については、各ドライブ側のコントローラーに追加する形、SSDを束ねるコントローラーに実装する形、ストレージアレイに実装する形など、さまざまな形態があることも紹介された。
ここでビッグデータ分析の利用例として、Sparkを使ったデータ検索の例が紹介された。例として「10分以上フライトが遅れた空港は?」「ベイエリアで最も遅れが出たフライトは?」と言った検索条件を与えた際に、CPUのみの場合と比較してCSDを使うと13倍も高速になった例が示された。
またデータセンターを運用するIT部門にとって、データの増加にともなうサーバーの消費電力や台数の増加は頭の痛い問題だ。これもCSDを使ったストレージに切り替えるだけで、同じデータ容量を実現するために必要なサーバーの台数が1/4になるというのは、注目すべきポイントだろう。
CSDの用途としても暗号化、データ圧縮、重複排除、イレイジャーコーディングなどに使えるとすれば、ストレージ管理者は検討を始めるべきと言えるのではないだろうか。
またCDN(Content Delivery Network)での利用に関しても解説を行った。これはスマートNICだけでは不可能な、用途に合わせたイメージの圧縮やリサイズなどにも応用可能であるという例となった。
Xilinxが提唱するアダプティブなコンピューティングの実例としてのスマートNICとCSDは、とかくCPUに頼りがちなデータセンターでのワークロード分散と高速化、省エネ&省コストといった多面的な観点で利点が多いと言えるだろう。「FPGAは組込系」という固定観念を外して、データセンターでの応用に目を向ける機会となれば幸いだ。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- FPGAのXilinxが年次カンファレンスを開催。データセンター、5G、自動運転にフォーカスしたキーノートを紹介
- 「超低遅延社会」を実現するかも知れないFPGAの可能性とは
- OS Summit NA 2022でLFに参加したことが紹介されたOPIとは?
- 現代PCの基礎知識(4):プログラムやデータの保存に欠かせないストレージ
- 日本HP、ディスクI/O性能を向上する新機能「HP Smartキャッシュ」を発表
- 次世代データセンターネットワークのアーキテクチャー
- 日立、フラッシュ媒体を活用した高速なデータ処理を実現するストレージソリューションの製品展開を強化
- 自動運転、ロボット、GPUサーバーまで多様なエコシステムを体感できたGTC2019
- フラッシュストレージが注目される理由と4つのソリューション
- Amazon EC2を管理コンソールから操作してみよう