Netflix, 원활한 스트리밍 경험 향상

Netflix는 고성능, 고품질 비디오 콘텐츠를 제공하기 위해 CPU 마이크로 아키텍처 수준에서 EC2 인스턴스를 최적화했습니다.

개요:

  • Netflix는 홈 엔터테인먼트를 혁신하고 2억 6천만 명의 가입자에게 모든 장치에서 신뢰할 수 있는 맞춤화 경험을 제공하기 위해 노력하고 있습니다.

  • Netflix는 인텔과의 협력을 통해 마이크로아키텍처 수준에서 Amazon EC2 인스턴스를 최적화하여 성능을 높이고 클라우드 지출을 줄였습니다.

author-image

기준

요약

Netflix는 홈 엔터테인먼트를 혁신하고 2억 6천만 명의 가입자에게 모든 장치에서 신뢰할 수 있는 맞춤화 경험을 제공하기 위해 노력하고 있습니다. 이를 달성하기 위해, Netflix는 인텔® 제온® 프로세서가 지원하는 Amazon EC2 인스턴스 등 고급 기술을 사용하여 데이터 이동과 AI 워크로드를 가속해야 합니다. 인텔과의 협력으로 Netflix는 다음을 실현했습니다.
 

  • 마이크로아키텍처 수준에서 Amazon 인스턴스를 최적화하여 성능을 높이고 클라우드 지출을 줄였습니다. EC2 인스턴스를 업그레이드한 후 Netflix는 CPU당 성능을 3.5배 향상하여 예상 선형 확장을 초과했습니다.1
  • 인텔® oneAPI Deep Neural Network Library(oneDNN) 및 인텔® Advanced Vector Extensions(인텔® AVX-512) 명령 세트를 사용하여 사용자 수요가 적은 시간 동안 비디오 인코딩 속도를 최적화했습니다. 인텔 솔루션은 초당 프레임당 인코딩을 크게 향상해 주었습니다.

당면 과제

Netflix는 시청 장치와 관계없이 전 세계 고객층에 원활한 온디맨드 콘텐츠를 제공하고자 합니다. 이 프로세스에는 가입자 경험 지원 워크로드에 최적화된 여러 마이크로서비스가 필요합니다. 일부 백엔드 마이크로서비스는 콘텐츠 개발, 렌더링, 인코딩 작업을 처리해야 합니다. 프론트엔드 측면에서 Netflix 가입자에게는 무수히 많은 콘텐츠 중 가장 관련성 높은 콘텐츠를 식별하고 추천하는 맞춤형 홈 페이지 보기가 필요합니다. 또한, Netflix는 회원에게 언제든지 우수한 엔터테인먼트와 탁월한 스트리밍 품질을 제공하기 위해 끊임없이 노력하고 있습니다.

이 그래프는 노드별 CPU 분석을 보여줍니다. 분석 결과 노드 간 트래픽 분포는 거의 동일했지만, CPU 평가 기준에서는 다양한 양봉 분포 패턴을 나타냈습니다.1

Netflix가 이러한 모든 작업 등을 수행하려면 신뢰할 수 있고, 확장성이 뛰어나고, AI를 지원하며, 문제 발생 시 문제 해결을 간소화하는 고급 도구를 갖춘 클라우드 솔루션이 필수입니다. 예를 들어, Netflix 팀은 Amazon EC2 인스턴스의 성능을 평가하는 과정에서 예상치 못한 대기 시간 문제를 발견했습니다. 따라서 클라우드 지출을 최소화하는 동시에 워크로드를 가속하도록 CPU의 마이크로아키텍처 수준까지 인스턴스를 평가하는 효과적인 방법이 필요했습니다.

솔루션

Netflix는 가입자에게 빠르고 맞춤화된 스트리밍 경험을 제공하기 위해 인텔® 제온® 프로세서가 지원하는 Amazon EC2 인스턴스의 성능을 활용했습니다. Netflix 성능 팀은 인텔과 긴밀히 협력하여 사용 가능한 하드웨어 리소스와 소프트웨어의 상호 작용을 면밀히 조사하고 병목 현상을 식별했습니다. 인텔® VTuneTM Profiler는 프로세서 시간을 최적으로 사용하지 않는 코드 세그먼트를 발견했습니다. 인텔® PerfSpect는 마이크로아키텍처 하위 시스템과 프로그래밍된 시퀀스를 평가하여 추가 인사이트를 제공했습니다. 이 도구는 궁극적으로 Java 가상 머신 내의 명령 세트에서 인스턴스 병목 현상을 정확히 파악하는 데 도움이 되었습니다.

참 공유 문제를 식별하고 해결한 후 대기 시간이 대폭 감소한 결과가 이 그래프에 극적으로 나와 있습니다.1

Netflix는 GPU가 아닌 인텔 제온 프로세서가 기본 탑재된 Amazon 인스턴스를 사용하여 각 인스턴스로 여러 작업을 수행함으로써 비용을 절감하는 방법을 찾았습니다. 가장 많이 시청하는 시간대에 Amazon 인스턴스는 스트리밍에 리소스를 집중할 수 있습니다. 사용자 수요가 감소하면 인스턴스가 컴퓨팅 성능을 전환하여 비디오 인코딩을 가속할 수 있습니다.

결과

인스턴스 병목 현상을 식별하기 위한 Intel의 지원을 통해 Netflix는 Amazon EC2 인스턴스의 초기 처리량 대비 CPU당 성능을 3.5배 향상했습니다.1 또한, 평균 및 테일 대기 시간이 크게 줄어드는 이점이 있었습니다.2 인텔이 OpenJDK에서 대기 시간 문제의 원인을 해결한 덕분에 Java 워크로드를 사용하는 다른 기업도 Netflix의 CPU 최적화 접근 방식을 활용할 수 있습니다.

"고객이 스트리밍 서비스에서 최고의 경험을 누릴 수 있도록 하려면 속도가 중요합니다. 인텔 기술로 병목 현상을 식별함으로써, Amazon EC2 인스턴스의 성능을 거의 3배 가까이 향상하는 동시에 클라우드 지출을 최소화했습니다." – Vadim Filanovsky, Netflix 성능 엔지니어

Netflix는 인텔 AVX 명령 세트를 활용하는 oneDNN을 통해 초당 프레임 인코딩이 크게 향상하여 모든 장치에서 탁월한 비디오 화질을 제공한다고 주장했습니다.

인텔 제온 프로세서를 탑재한 Netflix의 Amazon 인스턴스는 자동 스케일링을 사용하여 여러 용도를 효과적으로 지원할 수도 있습니다. CPU를 통해 얻은 효율성을 통해 Netflix는 미션 크리티컬 워크로드에 필요한 인스턴스 수를 줄이고 전체 클라우드 인프라 지출을 크게 줄일 수 있습니다.

솔루션 요약

  • 인텔® 제온® 프로세서
  • 인텔® oneAPI Deep Neural
  • 네트워크 라이브러리
  • Intel® Deep Learning Boost
  • Vector Neural Network 포함
  • 명령(VNNI)
  • 인텔® Advanced Vector
  • Extensions 512(인텔® AVX 512)
  • 인텔® VTune™ 프로파일러
  • 인텔® PerfSpect
  • Amazon EC2 인스턴스