sma computer science seminar epichord parallelizing the
play

SMA Computer Science Seminar EpiChord: Parallelizing the Chord - PowerPoint PPT Presentation

SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management Ben Leong, Barbara Liskov, and Eric D. Demaine MIT Computer Science and Artificial Intelligence Laboratory { benleong,


  1. SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management Ben Leong, Barbara Liskov, and Eric D. Demaine MIT Computer Science and Artificial Intelligence Laboratory { benleong, liskov, edemaine } @mit.edu SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.1

  2. Structured Peer-to-Peer Systems Large scale dynamic network Overlay infrastructure : Scalable Self configuring Fault tolerant Every node responsible for some objects Find node having desired object Challenge: Efficient Routing at Low Cost SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.2

  3. Address Space N0 N6 N62 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 Most common — one-dimensional circular address space SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.3

  4. Mapping Keys to Nodes K2 N0 N6 K13 N62 N10 N57 N15 K52 K54 N51 N17 N49 N20 N47 N25 N40 K47 N30 N35 K32 successor of key is its owner SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.4

  5. Distributed Hash Tables (DHTs) A Distributed Hash Table (DHT) is a distributed data structure that supports a put/get interface. Store and retrieve {key, value} pairs efficiently over a network of (generally unreliable) nodes Keep state stored per node small because of network churn ⇒ minimize book-keeping & maintenance traffic SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.5

  6. Distributed Hash Tables (DHTs) DHTs trade off (i) routing state and/or (ii) bandwidth for lookup performance : Routing Table size ranges from O (log n ) to O ( n ) Lookup Topology (Gummadi et al., 2003) – ring, tree, xor, hypercube, butterfly Parallel lookup – Kademlia (xor) (Maymounkov and Mazieres, 2002) ⇒ EpiChord explores the trade-offs in moving from sequential lookup to parallel lookup and from O (log n ) to O (log n ) + + state SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.6

  7. Chord N0 N6 N62 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 Each node periodically probes O (log n ) fingers Achieves O (log n ) -hop performance SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.7

  8. Recursive Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.8

  9. Recursive Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.9

  10. Recursive Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.10

  11. Recursive Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 Takes O (log n ) hops to get to the destination node. SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.11

  12. Iterative Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.12

  13. Iterative Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.13

  14. Iterative Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.14

  15. Iterative Lookup N0 N6 N62 K12 N10 N57 N15 N51 N17 N49 N20 N47 N25 N40 N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.15

  16. Summary: Chord Stores O (log n ) state (fingers) at every node ⇒ storage is not the problem, probing traffic is limiting factor. Takes O (log n ) hops per lookup ⇒ Okay for some applications, too slow for others Non-zero probability that a node may fail in between probe ⇒ Node failures detected by timeout SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.16

  17. Our Goal We want to do better than O (log n ) -hop lookup without adding extra overhead. Use a combination of techiques: Piggyback information on lookup messages Allow cache to store more than O (log n ) routing state Issue parallel queries during lookup SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.17

  18. Outline Parallel Lookup Algorithm Reactive Cache Management Simulation Results Related Work Conclusion SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.18

  19. Preliminaries p : Degree of parallelism – “threads” l : Number of entries returned per query ( l = 3 ) h : Number of hops We call an EpiChord network that sends out p queries in parallel for a lookup a p -way EpiChord . SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.19

  20. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 N51 N17 YOU ARE HERE N49 YOU WANT: K2 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.20

  21. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 N51 query for K2 N17 N49 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.21

  22. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 p−1 queries N51 N17 N49 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.22

  23. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 N51 N17 N57, N62, N0, N10 N49 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.23

  24. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 N51 N17 N49 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.24

  25. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 N51 N0, N6 N17 N49 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.25

  26. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 N51 N17 N0, N6 N49 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.26

  27. EpiChord Lookup Algorithm K2 N0 N6 N62 N10 N57 N15 N51 FOUND K2!! N17 N49 N20 N47 Known node N25 N40 Unknown node N30 N35 SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.27

  28. EpiChord Lookup Algorithm Intrinsically iterative Learn about more nodes Avoid redundant queries – typically 2( p + h ) messages Additional policies to learn new routing entries: When a node first joins network, obtains a cache transfer from successor Nodes gather information by observing lookup traffic SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.28

  29. Key Insights No compelling reason to decouple lookups from network maintenance Can employ parallel lookup if: Lookup pathlengths are short Adopt an iterative approach to avoid redundant queries SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.29

  30. Key Insights Parallel Lookup and Large State have a somewhat symbiotic relationship Lookup pathlengths are short if we store a lot of state ⇒ with short pathlengths, parallel lookup is feasible Storing a lot of state increases outdated state ⇒ increases maintenance bandwidth or increases timeouts ⇒ parallel queries can mitigate timeouts SMA Computer Science Seminar EpiChord: Parallelizing the Chord Lookup Algorithm with Reactive Routing State Management – p.30

Recommend


More recommend