サーバー購入費ゼロ:Cloudflareはいかにして100TBのメモリを捻出したのか

サーバー購入費ゼロ:Cloudflareはいかにして100TBのメモリを捻出したのか

システム最適化コスト制御

データソース:Cloudflare Blog

高価な「1バイト」

2026年のテック業界では、すべての企業が計算能力とメモリを求めて狂ったようにサーバーを調達しています。しかし、Webインフラストラクチャの巨人であるCloudflareのデータセンターでは、エンジニアたちが拡張の歩みを止め、代わりに無駄にされているバイトを探すために低レイヤーのコードを注視していました。

CloudflareのDNSシステム「Big Pineapple」は、毎日世界中から膨大な数のネットワークリクエストを処理しています。そのキャッシュエントリは2,500億件を超えており、この天文学的な数字の前では、わずか1バイトの無駄がクラスタ全体で250GBの余分なメモリ消費をもたらします。

Cloudflareブログのヘッダー画像 図:Cloudflareのサービスノード分布。ソース:Cloudflare Blog

TBクラスのVRAMを要求するAIの大規模モデルの前では、数百GBは取るに足らないように聞こえるかもしれません。しかし、極めて高速な応答が求められる低レイヤーシステムにとって、肥大化したメモリは高価なハードウェアの請求書をもたらすだけでなく、許容できない遅延を引き起こします。

ピクセルレベルの搾り出し

リソースの無駄に直面し、彼らは最もハードコアな解決策を採用しました。それはRust言語レベルでの究極のメモリレイアウト最適化です。これは、荷物が詰め込まれた倉庫の棚の構造を再計画し、強引に大きな空き地を確保するようなものです。

従来の手法では、データの保存に動的配列(Vec)や文字列(String)を使用します。この方式には「容量(capacity)」フィールドが備わっており、将来の拡張のためにスペースが予約されています。Cloudflareのエンジニアは、それらをすべて固定長のBox<[T]>Box<str>に置き換え、予約スペースの無駄を直接断ち切りました。

キャッシュ構造最適化の図解 図:動的配列の容量フィールドを削除する前後のメモリ構造の比較。ソース:Cloudflare Blog

彼らはまた、データ構造をリファクタリングし、元々分散していた複数のリストを単一のリストに統合し、オフセット(offset)を使用して正確に配置しました。もしクエリされたドメイン名がレコードの所有者と同じ場合、システムは所有者フィールドを直接削除します。この一連の組み合わせにより、各キャッシュエントリのメモリ使用量は50%以上削減されました。

パフォーマンスとコストのWin-Win

究極の倹約は、驚異的な見返りをもたらしました。5つの連続した最適化により、累計で約100TBのメモリが解放されました。これは、Gen 13サーバー130台分の総メモリ量に相当します。

これにより、莫大なサーバー調達費用が節約されたと同時に、システム全体のパフォーマンスも大幅に向上しました。よりコンパクトなデータ構造は、CPUキャッシュのヒット率を高め、最終的にシステムの挿入スループットを43%向上させ、クエリの遅延を19%低下させました。

この時代、システム最適化はマイナーな技術になりつつあるように思えます。しかし、見落とされがちな低レイヤーの細部には、依然として巨大なエネルギーが隠されていることが事実として証明されました。

忘れられたレバー

エンジニアがコードを一行ずつ最適化したことで、100TBのメモリが捻出されました。ハードウェアを狂ったように積み上げるこの時代に、Cloudflareはすべての人に古い教訓を与えました。

誰もが資金で計算能力のボトルネックを解決することに慣れており、最も基本的なコードの品質は忘れ去られがちです。数千億のパラメータや数万のGPUクラスタについて語るとき、私たちはメモリ内で眠っている無効なバイトに目を向けるべきかもしれません。

Cloudflareの100TBメモリ解放事件の直感的なデータは、1つの事実を証明しています。誰もがAIに資金を燃やす時代において、古典的なシステム最適化こそが、最大かつ最も見落とされているコストレバーであるということです。 盲目的にハードウェアを積み上げるのではなく、足元のインフラストラクチャを再考することこそが、この時代のシステムエンジニアが提示できる最も力強い回答であると筆者は考えます。

参考リンク:

  • Cloudflare Blog