distributed transactional memory for general networks gokarna sharma costas busch srivathsan...

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

Upload: janet-reade

Post on 16-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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

Distributed Transactional Memory for General Networks

Gokarna Sharma Costas Busch

Srivathsan Srinivasagopalan

Louisiana State University

May 24, 2012

Page 2: 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 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

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

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

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

4

Read-only copyMain copy

Lookup operation

ξξ

Replicates the object to the requesting node

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

5

Read-only copyMain copy

Lookup operation

ξξ

Replicates the object to the requesting nodes

Read-only copyξ

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

6

Main copyInvalidated

Move operation

ξξ

Relocates the object explicitly to the requesting node

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

7

Invalidated

Move operation

ξ

Relocates the object explicitly to the requesting node

Main copyξ

Invalidatedξ

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

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

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

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

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

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

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

11

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

conditions

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

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

• Discussion12

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

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

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

14

Hierarchical clusteringSpiral Approach:

Network graph

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

15

Hierarchical clusteringSpiral Approach:

Alternative representation as a hierarchy tree with leader nodes

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

16

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

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

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

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

ξ

ξ

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

18

root

Send request to the leader

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

19

root

Continue up phase

Sets downward pointer while going up

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

20

root

Continue up phase

Sets downward pointer while going up

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

21

root

Root node found, stop up phase

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

22

root

A successful Publish operation

Predecessor nodeξ

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

23

Requesting nodePredecessor 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

ξ

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

24

Send request to leader node of the cluster upward in hierarchy

root

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

25

Continue up phase until downward pointer found

root

Sets downward path while going up

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

26

Continue up phase

root

Sets downward path while going up

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

27

Continue up phase

root

Sets downward path while going up

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

28

Downward pointer found, start down phase

root

Discards path while going down

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

29

Continue down phase

root

Discards path while going down

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

30

Continue down phase

root

Discards path while going down

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

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

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

32

Distributed Queue

root

u

u

tailhead

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

33

Distributed Queue

root

u

u

tailheadv

v

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

34

root

uv w

Distributed Queue

u

tailhead

v w

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

35

root

uv w

Distributed Queue

tailhead

v w

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

36

root

uv w

Distributed Queue

tailhead

w

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

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

uv w

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

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.

2 1

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)

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

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

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

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

up(u) p(v)

v

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

(Canonical) downward Paths

41

root

up(u)

root

up(u)

vp(v)

p(v) is a (canonical) downward path

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

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

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

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) ≥ log2n)

C(R)/C*(R) = 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...210

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,

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

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

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

Thank you!!!

45