Netflixのデータセンターエンジニアリングチームは最近、動画配信サービスの暗号化ビデオ帯域幅を100Gbpsから約200Gbpsに倍増させるというミッションに着手しました。同社はIntelとAMDの両方のサーバーで目標を達成し、AMD Epycサーバーでは帯域幅が従来の3倍に増加しました。
Intel Xeon サーバーの改善
Netflixのシニアソフトウェアエンジニアであるドリュー・ギャラティン氏がEuroBSDcon 2019カンファレンスで詳細を述べ、Phoronixも詳細を説明したように、Netflixは2016年からIntel Broadwell Xeon CPUを搭載したFreeBSDサーバーを使用し、単一サーバーから100Gbpsの暗号化ビデオデータを処理していました。Broadwell CPUは、60GBpsのメモリ帯域幅と、32GBpsのI/O帯域幅をサポートする40個のPCIe 3.0レーンを備えています。
同社の最新サーバープロセッサには、90GBpsのメモリ帯域幅と48本のPCIe 3.0レーンを備え、38GBpsのI/O帯域幅をサポートするIntel SkylakeとCascade Lakeが含まれています。しかし、Netflixが暗号化ビデオの帯域幅目標である200Gbpsを達成するには、少なくとも64本のPCIe 3.0レーンが必要でした。
Netflixはどのようにしてそれを実現したのだろうか? ガラティン氏のプレゼンテーションによると、その解決策は「CPUソケットをもう1つ追加する」こと、つまりサーバーあたりのCPUソケット数を2倍にすることだった。
その結果、NetflixのIntelサーバーは105Gbpsから191Gbpsに向上しました。新しいデュアルソケットIntelベースサーバーは、180GBpsのメモリ帯域幅、96レーンのPCIe 3.0、約75GBpsの/IO帯域幅を備えています。
AMD Epyc サーバーの改善
Netflixは、暗号化されたビデオデータにAMDの「Rome」Epycサーバーチップも使用しています。AMDのチップでは、デュアルソケットにする必要はなく、Netflixはサーバーごとに「クアッドチップレット」Epyc CPUを使用できました。AMD CPUは、120~150 GBpsのメモリ帯域幅、100 GBpsのI/O帯域幅(PCIe 4.0の場合は200 GBps)を備えた128個のPCIe 3.0 / PCIe 4.0レーンをサポートしています。
AMD CPUは当初、Intel CPUに比べて大幅に低速で、サーバー1台あたり68Gbpsの暗号化ビデオデータしか処理できませんでした。これは、FreeBSDが新しいZenアーキテクチャとEpycサーバーチッププラットフォーム向けに十分な最適化を行っていなかったことが原因と考えられます。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
Netflix チームが可能な限りの最適化を適用した結果、シングル ソケットの Epyc サーバーはデュアル ソケットの Xeon サーバーに追いつき、わずかに上回り、初期のパフォーマンスが 68 Gbps から 194 Gbps へと 3 倍に向上しました (Xeon の場合は最終的に 191 Gbps)。
Netflixチームは、AMDがLinuxなどのサーバーOS向けのツールをまだ十分に開発していないと批判しました。しかし、AMDのEpycサーバーチッププラットフォームの人気が高まっていることから、AMDがツール開発にさらに積極的に投資することが期待されます。