TokyoWebMining#18_nukamu

4,417 views

Published on

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,417
On SlideShare
0
From Embeds
0
Number of Embeds
2,040
Actions
Shares
0
Downloads
32
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

TokyoWebMining#18_nukamu

  1. 1. 分散ファイルシステムと分散アプリケーションの研究 最新トピックス 東大大学院 情報理工学系研究科 修士2年 堀内美希 ( @nukamu )
  2. 2. Agenda イントロダクション – 少し自己紹介とか – 分散コンピューティングでの分散ファイルシステム の使用背景 分散ファイルシステムの基礎技術紹介 最新研究紹介 – 分散ファイルシステムにおける効果的なデータ配置 – 分散アプリケーションとの分散ファイルシステムの 連携 まとめ 2
  3. 3. 少し自己紹介 名前: @nukamu 所属:東京大学大学院 田浦研究室 学年:修士2年 研究分野:分散コンピュー ティング(特に分散ストレー ジまわり) プログラミング:C, pythonが特に好き 趣味:バンド、音楽系 3
  4. 4. 分散ファイルシステム周りのwork DDDFS (Dynamically-Duplicate Distributed File System) – 数週間前に行われたICTプログラムコンテストに応募 し賞を受賞 – Github - https://github.com/nukamu/dddfs Mogami – 研究で作ってる 分散ファイル システム – 近日公開予定 4
  5. 5. 分散ファイルシステムとは? 分散ファイルシステム  複数のストレージを束ねて使う  並列ファイルアクセスを可能にする 有名な分散ファイルシステム: PVFS, GPFS, Lustre, HDFS, Gluster etc.processes 5
  6. 6. 分散ファイルシステムを使うことの 利点– アクセスの並列化が可能なため高スループットが期待できる– 複数のプロセス(同一マシン上に限定しない)から同一ファイルが 参照可 File B File A File D File C ファイル共有ができる 高スループットを 得ることができる 6
  7. 7. 分散アプリケーションでの 分散ファイルシステムの使われ方 ex.) ワークフローアプリケーション 分散ファイルシステム create – 依存関係のあるジョブの集合体 job – MapReduceもワークフローの A 一種といえる use job job BとCは同時 B A 実行が可能job jobB C  各ジョブ間での情報伝達をファイルを 介して行う→ファイル共有の必要性 job  図中ファイルはジョブAのoutputであり D かつジョブBのinput 依存関係グラフ 7
  8. 8. ワークフロー実行エンジン Swift[Zhao et al. 2007], Pegasus[Deelman et al. 2005], GXPMake[Taura et al. 2010] etc.. – マスターノードがジョブの依存関係に気を配りつつ、ワーカーノー ドにジョブをディスパッチ – ワーカー間ではファイルの共有が必要 分散ファイルシステムワーカーノード ジョブをディスパッチ マスター ノード 8
  9. 9. 分散ファイルシステムの基礎技術 メタデータ管理 レプリケーション ストライピング 9
  10. 10. メタデータの管理方法 多くの分散ファイルシステムでは・・・ データの場所 = メタデータとして管理 Data servers  メタデータサーバ  各ファイルのデータがどこにあるか管理 する  ファイルを要求するユーザに要求ファイル の場所を教えてあげるMetadata server 10
  11. 11. レプリケーション 複数のサーバが同一ファイルのコンテンツを持つ(レ プリカ) File B File A File C Replica of File AAccess Access Access ファイルへのアクセス競合を 避けることができる 11
  12. 12. ストライピング  1つのファイルを複数のブロックに分割し、別々のスト レージに保存 – 並列アクセスによりI/Oスループットの向上が期待される 1/3 of A 2/3 of A 3/3 of AFile A Access Access 12
  13. 13. 本日のお題 – 最新研究トピックス 今回は主に分散ファイルシステム内でのデータの 最適配置関係のものを Pick Up 他にも色々1. 分散ファイルシステムにおける効果的な 盛んに研究が データ配置 行われている  A Cost-intelligent Application-specific Data Layout Scheme for Parallel File Systems [H. Song et al. HPDC’11]2. 分散アプリケーションと分散ファイルシステムの連携  A Workflow-Aware Storage System: An Opportunity Study [E. Vairavanathan et al. CCGrid’12] 13
  14. 14. 本日のお題 – 最新研究トピックス 分散ファイルシステムにおける効果的なデータ 配置 – A Cost-intelligent Application-specific Data Layout Scheme for Parallel File Systems [H. Song et al. HPDC’11] とその周辺 分散アプリケーションと分散ファイルシステムの 連携 – A Workflow-Aware Storage System: An Opportunity Study [E. Vairavanathan et al. CCGrid’12] とその周辺 14
  15. 15. 分散ファイルシステムでの効率的な データ配置とは? レプリケーションやストライピングによりI/O スループットを向上させることができる それでは、結果的にどのようなデータ配置が 効率的? 答え: アプリケーション に依存する Which is better? 15
  16. 16. 一般的な3つのデータ配置方針 1-DV Layout 2-D Layout 1-DH LayoutFile A 一般的な分散File B ファイルシステムFile C では大抵実装 されているFile D 16
  17. 17. アクセスコスト推定モデル  I/Oアクセスコスト推定モデルを先程 e: 一つのネットワーク接続確立に 要するコスト の3種類のレイアウトタイプに関して v: ある単位のデータを転送するた 構築 めのコスト n: データサーバ数 α: 各I/Oのスタートアップコスト β: ある単位のデータを read/writeするのにかかるコスト Network me Establish Cost Network mv×(request Transmission size) Costp: クライアントプロセス数 m: 一つのクライアント内 Storage Startup のプロセス数 (p/n)α CostProcess Process Process Process (p/n)β× 2 3 Storage I/O 0 1 (request Cost Client 0 Client 1 size) 17
  18. 18. コスト推定モデルの確認実験 このグラフはシーケンシャル アクセス時の結果  図中x, ・, +の印は実際の 測定で一番効率的なI/O スループットを出したもの を示している  背景の色は先程のアクセ スコスト推定モデルで最も コストが低いと推定された ものを示しているAccess Total Case Correct Correct アクセスコスト推定Type Count Count Rate モデルが大体正確でRandom 4200 3821 90.98% あることを確認Sequential 4200 3702 88.14% 18
  19. 19. ハイブリッドデータレプリケーション 方針 全てのレイアウト方針に基づいたデータを用意し、最 も推定アクセスコストの低いものを計算してアクセス 1-DV 1-DH 2-D各read, write時に一番アクセスコストの低いデータレイアウトを選ぶ 19
  20. 20. ハイブリッドデータレプリケーション の効果測定 1-DHと比べたときの性能向上割合 提案手法では約70%の性能改善 20
  21. 21. 本日のお題 – 最新研究トピックス 分散ファイルシステムにおける効果的なデータ 配置 – A Cost-intelligent Application-specific Data Layout Scheme for Parallel File Systems [H. Song et al. HPDC’11] とその周辺 分散アプリケーションと分散ファイルシステムの 連携 – A Workflow-Aware Storage System: An Opportunity Study [E. Vairavanathan et al. CCGrid’12] とその周辺 21
  22. 22. 分散ファイルシステムの透過性  分散ファイルシステムを使うときにはデータがどこに 存在しているか意識する必要はない – どこからでもリモートのデータに透過的にアクセス  分散ファイルシステムの利点でありつつ性能最適化 の弊害にもなる 分散ファイルシステム(抽象化可)ワークフローアプリケーションなどアプリケーションサイド 22
  23. 23. ワークフローアプリケーションのI/O パターン  Justin Wozniak et al PDSW’09 – ワークフローアプリケーション内でのI/Oパターンを 主流なものとして以下の4パターンに分類Pipeline Broadcast Reduce Scatter/Gather 23
  24. 24. 各I/Oアクセスパターンでの最適化 手法 Pipeline – ファイルを作るときローカルストレージにデータを置くように し、次のジョブを同じノードにディスパッチ Broadcast – ファイルを作っているそばから積極的にレプリケーションを 並列で行う Reduce – 全てのジョブが作るファイルをある同じノードに作るようにし、 次のジョブはそのノードで走らせる Scatter/Gather – ファイルレベルではなく、ブロックレベルの最適化が必要 – 今回は実装、評価せず 24
  25. 25. ワークフロー実行エンジンと分散 ストレージの連携実装 アプリケーションヒント (e.g., Pipeline, Broadcast, Reduceなど) ワークフロー 実行エンジン 計算ノード アプリケーション… アプリケーションアプリケーションPOSIXAPI ローカル ローカル ローカル ストレージ ストレージ ストレージストレージヒント(e.g., ファイルの位置) Workflow-aware storage (shared) 25
  26. 26. 評価:実験環境  MosaStore(改良あり), MosaStore(改良なし), NFS (, Local)  MosaStoreというのは論文筆者グループで開発して いる分散ファイルシステム アプリケーション … アプリケーション アプリケーションPOSIXAPI ローカル ローカル ローカル ストレージ ストレージ ストレージ Stage Out Intermediate Storage Stage In Backend file system (e.g., GPFS, NFS) 26
  27. 27. 評価:ベンチマーク - Pipeline 改良点: ファイルを自分のローカル で作成→同じノードに次のジョブを WF = WorkFlow-aware Average runtime for medium workload 27
  28. 28. 評価:ベンチマーク – Broadcast (1/2) 改良点: 積極的なレプリケーション WF = WorkFlow-aware Best performance!! Average runtime for medium workload 28
  29. 29. 評価:ベンチマーク – Broadcast (2/2) さらにもう少し見てみる – レプリカ作成にかかった時間と アプリケーションの実行時間に分離 Best Performance!! 29
  30. 30. 評価:ベンチマーク - Reduce 改良点: 一つのノードにファイルを 集め、そのノードにReduceジョブを WF = WorkFlow-aware Average runtime for medium workload 30
  31. 31. 今日の話のまとめ 分散アプリケーションでよく基盤として使われる分散 ファイルシステムの利点など大ざっぱな 背景を説明 分散ファイルシステムでよく使われる基礎知識に 関して説明 – メタデータ管理手法、レプリケーション、ストライピング 最新の研究として、分散ファイルシステムのデータ 配置に関する論文を2本 Pick Up – 分散ファイルシステムにおける効果的なデータ配置 – 分散アプリケーションの実行エンジンと分散ファイルシステム の連携 31
  32. 32. Thank you for listening Question…? 32

×