Home 기술 문서 네트워크 용량이 부족한 이유: 스트리밍 향상을 위한 캐싱 전략
Applications

네트워크 용량이 부족한 이유: 스트리밍 향상을 위한 캐싱 전략

About The Author

Outline

증가하는 미디어 콘텐츠에 대응하기 위해 Verizon Media(현재 Edgio Media) 플랫폼은 글로벌 캐시 공간을 확장하는 데 투자했습니다. 2019년 한 해에만 25Tbps 이상의 용량, 7개의 글로벌 PoP, 900개의 라스트 마일 연결을 추가했습니다. 성능 개선에는 효과적이지만 원시 용량만으로는 충분하지 않으며 스트리밍 콘텐츠에 대한 글로벌 수요를 충족하기 위한 지속 가능한 비즈니스 모델도 아닙니다.

네트워크 용량의 가용성을 극대화하기 위해 운영 및 인프라 비용을 억제하는 기술, 프로세스 및 도구에 동등하게 투자합니다. Akamai의 연구팀은 캐싱 기술의 경계를 지속적으로 넓히고 프로세스를 적용 및 개선하여 네트워크 운영자가 콘텐츠가 캐싱되는 방식, 시기, 위치를 세밀하게 제어할 수 있도록 합니다.

현대적인 캐싱 전략

캐싱 전략의 목표는 가장 인기 있는 콘텐츠를 캐시에 보관하는 동시에 덜 인기 있는 콘텐츠를 빠르고 효율적으로 제거하는 것입니다. 수년에 걸쳐 연구자와 소프트웨어 개발자들은 캐싱 문제를 해결하기 위한 수많은 전략을 고안해 왔습니다. 이러한 범위는 비교적 간단한 것부터 매우 복잡한 것까지 다양합니다. 더 인기있는 전략 중 일부는 다음과 같습니다 :

  • 가장 최근에 사용한 항목(LRU)
  • 가장 자주 사용되지 않음(LFU)
  • 선입선출(FIFO)

모든 상황을 통제하는 단일 캐싱 전략이 있다면 편리할 것입니다. 그러나 이러한 솔루션은 아직 개발되지 않았으며 특정 전략의 효과는 서버 및 디스크 크기, 트래픽 패턴 및 기타 요인에 따라 크게 달라질 수 있습니다. 광범위한 테스트를 통해 LRU는 적중률과 디스크 입출력 간에 최상의 절충을 제공하므로 FIFO보다 60% 적은 쓰기를 제공하면서도 높은 적중률을 유지할 수 있다는 사실을 확인했습니다. 또한 CDN에 사용되는 디스크 크기에 대해 LRU는 S4LRU(4중 세그먼트화된 LRU)와 같은 보다 복잡한 정책과 동등하게 작동합니다. 작년에 칠레 푸에르토 바라스에서 개최된 수동적 및 능동적 측정 컨퍼런스(PAM)에서 발표한 이 백서에서 더 자세한 내용을 확인할 수 있습니다.

하이브리드 LRU를 통한 캐싱 전략 진화

LRU는 환경에 매우 적합하지만 혁신을 주도하고 고객 성과를 개선할 수 있는 방법을 항상 찾고 있습니다. 이로 인해 최근 우리 플랫폼에 하이브리드 LRU라는 새로운 기능이 추가되었습니다. LRU 위에 추상화 계층을 추가하기 때문에 하이브리드라고 합니다. 하이브리드 기능을 사용하지 않으면 시스템이 계속 정상적으로 작동하므로 이해하기 쉽고 활성화 또는 비활성화가 매우 쉽습니다.

하이브리드 접근 방식을 통해 우리는 LRU 시스템을 조정하여 특정 컨텐츠를 더 잘 제어할 수 있도록 하고 있습니다. 제어란 미리 정의된 설정에 따라 일부 콘텐츠를 더 길거나 짧은 기간 동안 명시적으로 저장할 수 있는 기능을 의미합니다.

