ネットワーク容量が足りない理由:ストリーミングを向上させるためのキャッシング戦略- Edgio ネットワーク容量が足りない理由:ストリーミングを向上させるためのキャッシング戦略- Edgio
Home 技術記事 ネットワーク容量が不十分な理由:ストリーミングを向上させるためのキャッシング戦略
Applications

ネットワーク容量が不十分な理由:ストリーミングを向上させるためのキャッシング戦略

About The Author

Outline

メディアコンテンツの増加に対応するため、Verizon Media (現Edgio Media, Platform)は、グローバルなキャッシュフットプリントの拡大に投資した。 2019年だけでも、25 Tbps以上の容量、7つのグローバルPOP、900近くのラストワンマイル接続を追加した。 パフォーマンスの向上には効果的だが、生容量だけでは十分ではなく、世界的に増大するストリーミングコンテンツの需要に対応する持続可能なビジネスモデルでもない。

ネットワーク容量の可用性を最大化するために、運用コストとインフラコストを抑制するテクノロジー、プロセス、ツールに均等に投資する。 私たちの研究チームは、コンテンツがキャッシュされる方法、タイミング、場所を細かく制御できるように、キャッシング技術の境界を絶えず押し広げ、プロセスを適用および改良している。

最新のキャッシュ戦略

キャッシュ戦略の目的は、最も人気のあるコンテンツをキャッシュに保持し、あまり人気のないコンテンツをすばやく効率的に削除することである。 長年にわたり、研究者やソフトウェア開発者はキャッシュの課題を解決するために無数の戦略を考案してきた。 これらは比較的単純なものから極めて複雑なものまで様々である。 より普及した作戦のいくつかは次のとおりである:

  • 最近使用されていない(LRU)
  • 使用頻度が最も低い(LFU)
  • 先入れ先出し(FIFO)

すべての状況を制御する単一のキャッシュ戦略があれば便利である。 しかし、そのような解決策はまだ開発されておらず、特定の戦略の有効性は、サーバやディスクのサイズ、トラフィックパターン、その他の要因によって大きく異なる可能性がある。 広範なテストに基づいて、LRUはヒットレートとディスクI/Oの間の最良の妥協点を提供し、高いヒットレートを維持しながらFIFOよりも60%少ない書き込みを提供することがわかった。 さらに、CDNで使用されるディスクサイズについては、LRUはS4LRU (Quadruply-Segmented LRU)のようなより複雑なポリシーと同等のパフォーマンスを発揮する。 我々が昨年、チリのプエルト・バラスで開催された受動的・能動的測定会議(PAM)で発表した論文で、より詳細な情報を得ることができる。

ハイブリッドLRUによるキャッシュ戦略の進化

LRUは当社の環境に非常に適しているが、イノベーションを推進し、顧客のパフォーマンスを向上させる方法を常に模索している。 これにより、ハイブリッドLRUと呼ばれる新しい機能が当社のプラットフォームに追加された。 LRUの上に抽象化の層を追加するため、ハイブリッドと呼ばれる。 ハイブリッド機能を使わないと、システムは正常に動作し続けるので、理解しやすく、有効化/無効化が非常に簡単にできる。

ハイブリッドアプローチでは、LRUシステムを微調整して、特定のコンテンツをより細かく制御できるようにしている。 制御とは、事前に定義された設定に基づいて、一部のコンテンツをより長い期間または短い期間明示的に保存する機能を持つことを意味する。

これは、ビデオストリーミングの状況全体で発生する変化、特にライブストリーミングの急速な成長のために重要である。 私たちのネットワークだけでも、何十万ものライブイベントをホストしており、その多くは何百万もの同時視聴者に配信されている。 そのようなイベントの人気が高いにもかかわらず、ライブイベントのストリームが完了すると、大量に再ストリーミングされる可能性は低い。 Hybrid LRUでは、キャッシュ期間を短縮し、貴重なキャッシュリソースを他のメディアやコンテンツに解放できる。

私たちは、特定のコンテンツをロックダウンし、キャッシュに残ることを保証するベストエフォート型の保証を提供する実験を行っている。 これは、保存期間が限られているライブビデオストリームに特に便利であるが、ライブイベントの後数時間は依然として高い需要があり、通常のビデオオンデマンドコンテンツになる。 この機能は、コンテンツプロバイダがオリジンサーバにヒットしないように特定の期間コンテンツをロックしたい場合にも使用できる。

Hybrid LRUはまた私達がより長い時間のための一部のコンテンツを保存することを可能にする。 これは、例えばオリジンが世界の遠隔地にある場合に便利で、CDNがキャッシュ内のコンテンツを要求していないときにQoEが低下する可能性がある。 そのような場合、新しいクライアント要求が発生するとオリジンが満杯にする必要のあるキャッシュミスが発生し、再バッファリングが発生する可能性がある。 このコンテンツを遅くすると、キャッシュに長く留まり、そのようなオリジンがいっぱいになる回数が減る。

