Slide 1

Slide 1 text

Akamaiのキャッシュ効率を支え るAdaptSizeについての論文を読 んでみた 第19回 分散システム集会 on VRChat @bootjp / ぶーと

Slide 2

Slide 2 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 3

Slide 3 text

自己紹介 HN: ぶーと 分散システム集会の運営の一人。 RaftやKVS、TiKVが好きです。 仕事では、マイクロサービス/マルチプロダク トに向けた分散基盤の設計や実装をしていま す。 前の仕事ではRaftベースの分散ストレージを 作っていました。 @bootjp

Slide 4

Slide 4 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 5

Slide 5 text

Akamaiとは ● CDN(Contents Delivery Service)の一つ ○ リクエストをしたユーザーに物理的に近いノードにキャッシュしデータを配信する ○ キャッシュをせずとも最適な経路を通ることでレイテンシーが軽減される

Slide 6

Slide 6 text

Akamaiとは ● CDN(Contents Delivery Service)の一つ ○ リクエストをしたユーザーに物理的に近いノードにキャッシュしデータを配信する ■ 雑な言い方をすれば、httpsで扱える分散キャッシュシステム ○ キャッシュをせずとも最適な経路を通ることでレイテンシーが軽減されることもある ○ 動画・ライブ配信や静的データの配信などに用いられる ○ 最近の傾向としてはWAFがCDNに含まれることが多く、セキュリティ向上の要素もある ○ CDNを用いることで、Origin(データ配信元)はより小さなリソースで運用できる

Slide 7

Slide 7 text

Akamaiとは ● CDN(Contents Delivery Service)の一つ ○ リクエストをしたユーザーに物理的に近いノードにキャッシュ しデータを配信する ■ 雑な言い方をすれば、httpsで扱える分散キャッシュシステム ○ キャッシュをせずとも最適な経路を通ることでレイテンシーが軽減されることもある ○ 動画・ライブ配信 や静的データ の配信などに用いられる ○ 最近の傾向としてはWAFがCDNに含まれることが多く、セキュリティ向上の要素もある ○ CDNを用いることで、Origin(データ配信元)はより小さなリソースで運用できる

Slide 8

Slide 8 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 9

Slide 9 text

AkamaiにおけるCDNの課題 ● 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDN は メモリ→ ディスク → オリジンの多段キャッシュで配信効率を最大化している ■ 今回はメモリを焦点にあてたキャッシュヒット率の向上のはなし ○ 限られたメモリでのキャッシュヒット率の最適化には2つの要素がある ■ admission: オブジェクトをキャッシュに入れるかどうかの判断 ■ eviction: 新たなオブジェクトを追加する際、どのオブジェクトを追い出すかの判断

Slide 10

Slide 10 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 11

Slide 11 text

AkamaiにおけるCDNの課題 ● CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 100か国以上の1500を超えるネットワークに170,000台以上のサーバーがある ○ 様々なサイズを配信する数千のプロバイダーから構成される ○ リクエストパターンは時間によって大きく異なる ■ 日中時間帯はWebサイトのりように偏る ■ 夜間はWebサイトに加え大容量なメディアファイルに偏る

Slide 12

Slide 12 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 13

Slide 13 text

AkamaiにおけるCDNの課題 ● 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ すべてのオブジェクトがラウンドロビンで均等にアクセスされる環境があるとする ○ メモリ容量が1GBの時にサイズが100 KBの小さなオブジェクトが10,000個あるとする ○ 500MBのファイルが新たにリクエストされてキャッシュにAdmissionされる ■ => 5000オブジェクトがEvictionしキャッシュヒット率が50%を下回る

Slide 14

Slide 14 text

AkamaiにおけるCDNの課題 ● 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 何をEvictionするかではなく、なにをAdmissionするかが大事 ■ これがAdaptSize(この論文)の前提となっている知識

Slide 15

Slide 15 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 16

Slide 16 text

AkamaiにおけるCDNの課題 ● 先行研究や実運用におけるキャッシュヒット率の限界 ○ 多くの研究は単位サイズ前提かevictionを中心として扱っている ■ アドミッションに関しては軽視されがち ○ 実運用は静的サイズ閾値が一般的 ■ 最適値への感度が高く、変化に追従できない ○ 単純なヒルクライミング/固定確率は局所最適や応答遅れに陥りやすい

Slide 17

Slide 17 text

AkamaiにおけるCDNの課題 ● 先行研究や実運用におけるキャッシュヒット率の限界 ○ 多くの研究は単位サイズ前提かevictionを中心として扱っている ■ アドミッションに関しては軽視されがち ○ 実運用は静的サイズ閾値が一般的 ■ 最適値への感度が高く、変化に追従できない ○ 単純なヒルクライミング/固定確率は局所最適や応答遅れに陥りやすい

Slide 18

Slide 18 text

AkamaiにおけるCDNの課題 ● 先行研究や実運用におけるキャッシュヒット率の限界 ○ 多くの研究は単位サイズ前提かevictionを中心として扱っている ■ アドミッションに関しては軽視されがち ○ 実運用は静的サイズ閾値が一般的 ■ 最適値への感度が高く、変化に追従できない ○ 単純なヒルクライミング/固定確率は局所最適や応答遅れに陥りやすい

Slide 19

Slide 19 text