이는 비디오 스트리밍 환경 전반에서 발생하는 변화, 특히 라이브 스트리밍의 급속한 성장으로 인해 중요합니다. 우리의 네트워크만으로도 수십만 건의 라이브 이벤트를 주최했으며, 그 중 많은 이벤트가 수백만 명의 동시 시청자에게 전송됩니다. 이러한 이벤트의 엄청난 인기를 얻었음에도 불구하고 라이브 이벤트 스트림이 완료되면 상당한 볼륨에서 다시 스트리밍되지 않을 것입니다. 하이브리드 LRU를 사용하면 캐시 기간을 단축하여 귀중한 캐시 리소스를 다른 미디어 및 콘텐츠에 사용할 수 있습니다.

우리는 특정 콘텐츠를 잠그고 캐시에 계속 남아있을 것이라는 최선의 확신을 제공하는 것을 실험하고 있습니다. 이 기능은 유통 기한이 제한된 라이브 비디오 스트림에 특히 유용할 수 있지만 라이브 이벤트가 끝난 후 몇 시간 동안 수요가 많을 수 있습니다. 라이브 이벤트는 일반 VOD 콘텐츠가 됩니다. 이 기능은 콘텐츠 제공자가 특정 기간 동안 콘텐츠를 잠그고 오리진 서버에 충돌하지 않도록 하는 경우에도 사용할 수 있습니다.

하이브리드 LRU는 또한 일부 콘텐츠를 더 오랜 시간 동안 저장할 수 있게 해줍니다. 이 기능은 오리진이 세계의 원격 지역에 위치한 경우(예: CDN이 캐시에 콘텐츠를 요청하지 않았을 때 QoE가 저하될 수 있는 경우) 유용합니다. 이러한 경우 새 클라이언트 요청이 오리진이 채워야 하는 캐시 비적중을 트리거하여 잠재적으로 재버퍼링이 발생할 수 있습니다. 이 콘텐츠를 느리게 에이징하면 캐시에 더 오래 머물며 이러한 오리진 채우기 횟수가 줄어듭니다.

하이브리드 LRU 사용 매개 변수

Hybrid LRU는 캐시에서 특정 콘텐츠의 제거 또는 제거를 지연 또는 가속화할 수 있는 두 가지 조정 가능한 매개 변수로 구성됩니다.

  • 에이징률
  • TTL(Time to Live)
노화율은 시간이 지남에 따라 퇴거 점수가 증가하는 비율을 정의합니다. 운영자가 콘텐츠를 더 빠르게 또는 느리게 만들기 위해 사용할 수 있는 배율 조정 기능입니다. 에이징 속도의 기본값은 10이므로 이 값을 200으로 변경하면 비디오 파일의 에이징 속도가 20배(200/10 = 20)만큼 빨라집니다. 또한 값을 5로 변경하여 기본 속도의 절반으로 콘텐츠 조각을 에이징할 수도 있습니다.

TTL(Time To Live) 매개 변수는 항목의 기간을 지정된 수만큼 줄입니다. 이 변수에 의해 설정된 기간 동안 항목에 매우 낮은 퇴거 점수를 부여하여 작동합니다. 이렇게 하면 항목이 마지막으로 액세스된 이후 지정된 기간 동안 캐시에 유지됩니다. 기본값은 0초이며, 이는 특별한 기본 설정이 없음을 의미합니다.

아래 차트는 이러한 조정 가능한 매개 변수가 캐시에 콘텐츠가 머무는 기간을 조정하는 방법을 보여줍니다. 이러한 매개변수를 콘텐츠 요구에 맞게 정확하게 조정할 수 있는 노브 또는 다이얼로 고려하는 것이 유용합니다. 이 차트는 액세스를 기다리는 동안 서버 캐시에서 시간이 지남에 따라 개체가 어떻게 만료되는지 보여 줍니다.

