トピックハブ

データセンターとアクセラレーション

SmartNICや超低レイテンシ取引からデータベースや圧縮のオフロードまで、データセンターでFPGAがどこに位置するか、関係するホストインターフェースとプログラミングフロー、そして経済的に成り立つ条件を解説します。

更新 2026年11月13日 · SmartNIC、DPU、Alveo、Agilex、CXL、RDMA、HFT、Vitis、oneAPI、DMA

概要

データセンターのFPGAとは、大型デバイスを載せたPCIeカードまたはネットワークカードであり、サーバーのプロセッサより速く、または安く1つの仕事をするようにプログラムされたものです。成功事例には共通の形があります。ラインレートで処理しなければならないデータストリーム、めったに変わらない機能、そしてGPUが合わない理由(レイテンシ、電力、あるいはデータがそもそもメモリに届く必要がないこと)です。このハブは、そうしたアクセラレータを評価または構築するエンジニアと、それにお金を払うかどうかを決めなければならない人のためのページです。

2015年からAzureの全サーバーにFPGAを載せたMicrosoftのCatapultプロジェクトが、この考えを市民権のあるものにしました。それからの10年で、長続きした3つのニッチと、続かなかったいくつかに整理されました。長続きしたのは、ネットワーク処理(SmartNIC、ファイアウォール、テレメトリ)、超低レイテンシの金融、そして圧縮、暗号化、検索、一部のデータベース演算子といった特化型ストリーミングオフロードです。続かなかったのは、GPUと競合する汎用計算オフロードで、ソフトウェアの面でGPUが勝ちました。

重要な考え方

データパス、そしてなぜホストがボトルネックなのか

PCIe Gen4 x16リンクは片方向およそ32 GB/sを運び、Gen5はその2倍で、400 Gb/sのEthernetポートには50 GB/sが必要です。リンクを越えるすべてのバイトには、ホストメモリ帯域幅、DMAディスクリプタ、そして多くの場合割り込みのコストがかかります。したがって最良のアクセラレータはデータをカード上にとどめます。パケットはネットワークポートから入り、ファブリック内でフィルタ、パース、暗号化され、もう一方のポートから出るか、すでに縮約された形でホストメモリへ向かいます。ホストとFPGA間のDMAエンジン(AMD XDMAとQDMA、AlteraのPCIe multi-channel DMA、Corundumのようなオープンな設計)がディスクリプタリングとスキャッタギャザーリストを管理するので、プロセッサからはPCIe BARではなくブロックデバイスやNICに見えます。RDMAとRoCE v2はどちらのプロセッサも介さずにホスト間でデータを移動し、FPGAはRoCEをハードウェアで終端できます。PCIe物理層上で動くCXLは、本稿執筆時点でAgilex 7とVersalの部品においてFPGAがホストとコヒーレントなメモリを共有することを可能にし、メモリ拡張やニアメモリ計算の用途でコピーを不要にします。

100G MACPCS, serdesパーサーヘッダをメタデータにmatch / actionTCAM、ハッシュ表暗号、フィルタIPsec、テレメトリ100G MAC出力側DMAエンジンqueues, descriptorsPCIe Gen5 x16またはCXLホストメモリ、CPU内蔵CPUスローパス、制御ファストパスはプロセッサに触れない。スローパス(新規フロー、例外)はカード上またはホストのCPUへ。
SmartNICのデータパス: パケットはファブリック内で処理され、有用なものだけがホストメモリに届く

レイテンシ: 金融のケース

高頻度取引(HFT)は最も純粋なFPGAアプリケーションです。マーケットデータのフィードがEthernetで届き、FPGAがそれをデコードし、価格ルールを適用して注文を送ります。最良の設計では、ワイヤからワイヤまでの経路全体が1マイクロ秒未満で、ジッタは数十ナノ秒です。FPGAにはキャッシュもスケジューラも割り込みもないので、どんなプロセッサもカーネルもこれには及びません。工学の要点は、カットスルー処理(パケットの到着前にヘッダから処理を始める)、あらゆる直列化の回避、そしてEthernet PHYそのものにあります。ベンダーのハードMACが取引ロジック全体より大きなレイテンシを加えることがあるからです。同じスキルは、通信のフロントホール、産業制御、試験装置にも転用できます。

経済性

大型のデータセンター用FPGAカードは数千米ドルで、75 Wから225 Wを消費し、カードより高くつくエンジニアを必要とします。採算が合うのは、複数のサーバーを置き換える場合、他では達成できないレイテンシやラインレートの目標を可能にする場合、あるいは機能(暗号化、圧縮、RAIDパリティ)をプロセッサから外してそのプロセッサを計算資源として売れる場合です。採算が合わないのは、成熟したライブラリをもつGPUで機能が動く場合、ハードウェアチームが追従できる以上の速さでワークロードが変わる場合、あるいはASIC(またはNVIDIA、AMD Pensando、Marvellの汎用DPU。これら自体がFPGAでプロトタイプされたASICです)のほうが安くなるほど数量が多い場合です。FPGAを使うハイパースケーラーがそうするのは、エンジニアリングを10万台のサーバーで償却できるからです。より小規模な事業者の大半は、その作業を済ませたベンダーから完成品のカードを買うほうが得策です。

