USENIX FAST15の論文を読んでみた。(2月分)
たらたらと、USENIX FAST 15の論文を読んでいる。ぱっと見、大容量対策のErasure Encodingの活用方法と、応答速度改善対策であるFlashメモリによる性能最適化ネタが2つの柱に見えた。
- Failure-Atomic Updates of Application Data in a Linux File System | USENIX
- HPのエンジニアがAdvFSをストレージ製品用(2015年3月発表予定)に開発した話。耐障害に強い機構をシンプルなインターフェース(O_ATOMICフラグとsyncv関数)で入れた。なお、AdvFS自体は、Tru64で使われており、ソースコード自体は2008年に公開されているが、それに耐障害性等を最近追加して、製品にしたらしい。
- 関連資料
- A Tale of Two Erasure Codes in HDFS | USENIX
- IBM Almardenの連中が、複数のErasure Codeを使って、読み書きの頻度によってストレージ容量と復旧時間の最適化を計った話。言うまでも無く、RS符号は、ストレージ容量と復旧時間が相関関数になっており、そのまま使うと、片方の値が悪化し てしまう。このため、読み書きの頻度を考慮して、LRC符号も使って最適化した。今までは、分散ストレージに関しては、同一符号でしか読み書きしていなかったので、それが違いの気がする。
- また、2012年に発表された、Clouderaの顧客とFacebookのMapReduceの負荷のBerkeley論文が引用されており大変参考になった。IBMのストレージ部隊らしく、顧客のユースケースを考えて最適化したストレージを考えている。
- なお、実装自体はシンプルのようであり、Facebookの開発したHDFSのHDFS-RAIDのフレームワークを使って、RaidNodeに対して、複数のErasureCodeを使えるようにした模様。このため、数キロステップの実装で済んでいる。
- Boosting Quasi-Asynchronous I/O for Better Responsiveness in Mobile Devices | USENIX
- A Practical Implementation of Clustered Fault Tolerant Write Acceleration in a Virtualized Environment | USENIX
- PernixDataのFVP(ハイパーバイザ用分散ストレージ)について説明した論文。ハイパーバイザに、ドライバとしてストレージソフトウェアを提供してフラッシュデバイスでのパフォーマンスを上げるとともに、耐障害性を改善したという話。WriteThrough/WriteBack等でのパフォーマンスおよびその障害によりデータ損失する可能性を整理して書いており、参考になる。
- とはいえ、次の版(FVP2.5)が論文を読んでいるうちにリリースされてしまった。
- RIPQ: Advanced Photo Caching on Flash for Facebook | USENIX