distributed transactional memory for
play

Distributed Transactional Memory for General Networks Gokarna - PowerPoint PPT Presentation

Distributed Transactional Memory for General Networks Gokarna Sharma Costas Busch Srivathsan Srinivasagopalan Louisiana State University May 24, 2012 Distributed Transactional Memory Transactions run on network nodes They ask for


  1. Distributed Transactional Memory for General Networks Gokarna Sharma Costas Busch Srivathsan Srinivasagopalan Louisiana State University May 24, 2012

  2. Distributed Transactional Memory • Transactions run on network nodes • They ask for shared objects distributed over the network for either read or write • They appear to execute atomically The reads and writes on shared objects are supported • through three operations: Publish  Lookup  Move  2

  3. Suppose the object ξ is at node and is a requesting node Requesting node Predecessor node ξ Suppose transactions are immobile and the objects are mobile 3

  4. Lookup operation Read-only copy Main copy ξ ξ Replicates the object to the requesting node 4

  5. Lookup operation Read-only copy ξ Read-only copy Main copy ξ ξ Replicates the object to the requesting nodes 5

  6. Move operation Main copy Invalidated ξ ξ Relocates the object explicitly to the requesting node 6

  7. Move operation Main copy ξ Invalidated Invalidated ξ ξ Relocates the object explicitly to the requesting node 7

  8. Need a distributed directory protocol  To provide objects to the requesting nodes efficiently implementing Publish, Lookup, and Move operations  To maintain consistency among the shared object copies 8

  9. Existing Approaches Protocol Stretch Network Runs on Kind Arrow O(S ST )=O(D) General Spanning tree [DISC’98] Relay O(S ST )=O(D) General Spanning tree [OPODIS’09] Combine O(S OT )=O(D) General Overlay tree [SSS’10] Ballistic O(log D) Constant- Hierarchical directory [DISC’05] doubling with independent sets dimension ➢ D is the diameter of the network kind ➢ S * is the stretch of the tree used 9

  10. Scalability Issues/Race Conditions Locking is required From root Lookup from C is probing lookup parent(A) Level k+1 parent(B) at t Probes left to right move parent(A) Level k parent(A) A C B Level k-1 object Ballistic configuration at time t 10

  11. Spiral directory protocol for general networks with O(log 2 n . log D) stretch avoiding race conditions 11

  12. In The Remaining… Model • Hierarchical Directory Construction • How Spiral Supports Publish, Lookup, and Move • Analogy to a Distributed Queue • Spiral Hierarchy Parameters and Analysis • Lookup Stretch • Move Stretch • Discussion • 12

  13. Model • General network G = (V,E) of n reliable nodes with diameter D • One shared object • Nodes receive-compute-send atomically • Nodes are uniquely identified • Node u can send to node v if it knows v • One node executes one request at a time 13

  14. Spiral Approach: Hierarchical clustering Network graph 14

  15. Spiral Approach: Hierarchical clustering Alternative representation as a hierarchy tree with leader nodes 15

  16. At the lowest level (level 0) every node is a cluster Directories at each level cluster, downward pointer if object locality known 16

  17. A Publish operation root Owner node ξ ➢ Assume that is the creator of which invokes the Publish operation ξ ➢ Nodes know their parent in the hierarchy 17

  18. Send request to the leader root 18

  19. Continue up phase root Sets downward pointer while going up 19

  20. Continue up phase root Sets downward pointer while going up 20

  21. Root node found, stop up phase root 21

  22. root Predecessor node ξ A successful Publish operation 22

  23. Supporting a Move operation root Requesting node Predecessor node ξ ➢ Initially, nodes point downward to object owner (predecessor node) due to Publish operation ➢ Nodes know their parent in the hierarchy 23

  24. Send request to leader node of the cluster upward in hierarchy root 24

  25. Continue up phase until downward pointer found root Sets downward path while going up 25

  26. Continue up phase root Sets downward path while going up 26

  27. Continue up phase root Sets downward path while going up 27

  28. Downward pointer found, start down phase root Discards path while going down 28

  29. Continue down phase root Discards path while going down 29

  30. Continue down phase root Discards path while going down 30

  31. Predecessor reached, object is moved from node to node root Lookup is similar without change in the directory structure and only a read-only copy of the object is sent 31

  32. Distributed Queue root u tail head u 32

  33. Distributed Queue root u v tail head v u 33

  34. Distributed Queue root u v w tail head u w v 34

  35. Distributed Queue root v w tail head u w v 35

  36. Distributed Queue root w tail head u w v 36

  37. root Spiral is Starvation Free All requests terminate. u w v ➢ There is always a path of downward pointers from the root node to a leaf node. ➢ No set of finite number of requests whose successor links form a cycle. ➢ All the requests terminate in a bounded amount of time. 37

  38. Spiral avoids Race condition ➢ Do not need to lock simultaneously multiple parent nodes in the same label. ➢ Label all the parents in each level and visit them in the order of the labels. From root parent(B) lookup parent(A) Level k+1 move parent(A) 3 2 1 Level k parent(A) A C B Level k-1 object 38

  39. Spiral Hierarchy (O(log n), O(log n))-labeled sparse cover hierarchy • constructed from O(log n) hierarchical partitions Level 0, each node belongs to exactly one cluster  Level h, all the nodes belong to one cluster with root r  Level 0 < i < h, each node belongs to exactly O(log n) clusters  which are labeled different 39

  40. Spiral Hierarchy How to find a predecessor node? • Via spiral paths for each leaf node u  root by visiting leaders of all the clusters that contain u from level 0 to the root level The hierarchy guarantees: u v (1) For any two nodes u,v, their p(u) p(v) spiral paths p(u) and p(v) meet at level min{h, log(dist(u,v))+2} (2) length(p i (u)) is at most O(2 i log 2 n) 40

  41. (Canonical) downward Paths root root u v u p(v) p(u) p(u) p(v) is a (canonical) downward path 41

  42. Analysis: lookup Stretch If there is no Move, a Lookup r x Level k from w finds downward path to v Level i in level log(dist(u,v))+2 O(2 k log n) v i = O(i) O(2 k log 2 n) When there are Moves, it can be spiral path p(w) shown that r finds downward O(2 i log 2 n) path to v in level k = O(i + log log 2 n) p(v) Canonical path v w 2 i C(r)/C*(r) = O(2 k log 2 n)+O(2 k log n)+O(2 i log 2 n) / 2 i-1 = O(log 4 n) 42

  43. Analysis: move Stretch Level Assume a sequential execution R of l+1 Move requests, where r 0 is an initial r 0 h Publish request. . r 2 . . . . . r 2 . . C*( R ) ≥ max 1≤k≤h (S k -1) 2 k-1 r 0 r 2 r l k . r 1 r 2 . . ℎ (Sk−1) O(2 k log 2 n) . . . . C( R ) ≥ σ . k=1 . . . . . r 0 r l-1 r 1 r 2 r l 2 . . . r 0 r l-1 r 1 r 2 r l 1 r 0 r l-1 r 1 r 2 r l 0 Thus, y w x u v request ℎ (Sk−1) O(2 k log 2 n) / max 1≤k≤h (S k -1) 2 k-1 C( R )/C*( R ) = σ k=1 = O(log 2 n. h) max 1≤k≤h (S k -1) 2 k-1 / max 1≤k≤h (S k -1) 2 k-1 = O(log 2 n. log D) 43

  44. Summary A distributed directory protocol Spiral for • general networks that Has poly-logarithmic stretch  Is starvation free  Avoids race conditions  Factors in the stretch are mainly due to the parameters of the  hierarchical clustering 44

  45. Thank you!!! 45

Recommend


More recommend