[論文]Janus: Optimal Flash Provisioning for Cloud Storage Workloads

Posted on Thu 17 July 2014 in blog

読んだもの

http://research.google.com/pubs/pub41179.html

主な内容

  • 『2種類の異なるストレージ(フラッシュとディスク)を複数のワークロードで共用する』効率的な使い方を最適化問題への帰着
    使い方に2つの戦略があって、『FIFO or LRU』。
  • LRUの方がキャッシュヒットレート的には良いけど、メトリクスを取るのが複雑になりがちなので、FIFOで良いのでは。
  • 実システムでの計測結果

使われているシステム, 技術要素

  • Clossus (GFSの改良版)
  • アルゴリズム: 貪欲法

大事なこと

  • 最適化問題を特にあたって、ワークロード特性を表す関数を、convexで近似したことにすることがアイディアの1つ。
  • 理論としては、piecewise-linearでなくても良いが、実測では有限個の点しか取れないので、piecewise-linearとしておくと計算が楽になる。
  • 運用中もワークロード特性を測定してフィードバックすることで、特性の変化に対応することができる。

所感

  • よくまとまっているので、とても良い。

  • 実際にこの論文と同じことを行う際には、現状のストレージをどういうふうに使っているかが問題になる。
    GFSのようなマスターを持つ分散ストレージを使っているなら、この論文の内容は実践しやすい。
    (もちろん、ワークロードのメトリクスを取るようにしたり、最適化問題を解くロジックを入れるなど、変更は必要。)

  • 個人的にはマスターに色々聞かなくて済むような分散ストレージ(Cephとか)の方がアーキテクチャ的に好きなのだけど、
    この論文を読むと、マスターがあったほうが均質じゃないシステムの制御は、扱いやすいように見える。