bootjpのメモ帳

https://bootjp.me で書くほどではないことを

アリババ社がクラウドで提供するPolarDBで使われているRaftを用いたPolarFSについての論文メモ

PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database

PolarFS: an ultra-low latency and failure resilient distributed file system for shared storage cloud database: Proceedings of the VLDB Endowment: Vol 11, No 12

どんなもの?

アリババ社がクラウド環境で提供する PolarDB で使用するための分散ファイルシステム

先行研究と比べてどこがすごい?

分散ファイルシステムの CephFS と比較した性能評価では

レイテンシ

ランダムリード

ローカルSSDに対するランダムリードレイテンシの倍率 PolarFS: 1.3〜1.8倍 CephFS: 2~4倍

ランダムライト

PolarFS: 1.6~4.7倍 CephFS: 6.5~75倍

4kライト/リードのランダムI/Oスループット

PolarFSがCephFSより4.4/5.1、4/7.7上回っている また,PolarFSは、I/Oがボトルネックだったが,CephFSのボトルネックはソフトウェアであった.

技術や手法のキモはどこ?

レイテンシ

  1. 1つのバッファに対して,1つのスレッドで直列処理することで,コンテキストスイッチを避けた
  2. メモリプールを用いてメモリ割り当てとページングを最適化した
  3. メタデータをすべてメモリ上に保持したため,メタデータの操作でI/Oが発生しなかった

スループット

  1. ParallelRaft
    • Raftはシーケンシャルに実行することで簡単にしているが,スループット上の問題となるため並列処理を可能な形式にしている
  2. 特定のCPUにピニングする
  3. コンテキストスイッチの回避

どうやって有効だと判断した?

CephとローカルSSDとfioを用いてシーケンシャルリードとランダムリード * レイテンシとスループットを比較した. また予備試験として,ローカルSSD環境とPolarFS上でデータベースの秒間Read/Writeの比較を行った

議論はある?

次に読むべき論文は?