Inside Gen 13:私たちがこれまでで最も強力なサーバーを構築した方法
公開日: 2026-03-23
著者: Syona Sarma, JQ Lau, Ma Xiong, Victor Hwang
所要時間: 13分読み
数か月前、Cloudflare は FL2 への移行を発表しました。FL2 は Cloudflare のコアなリクエスト処理レイヤーを Rust で書き直したもので、この移行によりより良いインターネット構築を加速します。ソフトウェアスタックの移行にあわせて、Cloudflare はサーバーハードウェアの設計も刷新し、ハードウェア能力と効率性を向上させ、ネットワークとソフトウェアスタックの進化する要求に応えられるようにしました。
Gen 13 は以下の構成で設計されています。
- 192-core AMD EPYC™ Turin 9965 プロセッサ
- 768 GB の DDR5-6400 メモリ
- 24 TB の PCIe 5.0 NVMe ストレージ
- デュアル 100 GbE ポートのネットワークインターフェイスカード
Gen 13 がもたらすもの:
- Gen 12 と比べて最大でスループットが2x(レイテンシ SLA 内を維持)
- ワットあたりの性能効率が最大で50%向上し、データセンター拡張コストを低減
- ラックあたりのスループットが最大で60%向上(ラック電力予算を一定に保った場合)
- メモリ容量が2x、ストレージ容量が1.5x、ネットワーク帯域が4xに増加
- メモリ暗号化に加えて PCIe 暗号化ハードウェアサポートを導入
- 高熱設計の強力なドロップイン PCIe アクセラレータに対するサポートを改善
このブログ記事では、各主要コンポーネント選定のエンジニアリング上の根拠(何を評価したか、何を選んだか、なぜ選んだか)を解説します。
世代比較(Compute)
| 項目 | Gen 13 | Gen 12 |
|---|
| フォームファクタ | 2U1N, シングルソケット | 2U1N, シングルソケット |
| プロセッサ | AMD EPYC™ 9965 Turin 192-Core Processor | AMD EPYC™ 9684X Genoa-X 96-Core Processor |
| メモリ | 768GB DDR5-6400(x12 メモリチャネル) | 384GB DDR5-4800(x12 メモリチャネル) |
| ストレージ | x3 E1.S NVMe Samsung PM9D3a 7.68TB / Micron 7600 Pro 7.68TB | x2 E1.S NVMe Samsung PM9A3 7.68TB / Micron 7450 Pro 7.68TB |
| ネットワーク | デュアル 100 GbE OCP 3.0 Intel Ethernet Network Adapter E830-CDA2 / NVIDIA Mellanox ConnectX-6 Dx | デュアル 25 GbE OCP 3.0 Intel Ethernet Network Adapter E810-XXVDA2 / NVIDIA Mellanox ConnectX-6 Lx |
| システム管理 | DC-SCM 2.0 ASPEED AST2600 (BMC) + AST1060 (HRoT) | DC-SCM 2.0 ASPEED AST2600 (BMC) + AST1060 (HRoT) |
| 電源 | 1300W, Titanium Grade | 800W, Titanium Grade |
図: Gen 13 サーバー CPU
- Gen 12: AMD EPYC™ 9684X Genoa-X 96-Core (400W TDP, 1152 MB L3 Cache)
- Gen 13: AMD EPYC™ 9965 Turin Dense 192-Core (500W TDP, 384 MB L3 Cache)
設計段階では、Cloudflare のハードウェアラボでいくつかの第5世代 AMD EPYC™(Turin)プロセッサを評価しました: AMD Turin 9755、AMD Turin 9845、AMD Turin 9965。以下の表は、Gen 13 サーバー候補としての各 Turin 系 CPU と Gen 12 で使用していた AMD Genoa-X 9684X の仕様差をまとめたものです。注目点として、候補はいずれもコア数が増加しますが、コアあたりの L3 キャッシュは小さくなっています。しかし、FL2 への移行により新しいワークロードは L3 キャッシュへの依存が低く、コア数増加と良好にスケールして最大 100% のスループット増加を達成します。
3つの CPU 候補は異なるユースケースをターゲットに設計されています。
- AMD Turin 9755: コアあたり性能重視
- AMD Turin 9965: コアあたり性能をある程度犠牲にして効率を重視
- AMD Turin 9845: コア数を抑えてソケットあたりの消費電力を低く抑える
| CPU Model | AMD Genoa-X 9684X | AMD Turin 9755 | AMD Turin 9845 | AMD Turin 9965 |
|---|
| 対象サーバープラットフォーム | Gen 12 | Gen 13 candidate | Gen 13 candidate | Gen 13 candidate |
| CPU コア数 | 96 | 128 | 160 | 192 |
| スレッド数 | 192 | 256 | 320 | 384 |
| ベースクロック | 2.4 GHz | 2.7 GHz | 2.1 GHz | 2.25 GHz |
| 最大ブーストクロック | 3.7 GHz | 4.1 GHz | 3.7 GHz | 3.7 GHz |
| オールコアブーストクロック | 3.42 GHz | 4.1 GHz | 3.25 GHz | 3.35 GHz |
| 合計 L3 キャッシュ | 1152 MB | 512 MB | 320 MB | 384 MB |
| コアあたり L3 キャッシュ | 12 MB / core | 4 MB / core | 2 MB / core | 2 MB / core |
| 最大設定可能 TDP | 400W | 500W | 390W | 500W |
なぜ AMD Turin 9965 を選んだのか
1) FL2 がもたらした "L3 キャッシュ不足" の解消
L3 キャッシュは同じダイ上の全コアで共有される最後レベルの大容量キャッシュで、頻繁に使われるデータを保持します。これにより CPU が外部の遅いメインメモリにアクセスする回数を減らし、アクセスレイテンシを低減します。9965 はコアあたりの L3 キャッシュが 2 MB と、Gen 12 の Genoa-X 9684X の 12 MB / core と比べて 83.3% 減少しています。では、なぜ Gen 12 の優位点であった大容量 L3 キャッシュを放棄するのか?答えはワークロードの変化にあります。
Cloudflare は FL1 から FL2 に移行しました。FL2 は Rust によるリライトで、リクエスト処理パイプラインが大きく変わり L3 キャッシュへの依存度が大幅に低下しました。FL2 ワークロードはコア数に対してほぼ線形にスケールし、9965 の 192 コアは Gen 12 の 2x のハードウェアスレッドを提供します。
2) 総保有コスト(TCO)あたりの性能
本番評価では 9965 の 192 コア構成が候補の中で最高の合計 RPS(requests per second)を示し、500W TDP 時のワットあたり性能も有利にスケールしてラックレベルでの TCO を改善しました。
- Gen 12: AMD EPYC™ 4th Gen Genoa-X 9684X(96C/192T)
- Gen 13: AMD EPYC™ 5th Gen Turin 9965(192C/384T)
- FL スループット: ベースライン → 最大 +100%
- ワット当たり性能: ベースライン → 最大 +50%
3) 運用の簡素化
運用チームは高密度サーバー(少ないノードでより多くの計算を担える)を好みます。192 コア機を採用することで、単位あたりのコンピュートを提供する際のノード数を減らせるため、プロビジョニング、パッチ適用、監視などの運用負荷がグローバルネットワーク全体で直接的に低減します。
4) 将来互換性
AMD のアーキテクチャは DDR5-6400、PCIe Gen 5.0、CXL 2.0 Type 3 メモリを SKU 横断でサポートします。AMD Turin 9965 はソケットあたり業界最多クラスの高性能コア数を持ち、ソケットごとの計算密度を最大化します。これによりプラットフォームの競争力と関連性を数年間維持できます。Genoa-X から Turin 9965 への移行は AMD からのより長いセキュリティサポートも意味し、Gen 13 サーバーの実用寿命を延ばします。
メモリ
- Gen 12: 12x 32GB DDR5-4800 2Rx8(合計 384 GB、4 GB/core)
- Gen 13: 12x 64GB DDR5-6400 2Rx4(合計 768 GB、4 GB/core)
Turin プロセッサは前世代の2倍のコア数を持つため、スループット向上を実現するには容量と帯域の両面でより多くのメモリリソースが必要です。
12チャネルで帯域を最大化
選択した AMD EPYC™ 9965 は 12 チャネルのメモリをサポートしており、Gen 13 ではすべてのチャネルを埋めています。64 GB DDR5-6400 ECC RDIMM を「1 DIMM per channel(1DPC)」構成で採用し、ソケットあたりピーク 614 GB/s のメモリ帯域を確保しました。これは Gen 12 プラットフォーム比で 33.3% の増加です。12 チャネルすべてを活用することで、最もメモリ集約的な並列ワークロード時でも CPU がデータ不足に陥らないようにしています。
AMD Turin プロセッサは同一 DIMM 種別、同一容量、同一ランク構成で全メモリチャネルにまたがってインターリーブを行うため、バランスの取れた 12 チャネル構成(チャネルごとに等容量、混在なし)が重要です。インターリーブにより連続するメモリアクセスがインターリーブセット内の全チャネルに分散され、単一または小さなチャネル集合にアクセスが集中するのを防ぎ帯域を増やします。
4 GB/core の "スイートスポット"
Gen 12 サーバーは 4 GB/core で構成していました。Gen 13 設計時にこの比率を再検討しました。Cloudflare は毎月多くの新サービスを開始しており、それぞれがメモリ容量を追加で必要とします。これらは累積し、適切に容量を確保していないとメモリプレッシャーの原因になります。
初期要件としてはコアあたり 4 GB 〜 6 GB を検討しました。192 コアの Turin 9965 ではこれが 768 GB 〜 1152 GB の範囲になります。DIMM 容量のグラニュラリティは通常 16GB 単位のため、1DPC の 12 チャネルでは選択肢は以下になります。
- 12x 48GB = 576 GB(1.5 GB/スレッド) — 下限を満たさず容量不足
- 12x 96GB = 1152 GB(3.0 GB/スレッド) — コア当たり容量を 50% 増やすが消費電力とコストが大幅増(メモリ価格上昇中)
- 12x 64GB = 768 GB(2.0 GB/スレッド、4 GB/core) — Gen 12 と同じ 4 GB/core 比率を維持し、サーバーあたり容量を2xにする現実的選択
結果として 12x 64GB(合計 768 GB)を採用しました。これにより実績ある 4 GB/core 比率を維持し、Gen 12 と比べて総容量を 2x に増やしつつ、DIMM のコスト曲線のスイートスポットにも留まります。
FL2 は FL1 よりメモリを効率的に使用します。内部計測では FL2 は FL1 の半分未満の CPU を使用し、メモリ使用量も大幅に削減されます。ソフトウェアスタックの移行で空いた容量は、今後数年間の Cloudflare の成長を支える余裕を提供します。
デュアルランクによる効率
Gen 12 ではデュアルランク DIMM がシングルランクより最大 17.8% のメモリスループット優位を示しました。デュアルランクはコントローラが一つのランクにアクセスしている間に別のランクがリフレッシュできるため高速です。この原理は Gen 13 でも適用されます。
要件としてはハードウェアスレッドあたり約 1 GB/s のメモリ帯域を目標としており、ソケットあたりピーク 614 GB/s を 384 スレッドで割ればスレッドあたり 1.6 GB/s を提供し、最低ラインを余裕を持って超えます。本番分析では Cloudflare のワークロードはメモリ帯域ボトルネックにはなっておらず、この余裕は将来のワークロード成長に対するマージンとなります。
そのため、2Rx4 DDR5 RDIMM を最大サポートの 6400MT/s で採用し、Gen 13 プラットフォームのメモリ構成で最低レイテンシと最高性能を確保しています。
ストレージ
- Gen 12: x2 E1.S NVMe PCIe 4.0、合計 16 TB
- Samsung PM9A3 7.68TB
- Micron 7450 Pro 7.68TB
- Gen 13: x3 E1.S NVMe PCIe 5.0、合計 24 TB
- Samsung PM9D3a 7.68TB
- Micron 7600 Pro 7.68TB
-
- フロントに最大 10x の U.2 NVMe PCIe 5.0 オプション
Gen 12 で M.2 から EDSFF E1.S へ転換した際にストレージアーキテクチャは変革を受けました。Gen 13 では容量と帯域を最新技術に合わせて拡大しています。また、フロントドライブベイを追加して最大 10 台の U.2 ドライブを搭載できる柔軟性を持たせ、Cloudflare のストレージ製品の成長に対応できるようにしました。
PCIe 5.0 への移行(Gen 13)
Gen 13 は PCIe Gen 5.0 NVMe ドライブで構成されています。Gen 4.0 は十分に機能してきましたが、Gen 5.0 への移行によりストレージサブシステムは改善されたレイテンシでデータを提供でき、新プロセッサからの増大するストレージ帯域需要に追従できます。
16 TB から 24 TB へ
速度向上に加え、物理的にドライブを 2 台から 3 台へと増やし、サーバーあたりのストレージ容量を 16 TB から 24 TB に拡張しました。Gen 12 サーバープラットフォームは E1.S のストレージスロットを 4 個設計していましたが、8TB ドライブは 2 スロットのみを実装していました。Gen 13 では同じ 4 スロット設計で 8TB ドライブを 3 スロットに実装しています。
なぜ 3 台目を追加したのか?これはサーバーごとのストレージ容量を 16TB から 24TB に増やし、CDN キャッシュ性能を維持・改善するためです。Durable Objects、Containers、Quicksilver サービスの成長予測もこれをサポートします。
追加ドライブ用のフロントドライブベイ
Gen 13 のシャーシは、最大 10 台の U.2 PCIe Gen 5.0 NVMe ドライブをサポートできるフロントドライブベイを備えるように設計されています。