読んだもの
http://research.google.com/pubs/pub41179.html
主な内容
- 『2種類の異なるストレージ(フラッシュとディスク)を複数のワークロードで共用する』効率的な使い方を最適化問題への帰着 使い方に2つの戦略があって、『FIFO or LRU』。
- LRUの方がキャッシュヒットレート的には良いけど、メトリクスを取るのが複雑になりがちなので、FIFOで良いのでは。
- 実システムでの計測結果
使われているシステム, 技術要素
- Clossus (GFSの改良版)
- アルゴリズム: 貪欲法
大事なこと
- 最適化問題を特にあたって、ワークロード特性を表す関数を、convexで近似したことにすることがアイディアの1つ。
- 理論としては、piecewise-linearでなくても良いが、実測では有限個の点しか取れないので、piecewise-linearとしておくと計算が楽になる。
- 運用中もワークロード特性を測定してフィードバックすることで、特性の変化に対応することができる。
所感
よくまとまっているので、とても良い。
実際にこの論文と同じことを行う際には、現状のストレージをどういうふうに使っているかが問題になる。 GFSのようなマスターを持つ分散ストレージを使っているなら、この論文の内容は実践しやすい。 (もちろん、ワークロードのメトリクスを取るようにしたり、最適化問題を解くロジックを入れるなど、変更は必要。)
個人的にはマスターに色々聞かなくて済むような分散ストレージ(Cephとか)の方がアーキテクチャ的に好きなのだけど、 この論文を読むと、マスターがあったほうが均質じゃないシステムの制御は、扱いやすいように見える。
comments powered by Disqus