it.xnews.jp
出典: Cloudflare Blog 原文公開: 2026-09-18 生成: 2026-09-18 読了 約 3 分 model: claude-haiku-4-5 原文: https://blog.cloudflare.com/saving-100-tb-of-ram-with-math/ raw.md

Cloudflareが数学とRustで100TBのRAMを削減

Cloudflareは内部ロードバランシングサービスの一貫性ハッシュアルゴリズムを改善し、グローバルで100TBのRAMを削減した。構造体圧縮とサーバーあたりのハッシュ数削減により、エラー率を許容範囲内に抑えながらメモリ使用量を大幅に削減した。

Cloudflareは先月のDNSチームによる100TBのRAM削減に続き、Pingora Backend Router(内部ロードバランシングサービス)の一貫性ハッシュアルゴリズムの最適化を通じて、さらに100TBのRAMをグローバルデータセンターで削減した。この改善により、pingora-ketamaに関連する構造体の過度なメモリ使用が解決されたとされている。

構造体圧縮による削減

Ivanが提出したチケットで、Pingora Backend Routerのpingora-ketamaから過度なメモリ使用が発見された。元の構造体Pointはu32型のハッシュとu32型のインデックスを格納していたため、メモリ上で8バイトを占有していた。Zaidoonは、PBR(Pingora Backend Router)が2^16を超えるサーバー数を調整することはないため、インデックスに16ビット整数で十分であると指摘した。Rust のアライメント規則により構造体のサイズは最大フィールドサイズの倍数である必要があるため、この変更は単独で25%のメモリフットプリント削減を実現した。

ハッシュ数の最適化

一貫性ハッシュアルゴリズムは、サーバー追加時や削除時に大きな変更を要さずにタスクをサーバー間に分散させる。NginxとPingoraは両者ともサーバーあたりのハッシュ数として160をデフォルト値として使用している。Cloudflareは、許容可能なエラー範囲内で、サーバーあたりのハッシュ生成を90%削減できると判定した。2048個のサーバーを備えたデータセンターでは、ハッシュ衝突が10,000〜100,000ハッシュ/サーバー間でエラー率を上昇させると報じられている。

段階的なロールアウト

Cloudflareはマイグレーションフレームワークを使用して、リクエストベースで決定を行った段階的なロールアウトを実施した。移行期間中、バックエンド選択トレース、リングバージョンカウンター、PBR接続エラー、プロセスメモリ、起動時間、キャッシュ動作、オリジントラフィックなどが監視された。変更はpingora-ketama クレートでカーゴフィーチャーとして利用可能であり、v2リングはコンパクト化されたストレージ形式、高速化されたソート方法、ノードあたりのハッシュ基数スケーリング機能を備えている。

筆者の見立て

この記事は元記事の事実のみに基づいて自動生成されました。

出典

Cloudflare Blog「Saving another 100TB of RAM with math (and Rust)」https://blog.cloudflare.com/saving-100-tb-of-ram-with-math/

この記事をシェア