먼저, 노화율에 대해 살펴보겠습니다. 기존 LRU 개체는 시간이 지남에 따라 동일한 속도로 노화됩니다. 그러나 노화 속도 다이얼을 높이면 시간이 지남에 따라 항목이 더 빨리 노화됩니다. 마찬가지로 다이얼을 반대 방향으로 돌리면 아이템이 LRU보다 느리게 노화됩니다. 다이얼을 충분히 돌리면 느린 에이징 항목은 그림 1에서 볼 수 있듯이 “퇴거 임계값”을 초과하지 않습니다. 이 컨트롤을 사용하면 항목을 더 빨리 제거하여 공간을 확보하거나 원점 풀을 줄이거나 다른 이유로 디스크에 항목을 더 오래 보관할 수 있습니다.

에이징 속도와 달리 TTL을 사용하면 특정 항목의 캐시 기능을 변경할 수 있습니다. TTL 함수를 사용하여 설정한 기간 동안 항목이 디스크에 있는 동안에는 노후화되지 않으므로 제거될 가능성은 거의 없습니다. TTL이 만료된 후에는 기존 LRU 방식이나 Fast aging 또는 Slow Aging(운용자의 설정 방법에 따라 다름)으로 아이템의 에이징을 시작할 수 있다. 아래 그림에서 에이징이 느린 TTL은 캐시 제거 임계값을 초과하지 않는 지점까지 디스크에 항목을 유지했습니다. 반대편에서 TTL은 라이브 비디오 스트림이 적어도 이벤트 기간 동안 캐시되었지만 그 후에는 빠른 에이징을 사용하여 디스크에서 빠르게 제거되었습니다.

대부분의 경우 에이징 속도 값을 변경하면 디스크의 트래픽 양에 쉽게 적응할 수 있으므로 콘텐츠가 캐시에서 제거될 때의 타이밍을 조정할 수 있습니다. 반면에 TTL은 더 공격적이며 콘텐츠가 릴리스될 때까지 디스크의 일부를 효과적으로 잠글 수 있습니다. 그러나, 이들 예시에서 알 수 있듯이, 두 개의 컨트롤은 원하는 효과를 안정적으로 달성하기 위해 함께 사용될 수 있다.

미래 지향적 캐싱 전략

LRU와 같은 광범위한 캐싱 전략은 유형이나 파일 크기에 관계없이 모든 컨텐츠를 동등하게 취급하는 큰 망치와 같습니다. 파일이 특정 시간 내에 적중되지 않으면 캐시에서 삭제됩니다. 한편, 일회성 라이브 비디오 스트림/이벤트와 같이 향후 히트할 가능성이 낮은 다른 파일은 캐시에 저장되어 공간을 차지합니다. 하이브리드 LRU는 불필요한 캐시 설치 공간을 줄이고 캐시 적중률을 높이기 위해 세분화 수준을 추가합니다. 이는 작은 망치나 스크루드라이버를 사용하여 캐시에 남겨둘 파일과 제거해야 할 파일을 보다 정확하게 제어하는 것과 같습니다.

현재 Hybrid LRU는 실험 중이며 운영자가 콘텐츠의 퇴거 시간 프레임을 조정해야 합니다. 앞으로 요청 프로필 및 기타 요소를 활용하여 자동으로 조정할 수 있는지 여부를 조사하고 있습니다. 예를 들어, 라이브 이벤트에는 여러 프로필이 있습니다. 동일한 파일 세그먼트에 대한 수천 건의 요청이 동시에 들어온 다음 주문형 비디오 파일을 사용합니다. 파일 크기에 따라 조정하는 방법도 검토하고 있습니다. 네트워크 트래픽을 최소화하기 위해 대용량 파일을 디스크에 보관하고 싶습니까, 아니면 캐시 적중률을 최적화하기 위해 작은 파일을 보관하고 싶습니까?

캐싱 시스템 및 전략의 성능과 성숙도를 확신하고 있음에도 불구하고 유한 리소스를 최적화해야 하는 필요성은 여전히 중요하고 지속적인 노력으로 남아 있습니다.