ネットフリックスはAMD Epycプロセッサを活用して最大400 Gbpsの帯域幅を増やす

Netflixのシニアソフトウェアエンジニア、Drew Gallatinは、ハードウェアとソフトウェアアーキテクチャを最適化する同社の取り組みについて開き、2億9000万人以上の加入者に大量のビデオエンターテイメントをストリーミングできるようにしました。

同社は現在、単一のサーバーから毎秒200 GBまで圧迫することができますが、同時にアップグレードしたいと考えています。この取り組みの結果は、9月22日(水)にトムのハードウェアから引用されたEuroBSD 2021カンファレンスで発表されました。

ギャラティンは、Netflixは32コアEpyc 7502p(ローマ)CPUの組み合わせを使用して、毎秒400 Gbまでのコンテンツをプッシュすることができると言いました。 256 GB の DDR4-3200 メモリ、2 テラバイトのウエスタン デジタル SN720 NVMe の 18 ドライブ、および 2 つの PCIe 4.0 x16 Nvidia Mellanox ConnectX-6 Dx ネットワーク アダプターは、それぞれ 2 つの 100 GB 接続を収容できます。

このシステムの最大理論スループットを把握するために、1秒あたり約150 GBの帯域幅を提供する8つのメモリチャネルと、最大250 GBのI/O帯域幅を可能にする128のPCIe 4.0回線があります。ネットワーク単位では、それぞれ毎秒約1.2 TB、毎秒2 TBです。また、これはNetflixが最も人気のあるコンテンツを提示するために使用するものです。

この構成は、主にメモリ帯域幅の制限により、通常は 1 秒あたり最大 240 GB のコンテンツを提供できます。Netflixは、異なる非ユニフォームメモリアーキテクチャ(NUMA)構成を試し、1つのNUMAノードで毎秒240 GBを生成でき、4つのNUMAノードが毎秒約280GBを生成しました。

ただし、このアプローチには、待機時間が長くなるなど、独自の問題が数多く発生します。通常のメモリ アクセスと競合した結果として CPU のボトルネックやシャットダウンを防ぐために、NUMA Infinity Fabric からできる限り大量のデータを格納するのが理想的です。

ギャラティンは、ソフトウェアの最適化を使用して、これらの制限を克服することが可能であると説明しています。2 つの Mellanox アダプターに TLS 暗号化タスクをアンパックすることで、合計スループットが 380 GB/秒 (追加調整で最大 400 GB) 、またはネットワーク インターフェイス カードあたり 190 GB/秒 (NIC) に増加しました。

CPU が暗号化を実行する必要がなくなったことで、NUMA ノードが 4 つ、NUMA が使用されていない場合、全体使用率が 50% に低下します。Netflixはまた、インテルXeon Platinum 8352V(Ice Lake)CPUを搭載したプラットフォームや、アンペーアの巨大なAltra Q80-30、80アームネオバースN1コアを最大3GHzで搭載するなど、他のプラットフォームに基づく構成も模索しています。

XeonテストベッドはTLS分解なしで毎秒230 GBに達することができ、Altraシステムは320 GBper秒に達する。400 GB/秒の結果に満足していない同社は、すでに毎秒800 GBのネットワーク接続を処理する新しいシステムを構築しています。ただし、必要なコンポーネントの中には、テストを実行するのに間に合わないものがあります。