記事

FPGAアクセラレータカードのDDR4とDDR5メモリ帯域幅の比較

要約:DDR5モジュールはDDR4と同じフットプリントでより高い帯域幅を提供する

しかし、GDDR6、HBM、HBM2eは桁違いの帯域幅を提供します。

2021年導入、 DDR5 SDRAMは多くの性能をもたらす が強化され、FPGAカードで利用できるようになる、 しかし、それはどれくらい速いのだろうか?また、HBM2eやGDDR6といった他のタイプのメモリと比べてどうなのだろうか?

倍速?

DDR5 と DDR4 を比較する単純な方法は、帯域幅が 2 倍になったということです。しかし、このような大雑把な表現では、モジュールの速度やシステム内のモジュール数など、現実のさまざまな要因を把握することはできません (例えば、4 つの DDR4 モジュールは、2 つの DDR5 DIMM と同等のパフォーマンスを提供する場合があります)。これらの DRAM テクノロジーをより良く比較するために、まず DDR5 の理論上の最大帯域幅性能を実現する基礎要因について見ていきます。次に、BittWare FPGA アクセラレーターカードのシステムレベルで、この性能がどのように変換されるかを見ていきますまた、GRRD6 や HBM といったハイエンドのメモリ・タイプとも比較 、標準的な DDR メモリと比較して優位性があるかどうかを確認します。

スピードの計算

まず、DIMM レベルで帯域幅がどのように計算されるかを見てみましょう。DDRの5つの世代を通じて、モジュールの性能は通常、MT/秒(メガ転送/秒)またはGB/秒(ギガバイト/秒)で表示されます。クロックレートはデータ転送レートの半分であり、これがDDRの頭文字をとった「ダブルデータレート」の由来です。この比率はDDR5でも変わっていません。

何が 変わったのは 利用可能な転送速度(MT/秒またはGB/秒)が大幅に向上したことです。現在の DDR4 は、ECC モジュールで 3,200MT/s (@ 1.6GHz クロックレート)の速度に達している。モジュールは通常、特定のモジュール速度で表記されるため、これは DDR4-3200 となる。しかし、DDR5については FPGA接続SDRAMに適したDDR5-5600オプションがすでに用意 されている。 5,600 MT/s (@2.8GHz)です。

この速度の優位性は、DDR5 仕様が最大8,400 MT/sをサポートすることで、時間の経過とともにさらに高まるでしょう。 8,400 MT/s (@4.2GHz)までサポートする!しかし、本日の比較では、FPGAカードをターゲットとするDDR5-5600モジュールを使用します。

デュアル・チャンネルとシングル・チャンネル

DDRの「D」は、クロックがデータレートの半分であることを意味するが、これはDDR5でも変わっていない。DDR5 DIMMがデュアルチャネルになったため、モジュールあたりのチャネル数に注目すべき変更が ありますこれらのチャネルのバス幅は小さく、一般に、ここで期待される生の帯域幅の利点は否定されます。具体的には、DDR5では各モジュールに40ビットチャネルが2つあり、そのうち8ビットがECC用です。つまり、モジュール・レベルでは合計80ビットとなり、DDR4のシングル・チャネルの72ビット(ECC用の8ビットを含む)と比較しています。

図を見て、モジュールレベルでレイアウトされていることを確認してください:

つまり、80ビットと72ビットを比較すると、ユーザーがECCビットを「通常の」データビットに変換する場合は、DDR5がわずかに有利です。通常のデータにECCを使用しない場合、64ビットのシングル・チャネルか、64ビットを2つのチャネルにまたがって使用するかは本質的に同じです。 

以下の比較では、より大きなビットをチャネルに使用することを想定し、DDR5にわずかな優位性を与えた(モジュール・レベルで72ビットに対して80ビット)。 DDR5側で2つのチャネルを持つことで、メモリへのアクセスがより効率的になり、レイテンシが向上するという利点もある。 メモリへのアクセスがより効率的になり、レイテンシが有利になります。

DDR5のさらなる利点

この記事では取り上げませんが、帯域幅以外にも DDR5 には利点があります。 電力に関しては、DDR5 DIMMはDIMMモジュール上に電力管理回路を集積しており、カード上に電力管理を実装する必要はありません。また、DDR5 は DDR4 よりも低い電圧(1.1V 対 1.2V)を必要とするため、高速動作に必要な消費電力の増加に役立ちます。

ケーススタディ - 大テーブル検索

重要なネットワーキング・アプリケーションの中には、FPGAを通過するパケットごとにテーブルの検索と更新を行う必要があるものがあります。小さなテーブルであれば、プログラマはFPGA内部の低レイテンシ・スタティック・メモリを使用できます。しかし、テーブル・サイズがFPGAの容量を超えると、プログラマーはFPGAの外部メモリを活用する必要がある。これは性能面で大きな課題となる。また、BittWare のようなカード・ベンダーにとっては、市場での差別化を図るチャンスでもある。その一例として、BittWareは、AMD FPGA ベースの製品の多くで QDR-II+ スタティック外部メモリを独自にサポートしています。この機能により、約10GbEのパケットレートでパケットを処理しようとする顧客のために、いくつかの重要な設計上の成功を収めることができました。

XUP-VV8はQDR-II+メモリーを搭載しています。

しかし、パケットレートが上がれば、アクセスレートもテーブルサイズも大きくなる。今日の100GbE以上のレートに対応するソリューションは、多数のチャンネルを持つダイナミック・メモリを提供することです。DDR4からDDR5へのチャネル数の単純な倍増よりも、はるかに多くのチャネルが必要です。これが、最新のFPGAカードの多くがGDDR6またはHBM2eメモリを提供している理由です。

