Netflix シームレスなストリーミング体験を拡充

Netflix は EC2 インスタンスを CPU マイクロアーキテクチャー・レベルで最適化し、性能に優れた高品質ビデオコンテンツを提供しています。

概要:

  • Netflix はホーム・エンターテインメントを変革し、あらゆるデバイスにおいて信頼性に優れカスタマイズされた体験を、2 億 6 千万人の加入者に提供する取り組みをしています。

  • インテルとの連携により、Netflix は Amazon EC2 インスタンスをマイクロアーキテクチャー・レベルで最適化し、パフォーマンスの向上とクラウド支出の削減を実現しました。

author-image

投稿者:

エグゼクティブ・サマリー

Netflix はホーム・エンターテインメントを変革し、あらゆるデバイスにおいて信頼性に優れカスタマイズされた体験を、2 億 6 千万人の加入者に提供する取り組みをしています。インテル® Xeon® プロセッサーがサポートする Amazon EC2 インスタンスなどの先進のテクノロジーにより、データ移動や AI ワークロードの高速化が必要です。インテルとの協力により、Netflix は以下を実現しました。
 

  • Amazon インスタンスをマイクロアーキテクチャー・レベルで最適化し、パフォーマンスの向上とクラウド支出の削減を実現しました。EC2 インスタンスのアップグレード後、Netflix は CPU あたり 3.5 倍のパフォーマンス向上を達成し、予想していたリニア・スケーリングを上回りました。1
  • インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー (インテル® oneDNN) およびインテル® アドバンスト・ベクトル・エクステンション (インテル® AVX-512) 命令セットを使用し、ユーザー需要が少ない時間帯のビデオ・エンコーディング速度を最適化しました。インテルのソリューションが、フレーム / 秒のエンコーディングを大幅に向上させました。

課題

Netflix は、視聴に使用するデバイスを問わず、世界中の顧客へのシームレスなオンデマンドのコンテンツ提供を目指します。このプロセスには、加入者の体験をサポートするワークロードに最適化された複数のマイクロサービスが必要です。一部のバックエンド・マイクロサービスは、コンテンツ開発、レンダリング、そしてエンコーディングのタスク処理を担います。ユーザー向けには、数千のタイトルから最も関連性の高いコンテンツを特定し推奨する、カスタマイズされたホームページ画面を Netflix の加入者は求めています。さらに、Netflix は、優れたエンターテインメントや格別のストリーミング品質をいつでも会員に提供できるよう努力を続けます。

グラフは、ノード別の CPU の内訳を示しています。分析によるノード間のトラフィック分布はほぼ等しい一方、CPU 指標は異なる二峰性パターンを示しました。1

これらタスクのすべての達成および拡充において、Netflix は、問題発生時にシンプルなトラブルシューティングが可能な、信頼性と拡張性に優れた AI 対応クラウド・ソリューションが必要です。例えば、Netflix のチームは、Amazon EC2 インスタンスのパフォーマンス評価中に、予期せぬレイテンシーの課題を発見しました。クラウド支出を最小限に抑えながらのワークロードの高速化には、インスタンスを CPU のマイクロアーキテクチャー・レベルで評価する方法が効果的でした。

ソリューション

カスタマイズされた快適なストリーミング体験を加入者に提供するため、Netflix はインテル® Xeon® プロセッサーがサポートする Amazon EC2 インスタンスのパワーを活用しました。Netflix のパフォーマンス・チームはインテルとの協働により、ソフトウェアと利用可能なハードウェア・リソースとの相互作用を精査して、ボトルネックを特定しました。インテル® VTune™ プロファイラーにより、プロセッサー時間を最適に使用していないコードセグメントを検出しました。インテル® PerfSpect は、マイクロアーキテクチャーのサブシステムとプログラムされたシーケンスを評価し、更にインサイトを提供しました。これらツールにより、最終的に Java 仮想マシン内の命令セットにあるインスタンスのボトルネックを特定できました。

true sharing の問題の特定および対処による大幅なレイテンシーの低減は、このグラフにより明確です。1

Netflix は、GPU ではなく基盤であるインテル® Xeon® プロセッサーで Amazon インスタンスを用いることで、各インスタンスを複数のタスクの実行に使用し、コストを削減できると気づいたのです。視聴のピーク時には、Amazon インスタンスはリソースをストリーミングに集中させることができます。ユーザーの需要が減少すれば、インスタンスはビデオのエンコーディングの高速化にコンピューティング能力を転用します。

成果

インスタンスのボトルネックを特定するインテルのサポートにより、Netflix は Amazon EC2 インスタンスの初期スループットと比較して、CPU あたり 3.5 倍のパフォーマンス向上を実現しました。1 また、平均レイテンシーとテール・レイテンシーの大幅な低減というメリットもありました。2 インテルはオープンな Java 開発キットでレイテンシーの原因に対処しているため、Java ワークロードを利用する他の企業も Netflix の CPU 最適化アプローチから恩恵を受けることができます。

「お客様に当社のストリーミング・サービスで最高の体験を提供するためには、速度が重要です。インテルのテクノロジーを用いてボトルネックを特定し、クラウド支出を最小限に抑えながら、Amazon EC2 インスタンスのパフォーマンスを約 3 倍に向上させることができました。」 – Netflix、Performance Engineer、Vadim Filanovsky 氏

インテル® AVX 命令セットを利用するインテル® oneDNN の使用により、エンコーディングにおけるフレーム / 秒が大幅に向上し、あらゆるデバイスで優れたビデオ品質を実現できたと Netflix は主張します。

インテル® Xeon® プロセッサーによる Netflix の Amazon インスタンスは、自動スケーリングを使用した複数用途の効率的な実行も可能です。CPU がもたらす効率により、Netflix はミッション・クリティカルなワークロードに必要なインスタンス数の低減、およびクラウドインフラ全体の支出の大幅な削減が可能です。

ソリューションのまとめ

  • インテル® Xeon® プロセッサー・ファミリー
  • インテル® oneAPI ディープ・ニューラル・ネットワーク・ライブラリー
  • インテル® ディープラーニング・ブースト
  • インテル® ベクトル・ニューラル・ネットワーク・インストラクション (VNNI) 搭載
  • インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX 512)
  • インテル® VTune™ プロファイラー
  • インテル® PerfSpect
  • Amazon EC2 インスタンス