どこから始めるか

構成要素は高いクロックレートでのFIFO、パイプライン、クロックドメイン間の乗り換えなので、/learn/beginner/09-memories-block-ram-and-fifos/と/learn/beginner/04-registers-clocks-and-state/が基礎で、続いてトランシーバーについては/topics/high-speed-io/、VitisとoneAPIのカーネルフローについては/topics/high-level-synthesis/です。最初の実践ステップは、AlveoカードまたはクラウドのFPGAインスタンスでVitisのベクトル加算サンプルを動かし、次に手元のボードでCorundum NICを動かすことです。ネットワーキングとアクセラレーションに関する上級トラックは準備中です。

ツールとベンダー

ベンダー カードとデバイス ホスト側フロー 備考
AMD Alveo U50、U55C、U200、U250、V70、V80、Versal HBM Vitis(HLS、OpenCL、RTLカーネル)、XRTランタイム、XDMAとQDMA 最大のエコシステム、AWS F2でクラウド利用可(RTLシェルフロー。本稿執筆時点でF2ではVitisカーネルは非対応)
Altera Agilex 7(HBMとCXLを備えたIおよびMシリーズ)、Stratix 10 oneAPI(SYCL)とQuartus Prime Pro、OFSオープンシェル Agilex 7 I-SeriesはCXLとPCIe Gen5のハードIPを搭載
Achronix VectorPathカード上のSpeedster7t ACEツール、RTL 2Dネットワークオンチップ、GDDR6、ネットワーキングとML向け
Napatech、Silicom、BittWare、AMD(Solarflareの系譜)、Exablaze(Cisco) 完成品のSmartNICおよびHFTカード ベンダーSDK、多くはカスタムロジック用にFPGAへアクセス可 FPGAが製品そのものでないならカードを買う

AMD VitisとAltera oneAPIのフローは、ソフトウェアエンジニアがC++とSYCLでカーネルを書けるようにし、PCIe、DMA、メモリはプリビルトのシェルが処理します。動くアクセラレータへの最速の道です。一方でファストパスではRTLより数倍効率が落ちるので、量産カードの大半はC++の制御プレーンとワイヤ側の手書きRTLを組み合わせています。

よくある間違い

  • PCIeリンクの帯域幅で律速される機能のアクセラレータを作り、ホストがその場で処理するよりカードのほうが遅くなる。
  • カーネル時間だけを測り、DMAのセットアップ、ドライバのオーバーヘッド、ピン留めメモリへのコピーを無視する。
  • 成熟したGPUライブラリがありレイテンシ要件のないワークロードにFPGAを選ぶ。
  • シェルを無視する。ベンダーの静的領域はデバイスの3分の1と最良のトランシーバーすべてを占めることがあります。
  • ドライバと展開の作業を過小評価する。ほとんどのプロジェクトでRTLより大きな作業です。
  • 熱の制限を忘れる。1Uシャーシ内の225 Wカードには、それ向けに設計されたシャーシのエアフローが必要です。

さらに深く

このトピックの最新ニュース

最近の論文

  • PENSA: A Spatial Accelerator for BitNet b1.58 Inference on an HBM-equipped AMD Alveo FPGA

    K. B. Kalyanasundaram, I. S. Maksymov, P. H. W. Leong · arXiv cs.AR · ダイジェスト

    3値LLMは線形層の乗算を符号制御の加算に置き換えるため、ボトルネックはパック済み重みの供給と結果の縮約に移ります。PENSAはBitNet b1.58 2B4Tモデル全体をAlveo U50上で実行し、TQ1_0形式でパックした重みを8つのHBM疑似チャネルから2つの行列エンジンにストリーミングします。各エンジンは1サイクルあたり1,280個の3値重みを処理し、アテンションと語彙射影はデバイス上に常駐します。104.1 MHzで、コンテキスト長128では58.09トークン/秒、2048では24.60トークン/秒に達し、著者らはこれをXeon E-2356Gベースラインの2.14〜3.14倍としています。UltraScale+製品としてはクロックが低く、比較対象もGPUではなくCPUなので、実現可能性を示した結果として捉えてください。

  • End-to-End NTT on FPGA for FHE Acceleration

    M. Allam, T. Spendlhofer, H. Sanz-González et al. · arXiv cs.CR · ダイジェスト

    数論変換(NTT)とその逆変換はFHEベースのニューラルネットワーク推論でCPU時間の約63%を占めるため、著者らは完全展開のディレイコミュテータ型ストリーミングNTTカーネルを構築し、AMD Alveo V80の3つのダイにまたがってフロアプランしました。400 MHzで65,536係数の多項式を5.12マイクロ秒ごとに変換し、著者らはこれをそのサイズでのFPGA最高スループットとしています。オフロード時には変換1回あたりCPUの最大22倍高速です。128ビットセキュリティのパラメータでLattigoライブラリに統合すると、鍵切り替えとブートストラッピングが1.8〜2.2倍、エンドツーエンドの推論が1.8〜2.1倍高速化します。カーネルの高速化に比べてエンドツーエンドの利得が控えめなことは、FHEのうちNTT以外の部分がいかに多いかを示しています。