VIOPS-04 Virtualized Infrastructure Operators Group
DHT/分散ストレージの技術研究と
実証実験実証実験
門林雄基
奈良先端科学技術大学院大学 (NAIST)良 ( )
情報科学研究科 /
情...
Part I:
オーバーレイネットワーク/DHT
イントロダクションイントロダクション
Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved.
2
オーバーレイ・ネットワークとは *オーバーレイ・ネットワークとは
単一障害点が無い、
*
フレームワークまたはアプリケーションが自律的に構成する、
目的志向のネットワーク
サービスを分散した計算機群によって構成する手法
Overlay
(Lay...
オーバーレイの類型 *オーバーレイの類型
構造のないオーバーレイ (unstructured overlay)
*
“Peer-to-Peer”, “P2P”
ノード間のトポロジを規定しない
構造化オーバーレイ (structured over...
構造のないオーバーレイにおける探索
t t d lunstructured overlay
ノード間のトポロジを規定しない
問い合わせをフラッディング
Client
N3
N2N1 Lookup(“title”)
N4
Publisher@
C...
構造化オーバーレイ
t t d lstructured overlay
ノード間のトポロジとして一定の構造を規定することによ
り、資源探索や経路制御の効率を求めたオーバーレイ
問い合わせをルーティング
Chord を例として *Chord を例...
構造化オーバーレイの方式研究構造化オーバーレイの方式研究
Tapestry (Kubiatowicz et al., @ UCB, 2000)
Chord (Stoica et al. @ MIT, 2001)
Pastry (Rowstron...
構造化オーバーレイ:さまざまなトポロジ構造化オーバーレイ:さまざまなトポロジ
Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved.
8
Part II:
オーバーレイ上へのサービス構築オ バ レイ上へのサ ビス構築
Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved.
9
構造化オーバーレイの3側面 *構造化オーバーレイの3側面
Rendezvous
*
オーバーレイへの加入および近接性の維持方式
ノードがオーバーレイに加入するときに踏むべき手続きと、加入後に隣接ノードとの通
信を維持するために必要な手続きを規定...
構造化オーバーレイのサービスモデル構造化オーバーレイのサービスモデル
DHT
Di t ib t d H h T blDistributed Hash Table
ハッシュ表を分散して保持することにより分散ストレージを構成
put(key, v...
構造化オーバーレイのAPI
(C API の発表資料から)(Common API の発表資料から)
Distributed
Hash Tables
Decentralized
Object Location /
Multicast / Anyc...
DOLR vs. Distributed Hash Table
(T t 発表資料から)(Tapestry発表資料から)
DHT: hash content name replica placement
modifications replic...
KBR API で DHT DOLR 等を実現KBR API で DHT, DOLR 等を実現
ApplicationApplication
msg
deliver
KBR L
Application
msg
forward
msg
Appli...
KBR API を中心とした
構造化オ バ レイのフレ ムワ ク構造化オーバーレイのフレームワーク
Storage
G
アプリケーション
Sto age
Group-
ware
Streaming
DHT
APIKBR API
DHT
DOLR...
ヒント 研究成果の活かし方ヒント: 研究成果の活かし方
方式研究 → システム研究 → 製品・サービス
各論文はバラバラな条件設定でシステムを作っている
そのまま製品・サービスに転用できるわけではないそ まま製品 サ 転用 きるわけ な
Ren...
Part III:
Failure modes of DHT
DHTの故障モードDHTの故障モ ド
Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved.
17
ノードの離脱 (Node ch rn)ノードの離脱 (Node churn)
DHTの設計段階では、ノードは離脱する前に他ノー
ドに「お知らせ」して担当データを移譲することにな
ている。(非現実的)
Node churnNode churn
「...
一貫性のない状態一貫性のない状態
様々な理由により、一貫性のない状態になりうる:
ノードの離脱
新規ノード新規
不安定なリンク
過渡状態過渡状態
メビウスの輪
始点によって見え方が違う!始点によって見え方が違う!
D. Liben-Nowell...
資源の枯渇 (実装依存)資源の枯渇 (実装依存)
Open files が無くなるp
Ephemeral port number が無くなる
Shared memoryShared memory
Thread pool
メモリリーク
… 大規模...
競合状態 (Race condition)競合状態 (Race condition)
以下の呪文を同時に唱えると鬼門が開く:
スレッド
Mutex
Reference counting
マルチコア・プロセッサ
Heisenbug
観測しようとす...
Part IV:
DHT Myths and Realities
DHTの幻想と現実DHTの幻想と現実
Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved.
22
レスポンスタイムに関する幻想と現実レスポンスタイムに関する幻想と現実
DHTの応答時間は短い?
RTT, 利用帯域, 負荷に依存する
スケールアウトする一方で、応答時間は保証しないスケ ルアウトする 方で、応答時間は保証しない
応答時間を優先す...
メモリ容量に関する幻想と現実メモリ容量に関する幻想と現実
DHTはいたずらにメモリを消費する?
実装言語による
Java等のガベージコレクション:
malloc/free の5倍のメモリを使えば性能は互角malloc/free の5倍のメモリを...
DHTはチューニングできるのかDHTはチューニングできるのか
YES
ハッシュのビット長
Fi bl トリ数Finger table エントリ数
Successor リスト数
MM
K
PP
Alpha
….
J. Li et al., “Co...
DHTは信頼できるのかDHTは信頼できるのか
ノードの加入・離脱を制御できるならば YES
ネットワーク、OSの信頼性含む
制御できないなら NO制御できないなら NO
S. Zhang, I. Stoica, R Katz, “The Cos...
DHTの可用性は保証できるのかDHTの可用性は保証できるのか
ストレージの冗長性を制御できるならば YES
制御できないなら NO
「ネットワークRAID」は実現できる「ネットワークRAID」は実現できる
→ LDPC(低密度パリティ検査符号)...
DHTで何が起きているのか説明できるかDHTで何が起きているのか説明できるか
システムを再構成できるなら YES
再構成できないなら NO
Debug level
Dtrace (Solaris), Systemtap (Linux)
Opro...
まとめまとめ
DHT/KVSが独り歩きしているようですが…
Rendezvous
Location
Routing
これらすべてで工夫の余地あり
Routing
産業界からのフィードバックなければ研究の余地なし
応答時間の要件
可用性の要件
一...
Upcoming SlideShare
Loading in …5
×

VIOPS04: DHT/分散ストレージの技術研究と 実証実験

313 views

Published on

VIOPS04: DHT/分散ストレージの技術研究と 実証実験

奈良先端科学技術大学院大学(NAIST)
情報科学研究科/
情報通信研究機構(NICT)
情報通信セキュリティ研究センター
門林雄基

2009年12月11日(金曜日)10:00-17:30
VIOPS04 WORKSHOP
Virtualized Infrastructures Workshop [04]

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
313
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

VIOPS04: DHT/分散ストレージの技術研究と 実証実験

  1. 1. VIOPS-04 Virtualized Infrastructure Operators Group DHT/分散ストレージの技術研究と 実証実験実証実験 門林雄基 奈良先端科学技術大学院大学 (NAIST)良 ( ) 情報科学研究科 / 情報通信研究機構 (NICT)機 ( ) 情報通信セキュリティ研究センター http://xdt.sourceforge.net/ Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved. 1 p g
  2. 2. Part I: オーバーレイネットワーク/DHT イントロダクションイントロダクション Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved. 2
  3. 3. オーバーレイ・ネットワークとは *オーバーレイ・ネットワークとは 単一障害点が無い、 * フレームワークまたはアプリケーションが自律的に構成する、 目的志向のネットワーク サービスを分散した計算機群によって構成する手法 Overlay (Layer 7) Underlay (L 3) Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 3 (Layer 3)
  4. 4. オーバーレイの類型 *オーバーレイの類型 構造のないオーバーレイ (unstructured overlay) * “Peer-to-Peer”, “P2P” ノード間のトポロジを規定しない 構造化オーバーレイ (structured overlay)( y) ノード間のトポロジとして一定の構造を規定することに より、資源探索や経路制御の効率を求めたオーバーレイ 説明のため、 バ 探索 を考オーバーレイ上でのファイル探索問題を考える ノード数、ファイル数ともに膨大 Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 4
  5. 5. 構造のないオーバーレイにおける探索 t t d lunstructured overlay ノード間のトポロジを規定しない 問い合わせをフラッディング Client N3 N2N1 Lookup(“title”) N4 Publisher@ Client Key=“title” N6 N7 N8 Key title Value=MP3 data… N9 7 Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 5障害に強いが、探索時に最悪 O(N) のメッセージ
  6. 6. 構造化オーバーレイ t t d lstructured overlay ノード間のトポロジとして一定の構造を規定することによ り、資源探索や経路制御の効率を求めたオーバーレイ 問い合わせをルーティング Chord を例として *Chord を例として Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 6
  7. 7. 構造化オーバーレイの方式研究構造化オーバーレイの方式研究 Tapestry (Kubiatowicz et al., @ UCB, 2000) Chord (Stoica et al. @ MIT, 2001) Pastry (Rowstron et al. @ MS, 2001) Kademlia (Maymounkov et al. @ NYU, 2002) Koorde (Kaashoek et al. @ MIT, 2003)( ) … トポロジや経路制御手法に差異 通信量、計算量、対故障性などについて比較評価が なされている Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 7
  8. 8. 構造化オーバーレイ:さまざまなトポロジ構造化オーバーレイ:さまざまなトポロジ Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 8
  9. 9. Part II: オーバーレイ上へのサービス構築オ バ レイ上へのサ ビス構築 Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved. 9
  10. 10. 構造化オーバーレイの3側面 *構造化オーバーレイの3側面 Rendezvous * オーバーレイへの加入および近接性の維持方式 ノードがオーバーレイに加入するときに踏むべき手続きと、加入後に隣接ノードとの通 信を維持するために必要な手続きを規定する Location 資源探索方式 探索する資源を識別子空間に射影する方式と、アプリケーションに対する資 源探索のサービスモデルを規定する源探索のサービスモデルを規定する Routingg 経路制御方式 ある識別子にあててメッセージを送るアルゴリズムを規定する Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 10
  11. 11. 構造化オーバーレイのサービスモデル構造化オーバーレイのサービスモデル DHT Di t ib t d H h T blDistributed Hash Table ハッシュ表を分散して保持することにより分散ストレージを構成 put(key, value); value = get(key); DOLR Decentralized Object Location and RoutingDecentralized Object Location and Routing オブジェクトの識別子を指定し、任意のメッセージをへ送る 近傍のコピーへ sendMessage(objectID message);sendMessage(objectID, message); CAST N個のノードが、グループを指定して参加・離脱 N=1: Anycast, N>1: Multicast Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 11
  12. 12. 構造化オーバーレイのAPI (C API の発表資料から)(Common API の発表資料から) Distributed Hash Tables Decentralized Object Location / Multicast / Anycast (CAST) (DHT) Routing (DOLR) (CAST) put (key data) publish (objectId) join (groupId)put (key, data) publish (objectId) join (groupId) remove (key) unpublish (objectId) leave (groupId) value = get (key) sendToObj (msg, objectId [n]) multicast (msg, gId) anycast (msg gId)objectId, [n]) anycast (msg, gId) F Dabek et al “Towards a Common API for Structured Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 12 F. Dabek et al., Towards a Common API for Structured Peer-to-Peer Overlays”, IPTPS’03.
  13. 13. DOLR vs. Distributed Hash Table (T t 発表資料から)(Tapestry発表資料から) DHT: hash content name replica placement modifications replicating new version into DHT Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 13 modifications replicating new version into DHT DOLR: app places copy near requests, overlay routes msgs to it
  14. 14. KBR API で DHT DOLR 等を実現KBR API で DHT, DOLR 等を実現 ApplicationApplication msg deliver KBR L Application msg forward msg Application D li (k ) g KBR Layer sg sg KBR Layer Deliver(key, msg) Delivers a message to application at the destination Forward(&key, &msg, &nextHopNode) S h ll i h l h dSynchronous upcall with normal next hop node Applications can override messages Update(node, boolean joined) U ll i k d t i f li ti f d j i iUpcall invoked to inform application of a node joining or leaving the local node’s neighborSet Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 14
  15. 15. KBR API を中心とした 構造化オ バ レイのフレ ムワ ク構造化オーバーレイのフレームワーク Storage G アプリケーション Sto age Group- ware Streaming DHT APIKBR API DHT DOLR CAST アルゴリズム Chord PastryPastry Koorde Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 15
  16. 16. ヒント 研究成果の活かし方ヒント: 研究成果の活かし方 方式研究 → システム研究 → 製品・サービス 各論文はバラバラな条件設定でシステムを作っている そのまま製品・サービスに転用できるわけではないそ まま製品 サ 転用 きるわけ な Rendezvous Base code Location Routing Ref. model BenchmarksRouting Service model Impl. model Benchmarks Features Workload model Workload Feature set Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 16方式研究 システム研究 製品・サービス
  17. 17. Part III: Failure modes of DHT DHTの故障モードDHTの故障モ ド Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved. 17
  18. 18. ノードの離脱 (Node ch rn)ノードの離脱 (Node churn) DHTの設計段階では、ノードは離脱する前に他ノー ドに「お知らせ」して担当データを移譲することにな ている。(非現実的) Node churnNode churn 「お知らせ」せずに突然いなくなる これが普通では?(オペレ タのセンスでは)これが普通では?(オペレータのセンスでは) ノードの離脱への万能な対応は難しい Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 18
  19. 19. 一貫性のない状態一貫性のない状態 様々な理由により、一貫性のない状態になりうる: ノードの離脱 新規ノード新規 不安定なリンク 過渡状態過渡状態 メビウスの輪 始点によって見え方が違う!始点によって見え方が違う! D. Liben-Nowell et al., “Analysis of the Evolution of P t P S t ” PODC’02 Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 19 Peer-to-Peer Systems”, PODC’02.
  20. 20. 資源の枯渇 (実装依存)資源の枯渇 (実装依存) Open files が無くなるp Ephemeral port number が無くなる Shared memoryShared memory Thread pool メモリリーク … 大規模Webサーバと同様 枯渇状況が見えないリソースもあるので注意枯渇状況が見えないリソ スもあるので注意 Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 20
  21. 21. 競合状態 (Race condition)競合状態 (Race condition) 以下の呪文を同時に唱えると鬼門が開く: スレッド Mutex Reference counting マルチコア・プロセッサ Heisenbug 観測しようとすると再現しない 実運用レベルまでスケールを上げないと再現しない … Welcome to our club!! Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 21
  22. 22. Part IV: DHT Myths and Realities DHTの幻想と現実DHTの幻想と現実 Copyright(C) 2006 Youki Kadobayashi,NAIST. All rights reserved. 22
  23. 23. レスポンスタイムに関する幻想と現実レスポンスタイムに関する幻想と現実 DHTの応答時間は短い? RTT, 利用帯域, 負荷に依存する スケールアウトする一方で、応答時間は保証しないスケ ルアウトする 方で、応答時間は保証しない 応答時間を優先するなら KVS では? 応答時間が最も重要なら SLB では?応答時間が最も重要なら SLB では? J. Li et al., “Comparing the performance of distributed Hash tables under churn”, IPTPS’04. Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 23
  24. 24. メモリ容量に関する幻想と現実メモリ容量に関する幻想と現実 DHTはいたずらにメモリを消費する? 実装言語による Java等のガベージコレクション: malloc/free の5倍のメモリを使えば性能は互角malloc/free の5倍のメモリを使えば性能は互角 malloc/free の3倍のメモリ: 17% の性能ペナルティ ll /f の2倍のメモリ 70% の性能ペナルティmalloc/free の2倍のメモリ: 70% の性能ペナルティ M Hertz E Berger “Quantifying the Performance ofM. Hertz, E. Berger, Quantifying the Performance of Garbage Collection vs. Explicit Memory Management”, OOPSLA’05. Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 24
  25. 25. DHTはチューニングできるのかDHTはチューニングできるのか YES ハッシュのビット長 Fi bl トリ数Finger table エントリ数 Successor リスト数 MM K PP Alpha …. J. Li et al., “Comparing the performance of distributed hash tables under churn”, IPTPS’04. Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 25用途、想定負荷・規模に合わせた最適化をしましょう
  26. 26. DHTは信頼できるのかDHTは信頼できるのか ノードの加入・離脱を制御できるならば YES ネットワーク、OSの信頼性含む 制御できないなら NO制御できないなら NO S. Zhang, I. Stoica, R Katz, “The Cost of Inconsistency in DHTs”, UCB/CSD-5-1394. Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 26
  27. 27. DHTの可用性は保証できるのかDHTの可用性は保証できるのか ストレージの冗長性を制御できるならば YES 制御できないなら NO 「ネットワークRAID」は実現できる「ネットワークRAID」は実現できる → LDPC(低密度パリティ検査符号) R. Rodrigues et al., “High Availability in DHTs: Erasure Coding vs Replication” IPTPS’05Coding vs. Replication , IPTPS 05. Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 27
  28. 28. DHTで何が起きているのか説明できるかDHTで何が起きているのか説明できるか システムを再構成できるなら YES 再構成できないなら NO Debug level Dtrace (Solaris), Systemtap (Linux) Oprofilep Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 28
  29. 29. まとめまとめ DHT/KVSが独り歩きしているようですが… Rendezvous Location Routing これらすべてで工夫の余地あり Routing 産業界からのフィードバックなければ研究の余地なし 応答時間の要件 可用性の要件 一貫性の要件貫性の要件 データ量の要件 その他リソース制約 Design space があまりにも広い! ベンチマークを設定すれば改善の余地あり クラウド ン 2010 Copyright(C) 2009 Youki Kadobayashi,NAIST. All rights reserved. 29 → クラウドコン 2010

×