Distributed Transactional Memory for General Networks Gokarna - - PowerPoint PPT Presentation

distributed transactional memory for
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Distributed Transactional Memory for General Networks

Gokarna Sharma Costas Busch Srivathsan Srinivasagopalan Louisiana State University

May 24, 2012

slide-2
SLIDE 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

slide-3
SLIDE 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

slide-4
SLIDE 4

4

Read-only copy Main copy Lookup operation ξ ξ

Replicates the object to the requesting node

slide-5
SLIDE 5

5

Read-only copy Main copy Lookup operation ξ ξ

Replicates the object to the requesting nodes

Read-only copy ξ

slide-6
SLIDE 6

6

Main copy Invalidated Move operation ξ ξ

Relocates the object explicitly to the requesting node

slide-7
SLIDE 7

7

Invalidated Move operation ξ

Relocates the object explicitly to the requesting node

Main copy ξ Invalidated ξ

slide-8
SLIDE 8

Need a distributed directory protocol

 To provide objects to the requesting nodes efficiently implementing Publish, Lookup, and Move

  • perations

 To maintain consistency among the shared object copies

8

slide-9
SLIDE 9

Existing Approaches

9

Protocol Stretch Network Kind Runs on Arrow [DISC’98] O(SST)=O(D) General Spanning tree Relay [OPODIS’09] O(SST)=O(D) General Spanning tree Combine [SSS’10] O(SOT)=O(D) General Overlay 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

slide-10
SLIDE 10

Scalability Issues/Race Conditions

Locking is required

10

A

  • bject

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

slide-11
SLIDE 11

11

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

slide-12
SLIDE 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

slide-13
SLIDE 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

slide-14
SLIDE 14

14

Hierarchical clustering Spiral Approach: Network graph

slide-15
SLIDE 15

15

Hierarchical clustering Spiral Approach:

Alternative representation as a hierarchy tree with leader nodes

slide-16
SLIDE 16

16

At the lowest level (level 0) every node is a cluster

Directories at each level cluster, downward pointer if object locality known

slide-17
SLIDE 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

ξ ξ

slide-18
SLIDE 18

18

root

Send request to the leader

slide-19
SLIDE 19

19

root

Continue up phase Sets downward pointer while going up

slide-20
SLIDE 20

20

root

Continue up phase Sets downward pointer while going up

slide-21
SLIDE 21

21

root

Root node found, stop up phase

slide-22
SLIDE 22

22

root

A successful Publish operation Predecessor node ξ

slide-23
SLIDE 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

ξ

slide-24
SLIDE 24

24

Send request to leader node of the cluster upward in hierarchy

root

slide-25
SLIDE 25

25

Continue up phase until downward pointer found

root

Sets downward path while going up

slide-26
SLIDE 26

26

Continue up phase

root

Sets downward path while going up

slide-27
SLIDE 27

27

Continue up phase

root

Sets downward path while going up

slide-28
SLIDE 28

28

Downward pointer found, start down phase

root

Discards path while going down

slide-29
SLIDE 29

29

Continue down phase

root

Discards path while going down

slide-30
SLIDE 30

30

Continue down phase

root

Discards path while going down

slide-31
SLIDE 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

slide-32
SLIDE 32

32

Distributed Queue

root

u u tail head

slide-33
SLIDE 33

33

Distributed Queue

root

u u tail head v v

slide-34
SLIDE 34

34

root

u v w

Distributed Queue

u tail head v w

slide-35
SLIDE 35

35

root

u v w

Distributed Queue

tail head v w

slide-36
SLIDE 36

36

root

u v w

Distributed Queue

tail head w

slide-37
SLIDE 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

slide-38
SLIDE 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

  • rder of the labels.

2 1

A

  • bject

parent(A) lookup parent(A) move parent(A)

B

3

C

Level k Level k-1 Level k+1 From root parent(B)

slide-39
SLIDE 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

slide-40
SLIDE 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(pi(u)) is at most O(2i log2n)

40

root

u

p(u) p(v)

v

slide-41
SLIDE 41

(Canonical) downward Paths

41

root

u

p(u)

root

u

p(u)

v

p(v) p(v) is a (canonical) downward path

slide-42
SLIDE 42

Analysis: lookup Stretch

42

v w vi

x

Level k Level i O(2k log2n) O(2i log2n) O(2k log n) 2i 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 log2n) p(w) p(v)

C(r)/C*(r) = O(2k log2n)+O(2k log n)+O(2i log2n) / 2i-1 = O(log4n)

Canonical path spiral path

slide-43
SLIDE 43

Analysis: move Stretch

43

Level Assume a sequential execution R of l+1 Move requests, where r0 is an initial Publish request.

C*(R) ≥ max1≤k≤h (Sk-1) 2k-1 C(R) ≥ σ

k=1

ℎ (Sk−1) O(2k log2n)

C(R)/C*(R) = σ

k=1

ℎ (Sk−1) O(2k log2n) / max1≤k≤h (Sk-1) 2k-1

= O(log2n. h) max1≤k≤h (Sk-1) 2k-1 / max1≤k≤h (Sk-1) 2k-1 = O(log2n. log D)

h . . . k . . . 2 1

request x

r0 . . . r0 . . . r0 r0 r0 r1 . . r1 r1 r1

u v y w

r2 r2 r2 . . r2 r2 r2 rl-1 rl-1 rl-1 r2 . . rl . . . rl rl rl

. . . Thus,

slide-44
SLIDE 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

slide-45
SLIDE 45

Thank you!!!

45