AkamaiにおけるCDNの課題 ● 先行研究や実運用におけるキャッシュヒット率の限界 ○ 多くの研究は単位サイズ前提かevictionを中心として扱っている ■ アドミッションに関しては軽視されがち ○ 実運用は静的サイズ閾値が一般的 ■ 最適値への感度が高く、変化に追従できない ○ 単純なヒルクライミング/固定確率は局所最適や応答遅れに陥りやすい

Slide 20

Slide 20 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 21

Slide 21 text

AkamaiにおけるCDNの課題 ● AdaptSizeではマルコフ連鎖チューニングモデルを用いた ○ アドミッション確率 p(size)=exp(-size/c)(サイズ依存。小さいほど入りやすい) ○ 各オブジェクト i を LRU 上の独立マルコフ連鎖でモデル化 ○ 上昇率 r_i(リクエスト率)と押下率 μ_c(平均場;c に依存)から P_i(in-cache) を閉形式で導出 ○ P_i(in-cache) = { (exp(r_i/μ_c) - 1) * exp(-c * s_i) } / { 1 + (exp(r_i/μ_c) - 1) * exp(-c * s_i) } ○ 容量制約 Σ_i P_i * s_i = K を満たすよう μ_c を解き、OHR(c) を評価 ○ OHR を最大化する c をグローバル探索(例:Δ=250K req ごとに更新) ●

Slide 22

Slide 22 text

AkamaiにおけるCDNの課題 ● AdaptSizeではマルコフ連鎖チューニングモデルを用いた ○ アドミッション確率 p(size)=exp(-size/c)(サイズ依存。小さいほど入りやすい) ○ 各オブジェクト i を LRU 上の独立マルコフ連鎖でモデル化 ○ 上昇率 r_i(リクエスト率)と押下率 μ_c(平均場;c に依存)から P_i(in-cache) を閉形式で導出 ○ P_i(in-cache) = { (exp(r_i/μ_c) - 1) * exp(-c * s_i) } / { 1 + (exp(r_i/μ_c) - 1) * exp(-c * s_i) } ○ 容量制約 Σ_i P_i * s_i = K を満たすよう μ_c を解き、OHR(c) を評価 ○ OHR を最大化する c をグローバル探索(例:Δ=250K req ごとに更新) ● よくわかり ませんでし た。。 続きは議論 で...

Slide 23

Slide 23 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 24

Slide 24 text

評価手法 ● トレースベースシミュレーション+プロトタイプ実装ベンチ ○ Varnish・Nginx ● Akamaiプロダクショントレース ○ HK: 4.5億 req / 157.5 TiB / 2,500万 objects ○ US: 4.4億 req / 152.3 TiB / 5,500万 objects ● メモリ1.2 GiB、C++シミュレータで各方式のOHRを比較 ● 比較対象: Nginx / Varnish / 研究系8手法 / 将来知識ありの SIZE-OPT

Slide 25

Slide 25 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 26

Slide 26 text

評価結果 ● オンメモリキャッシュヒット率の上昇 ○ vs Varnish: +47~91% / vs Nginx: +30~48% ○ SIZE-OPT の95~99% をオンラインで達成

Slide 27

Slide 27 text

評価結果 ● オンメモリキャッシュヒット率の上昇 ○ 他の研究手法と比べても高いキャッシュヒット率の維持

Slide 28

Slide 28 text

評価結果 ● 堅牢性 ○ キャッシュヒット率を維持 ■ 事前知識を持つSIZE-OPTと比較 ● スパイクリクエスト: 95% ● 敵対的ミックス: 81% ○ Randomized: 短期間に大量のトラフィックが急増するようなケース ○ Adversarial: 性質の異なるアクセスを繰り返す(Web⇔動画)

Slide 29

Slide 29 text

評価結果 ● 副作用なし/好影響 ○ DCバイトヒット率は維持、ディスク利用率 −20% / IOPS −10% ○ E2Eレイテンシ短縮(中央値 −43%, 高分位でも −30%超)

Slide 30

Slide 30 text

本日の発表の流れ ● 自己紹介 ● Akamaiとは ● AkamaiにおけるCDNの課題 ○ 「CDNの最大の課題はメモリから配信されるキャッシュヒット率の最適化」 ○ CDNゆえのキャッシュヒット率向上の課題を複雑にする要素がある ○ 異なるサイズのオブジェクトのキャッシュ効率を上げるのは難しい ○ 先行研究や実運用におけるキャッシュヒット率の限界 ○ AdaptSizeではマルコフ連鎖チューニングモデルを用いた ● 評価 ○ 評価手法 ○ 評価結果 ● まとめと議論

Slide 31

Slide 31 text

まとめと議論 ● CDNでは時間帯によってリクエストパターンが異なる ● その中でメモリ上のキャッシュヒット率を向上させる必要がある ● 異なるオブジェクトを対象としたキャッシュヒット率ではadmissonが大事 ○ 限られたメモリに大きなファイルを入れるとそれだけでキャッシュヒット率が落ちるため ○ 十分アクセスされる大きなファイルだけを入れる必要がある ● 既存の研究ではevictionに焦点を当てたものが多い ● AdaptSizeではadmissiionに焦点を当てた ● 事前知識がある SIZE-OPTと数ポイントしか性能劣化しない手法を考案した ○ これが AdaptSize ● Varnish統合ができ、非常に使い勝手が良い

Slide 32

Slide 32 text

議論 ● bootjpはマルコフ連鎖の式がよくわからなかったので、詳しい人がいたらぜひ議論をし たいです。 ●