Professional Documents
Culture Documents
Distributed Hash Tables: David Tam Patrick Pang
Distributed Hash Tables: David Tam Patrick Pang
Presentation Outline
What is DHT (Distributed Hash Table)?
Why DHTs?
Applications How lookup works? Alternatives to DHTs Performance Routing Performance Load Balancing Security Routing Attack Security Inconsistent Behaviour Comparison to Other Facilities Current Research Projects Conclusion
What is DHT?
Distributed application put(key, data) get (key) Distributed hash table node . data
node
node
Why DHTs?
Why Middleware? Simplifies the development for large-scale distributed Apps Better security and robustness Simple API
Why Do We Need DHTs? Simplifies the development for large-scale distributed Apps Better security and robustness Simple API Exploits P2P resources
Applications
Anything that requires a hash table Databases, FSes, storage, archival Web serving, caching Content distribution Query & indexing Naming systems Communication primitives Chat services Application-layer multi-casting Event notification services Publish/subscribe systems ?
1
2 3
succ. 5
4
6 10
[4,6)
[6,10) [10,2)
5
7 10
11
1
2 3
succ. 12
12
14 2
[12,14)
[14,2) [2,10)
12
14 2
11
1
2 3
succ. 12
12
14 2
[12,14)
[14,2) [2,10)
12
14 2
11
1
2 3
succ. 15
0
2 6
[0,2)
[2,6) [6,13)
1
2 7
11
1
2 3
succ. 15
0
2 6
[0,2)
[2,6) [6,13)
1
2 7
11
1
2 3 4 5
12
11
10 7 9 8 6
Alternatives to DHTs
Distributed file system Centralized lookup P2P flooding queries
Server
N1 N4
Target
N2
N6
N3
Start
N10
N9
Client
N7 N8
Client
Internet
N1
N4
Client
N2 DB N6
Target
N3
N8
Start
N10
Client Server
N9
N7
Performance -- Lookup
Purpose -- to locate a target node Each step, try to get closer to locating target node Ask a closer neighbour Performance & scalability tied directly to lookup algorithm
2 Aspects to Scalability size of routing table O(log N) lookup path length O(log N)
0 15 14
1 2 3 4 5
13
12 11 10 7 9 8
0 15 14
1 2 3 4 5
13
12 11 10 7 9 8
0 15 14
1 2 3 4 5
13
12 11 10 7 9 8
Lieutenant 2
Lieutenant 2
Load-Balance
yes no no no
Fault-Tolerance Self-Org Admin high low medium yes no yes no low medium low high
Research Projects
Iris security & fault-tolerance US Govt Chord circular key space Pastry circular key space Tapestry hypercube space CAN n-dimensional key space Kelips n-dimensional key space DDS -- middleware platform for internet service construction -- cluster-based -- incremental scalability
Summary
Good middleware platform
Exploits P2P networks An exciting new research area
References
Lamport, Leslie et. al. The Byzantine Generals Problem
Sit, Emil, Morris, Robert. Security Considerations for Peerto-Peer Distributed Hash Tables Kaashoek, Frans. Distributed Hash Tables Building largesacle, robust distributed applications Stoica, Ion et. al. Chord: A scalable peer-to-peer lookup service for Internet applications Parnas, D. L. Connecting Theory to Practice: Software Engineering Programme