ハイブリッドLRU使用パラメータ

Hybrid LRUは、キャッシュからの特定のコンテンツの削除を遅延または高速化する機能を提供する2つの調整可能なパラメータで構成されている。

  • 老化率
  • 存続可能時間(TTL)
エージングレートは、時間の経過に伴う立ち退きスコアの増加率を定義する。 これは、オペレータがコンテンツの年齢を速くまたは遅くするために使用できるスケーリング関数である。 エージングレートのデフォルト値は10であるため、たとえばこの値を200に変更すると、ビデオファイルのエージングが20倍高速になる(200/10 = 20)。 値を5に変更して、コンテンツをデフォルトの半分の速度でエージングすることもできる。

Time to Live(TTL)パラメータは、アイテムの経過時間を指定した量だけ短縮する。 この変数によって設定された期間のアイテムに非常に低い退去スコアを与えることによって働く。 これにより、アイテムが最後にアクセスされてから指定された期間、キャッシュに残っていることが強制される。 デフォルトは0秒であり、これは特別な優先設定がないことを意味する。

以下のグラフは、これらの調整可能なパラメータがどのように機能して、コンテンツがキャッシュに残る時間を調整するかを示している。 これらのパラメータを、コンテンツの需要に合わせて正確に調整できるノブやダイヤルとして考えると便利である。 グラフは、アクセスを待機している間にサーバーキャッシュ上のオブジェクトが経時的に経過する様子を示す。

まず老化率を見てみよう。 従来のLRUオブジェクトは、時間とともに同じ割合でエージングされる。 しかし私達が老化率のダイヤルを回すと同時に、項目は時間の経過とともに速く老化する。 同様に、文字盤を逆方向に回すと、アイテムの年齢はLRUよりも遅くなる。 ダイヤルを十分に回して、図1が示すように、スローエージングアイテムは「立ち退き閾値」を超えないようにする。 この制御により、より早くアイテムを削除してスペースを解放するか、またはオリジンプルを減らすために必要に応じてディスク上のアイテムをより長く保持するか、または他の理由で。

Aging Rateとは対照的に、TTLは特定のアイテムのキャッシュ能力を変更することができる。 TTL関数を使用して設定された期間では、アイテムはディスク上にある間はエージングされないため、(ほとんどありそうもない)退去する可能性は低い。 TTLが期限切れになると、アイテムは従来のLRU方式、または高速エージングまたは低速エージングのいずれかでエージングを開始できる(オペレータの設定による)。 下の図では、時間の経過が遅いTTLでは、ディスク上のアイテムがキャッシュ除去しきい値を超えないまで保持されていた。 反対側のTTLでは、イベントが発生した時間はライブビデオストリームがキャッシュされるようになっていたが、その後は高速エージングを使用してディスクから素早く削除された。

ほとんどの場合、エージングレート値を変更することは、ディスク上のトラフィック量に容易に適応できるため、コンテンツがキャッシュから削除されるタイミングを調整するための推奨方法である。 一方、TTLはより攻撃的であり、コンテンツが解放されるまでディスクの一部を効果的にロックアウトすることができる。 しかしながら、これらの例が示すように、2つの制御を組み合わせて確実に望ましい効果を達成することができる。

将来を見据えたキャッシング戦略

LRUのような広範なキャッシュ戦略は大きなハンマーのようなものであり、タイプやファイルサイズに関係なく全てのコンテンツを等しく扱う。 ファイルが一定時間内にヒットしない場合は、キャッシュから削除される。 一方、将来ヒットする可能性が低い他のファイル(一度限りのライブビデオストリーム/イベントなど)はキャッシュに格納され、スペースを占有する。 Hybrid LRUは、不要なキャッシュフットプリントを削減し、キャッシュヒット率を向上させることを目的とした一定レベルの改良を追加する。 小さなハンマーやドライバーを使用して、キャッシュに保持するファイルと削除するファイルをより正確に制御するようなものである。

現在、ハイブリッドLRUは実験的なものであり、コンテンツの立ち退き時間枠を調整する必要がある。 今後は、リクエストプロファイルなどの要素を活用して自動的に調整できるかどうかを研究している。 例えば、ライブイベントには多くの異なるプロファイルがあり、同じファイルセグメントに対する何千ものリクエストが同時に送られ、その後ビデオオンデマンドファイルが送られてくる。 ファイルサイズに基づいた調整も検討している。ネットワークトラフィックを最小限に抑えるために大きなファイルをディスクに保存するか、キャッシュヒット率を最適化するために小さなファイルを手元に置いておくか。

キャッシングシステムと戦略のパフォーマンスと成熟度に自信があるにもかかわらず、有限なリソースを最適化する必要性は依然として重要で継続的な努力である。