Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Distributed Transactional Memory for General Networks Gokarna Sharma Costas Busch Srivathsan Srinivasagopalan Louisiana State University May 24, 2012."— Presentation transcript:

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 3 Predecessor node Suppose the object ξ is at node and is a requesting node ξ Requesting node Suppose transactions are immobile and the objects are mobile

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

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

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

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

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 9 ProtocolStretchNetwork Kind Runs on Arrow [DISC’98] O(S ST )=O(D)GeneralSpanning tree Relay [OPODIS’09] O(S ST )=O(D)GeneralSpanning tree Combine [SSS’10] O(S OT )=O(D)GeneralOverlay tree Ballistic [DISC’05] O(log D)Constant- doubling dimension Hierarchical directory with independent sets  D is the diameter of the network kind  S * is the stretch of the tree used

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

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

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 14 Hierarchical clustering Spiral Approach: Network graph

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

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

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

18 18 root Send request to the leader

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

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

21 21 root Root node found, stop up phase

22 22 root A successful Publish operation Predecessor node ξ

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

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

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

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

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

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

29 29 Continue down phase root Discards path while going down

30 30 Continue down phase root Discards path while going down

31 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

32 32 Distributed Queue root u u tail head

33 33 Distributed Queue root u u tail head v v

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

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

36 36 root u v w Distributed Queue tail head w

37 37 Spiral is Starvation Free All requests terminate.  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. root u v w

38 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. 21 A object parent(A) lookup parent(A) move parent(A) B 3 C Level k Level k-1 Level k+1 From root parent(B)

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 by visiting leaders of all the clusters that contain u from level 0 to the root level The hierarchy guarantees: (1) For any two nodes u,v, their 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 root u p(u) p(v) v

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

42 Analysis: lookup Stretch 42 v w vivi x Level k Level i O(2 k log 2 n) O(2 i log 2 n) O(2 k log n) 2i2i If there is no Move, a Lookup r from w finds downward path to v in level log(dist(u,v))+2 = O(i) When there are Moves, it can be shown that r finds downward path to v in level k = O(i + log log 2 n) p(w) p(v) 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) Canonical path spiral path

43 Analysis: move Stretch 43 Level h...k...210h...k request x r0...r0...r0r0r0r0...r0...r0r0r0 r1..r1r1r1r1..r1r1r1 uv y w r2r2r2..r2r2r2r2r2r2..r2r2r2 r l-1 r2..rl...rlrlrlr2..rl...rlrlrl... Thus,

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


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

Similar presentations


Ads by Google