すべてのダイナミック・メモリ技術、DDR4/5、GDDR、およびHBMは、ほぼ同じコアアクセスレイテンシを提供します。チャネル数を増やすと、待ち行列の遅延によるレイテンシが減少します。また、チャネル数を多くすることで、テーブル・ルックアップと更新アルゴリズムを作成し、並列メモリ・アクセスの振り付けを行うことができます。これにより、ディープ・パイプラインを使用した高アクセス・レートで、決定論的なテーブル・ルックアップのレイテンシを作り出すことができる。

FPGAアクセラレータカードの比較

さて、モジュールレベルから、本当に重要な場所であるシステムレベル(メモリ搭載アクセラレータの場合はカードレベル)に移動してみましょう。バンク数(DIMMスロットやディスクリートはんだ付けメモリのグループ)やサポートされる速度がパフォーマンスに大きな影響を与える可能性があることを考慮することが重要です。

今回の比較では、合計 4 つのコンフィギュレーションを持つ FPGA ボード 3 枚を選びました(1 枚は DDR4-2400 と DDR4-3200 を比較するため 2 つのコンフィギュレーション)。帯域幅を求めるのは比較的簡単ですが、この理論上の最大値であっても、システム帯域幅を提示することで、アプリケーションに最適な選択肢を見出すことができると感じています。

比較表

カードメモリータイプ総チャンネル数+幅トータルメモリーモジュール速度時計合計帯域幅1
520N-MXDDR4-2400 DIMM×22x/72ビット32 GB (16 GB x 2)2,400 MT/s 2.4 GB/s1.2 GHz19.2GB/秒
IA-840f2x DIMMS DDR4-2400 +
2x ディスクリート DDR4-2400
4x/72ビット128 GB(32 GB x 4)2,400 MT/s 2.4 GB/s1.2 GHz38.4 GB/秒
IA-840f2x DIMMS of DDR4-3200 +
2x ディスクリート DDR4-3200
4x/72ビット64GB(16GB×4本)3,200 MT/s 3.2 GB/s1.6 GHz51.2 GB/秒
FPGAカードDDR5-5600の2x DIMM4x/40ビット128 GB (64 GB x 2)5,600 MT/s 5.6 GB/s2.8 GHz44.8 GB/秒
1総帯域幅は次のように計算されます:(クロックレート)×(バス幅)×(チャンネル数)

 

帯域幅が低い方の520N-MXでは、2枚のDDR4-2400モジュールで合計19.2GB/秒の理論帯域幅が得られます。しかし、最後の行にジャンプダウンすると、わずか2枚のDDR5 DIMMを搭載したFPGAカードの帯域幅は、2倍以上の44.8 GB/秒になります!これは、DDR5-5600モジュールをサポートするカードの場合です。つまり、同じ数のDIMMを使用した場合、DDR5はDDR4よりもモジュールあたり2倍の性能を発揮できるのです。

しかし、グラフの真ん中の2行(IA-840fカード)を見てください。1つはDDR4-2400(520N-MXと同じ)、もう1つはDDR4-3200です。どちらの構成にも、2つのDIMMと、DIMMと同様に構成された2つのハンダ付けディスクリートバンクが含まれており、ボードレベルで4つのDIMMとほぼ同等です。

その結果は?2,400MT/秒のメモリはまだDDR4より遅いが、3,200MT/秒に移行すると、実際には51.2Gb/秒となり、DDR5よりわずかに帯域幅が広くなる。もちろん、これは現在のDDR5の速度を使用した場合であり、いずれはさらに広帯域のモジュールに駆逐されるだろう。さらに、DDR5 は非常に高速で、モジュールあたりの大容量に対応しているため、大型 FPGA を搭載した PCIe カードの設計要因となり得る物理的スペース(機械的および熱的エアフローの両方)を節約できます。

広帯域メモリ:GDDR6とHBM

さて、DDR4 と DDR5 を比較しましたが、これらの SDRAM タイプは GDDR6 や HBM のようなハイエンド・メモリ・タイプと比較してどうでしょうか?DDR5 は性能の大きなギャップを埋めたのでしょうか?

SDRAMメモリ帯域幅の比較

BittWare FPGAカードのメモリ比較

ご覧のように、DDR5 は DDR4 に比べて大きな(そして高速化が進むにつれて増加する)アドバンテージを持っていますが、GDDR6、HBM、HBM2e と比較すると、依然として桁違いの差があります。

超高速HBM2e(HBM2のアップデート)がFPGAとインパッケージで実装されています。IA-860mカードのIntelAgilex 7 MシリーズFPGAに2つの16GBスタックメモリ(合計32GB)を搭載した場合、合計ピーク帯域幅は最大820GBpsとなる。これは最大で 18x倍である!

HBM2eほど高速ではないが、GDDR6とHBMは依然としてDDR5を上回っている。 10x.GDDR6は、バンクごとに2つの独立した16ビット・チャネルをサポートしているため、GDDR6を8バンク搭載したカード(Achronix FPGAを搭載したBittWare「S7t-VG6」など)は、最大448GB/秒の帯域幅を持つ。当社のXUP-VVHは、AMD VirtexUltraScale+ VU-37PデバイスのおかげでHBMメモリを搭載しています。

結論

結論として最も参考になるのは、BittWare の FPGA カード・ポートフォリオから利用可能なさまざまなオプションに注目することだろう。DDR5 は改善されたものであり、大容量で高速なメモリを入手する優れた新しい方法となるだろう。DDR4 はより成熟した技術であり、広く入手可能で、DDR5 と比べてもまだ十分通用する。本当にメモリを多用するアプリケーションの場合は、HBM2eやGDDR6のような超高速オプションに注目しよう。