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

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

1 Lecture 6: Directory Protocols Topics: directory-based cache coherence implementations (wrap-up of SGI Origin and Sequent NUMA case study)
Lecture 8: Asynchronous Network Algorithms
Chapter 15 Basic Asynchronous Network Algorithms
Binary Trees CSC 220. Your Observations (so far data structures) Array –Unordered Add, delete, search –Ordered Linked List –??
Comp 122, Spring 2004 Binary Search Trees. btrees - 2 Comp 122, Spring 2004 Binary Trees  Recursive definition 1.An empty tree is a binary tree 2.A node.
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
TREES Chapter 6. Trees - Introduction  All previous data organizations we've studied are linear—each element can have only one predecessor and successor.
1 K-clustering in Wireless Ad Hoc Networks Fernandess and Malkhi Hebrew University of Jerusalem Presented by: Ashish Deopura.
1 Complexity of Network Synchronization Raeda Naamnieh.
Scalable Application Layer Multicast Suman Banerjee Bobby Bhattacharjee Christopher Kommareddy ACM SIGCOMM Computer Communication Review, Proceedings of.
A Scalable and Load-Balanced Lookup Protocol for High Performance Peer-to-Peer Distributed System Jerry Chou and Tai-Yi Huang Embedded & Operating System.
Distributed Transactional Memory Presented by Gala Yadgar.
Online Data Gathering for Maximizing Network Lifetime in Sensor Networks IEEE transactions on Mobile Computing Weifa Liang, YuZhen Liu.
1 Scalable Transactional Memory Scheduling Gokarna Sharma (A joint work with Costas Busch) Louisiana State University.
The Euler-tour technique
Strategies for Implementing Dynamic Load Sharing.
P2P Course, Structured systems 1 Skip Net (9/11/05)
Distributed process management: Distributed deadlock
1 Lecture 20: Protocols and Synchronization Topics: distributed shared-memory multiprocessors, synchronization (Sections )
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
Binary Trees Chapter 6.
Data Structures Arrays both single and multiple dimensions Stacks Queues Trees Linked Lists.
CHAPTER 71 TREE. Binary Tree A binary tree T is a finite set of one or more nodes such that: (a) T is empty or (b) There is a specially designated node.
Improved Sparse Covers for Graphs Excluding a Fixed Minor Ryan LaFortune (RPI), Costas Busch (LSU), and Srikanta Tirthapura (ISU)
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Chapter 19 Implementing Trees and Priority Queues Fundamentals of Java.
Franck Petit INRIA, LIP Lab. Univ. / ENS of Lyon France Optimal Probabilistic Ring Exploration by Semi-Synchronous Oblivious Robots Joint work with Stéphane.
DATA STRUCTURE & ALGORITHMS (BCS 1223) CHAPTER 8 : SEARCHING.
Chapter 6 Binary Trees. 6.1 Trees, Binary Trees, and Binary Search Trees Linked lists usually are more flexible than arrays, but it is difficult to use.
Computer Algorithms Submitted by: Rishi Jethwa Suvarna Angal.
The Complexity of Distributed Algorithms. Common measures Space complexity How much space is needed per process to run an algorithm? (measured in terms.
Efficient Labeling Scheme for Scale-Free Networks The scheme in detailsPerformance of the scheme First we fix the number of hubs (to O(log(N))) and show.
Data Structures TREES.
1 Leader Election in Rings. 2 A Ring Network Sense of direction left right.
Chapter 2: Basic Data Structures. Spring 2003CS 3152 Basic Data Structures Stacks Queues Vectors, Linked Lists Trees (Including Balanced Trees) Priority.
1. Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches.
Review 1 Queue Operations on Queues A Dequeue Operation An Enqueue Operation Array Implementation Link list Implementation Examples.
Introduction to Graphs And Breadth First Search. Graphs: what are they? Representations of pairwise relationships Collections of objects under some specified.
1 Lecture 19: Scalable Protocols & Synch Topics: coherence protocols for distributed shared-memory multiprocessors and synchronization (Sections )
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
HYPERCUBE ALGORITHMS-1
BINARY TREES Objectives Define trees as data structures Define the terms associated with trees Discuss tree traversal algorithms Discuss a binary.
Fault Tolerance (2). Topics r Reliable Group Communication.
1 CEG 2400 Fall 2012 eDirectory – Directory Service.
Trees CSIT 402 Data Structures II 1. 2 Why Do We Need Trees? Lists, Stacks, and Queues are linear relationships Information often contains hierarchical.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
CSC317 1 Binary Search Trees (binary because branches either to left or to right) Operations: search min max predecessor successor. Costs? Time O(h) with.
Lecture 3: Uninformed Search
CSE 373 Data Structures Lecture 7
Data Structures and Design in Java © Rick Mercer
(How the routers’ tables are filled in)
Lecture 18: Coherence and Synchronization
i206: Lecture 13: Recursion, continued Trees
Red-Black Trees Motivations
Map interface Empty() - return true if the map is empty; else return false Size() - return the number of elements in the map Find(key) - if there is an.
Arrays and Linked Lists
Tree Representation Heap.
Abstraction.
Lecture 25: Multiprocessors
Union-Find Partition Structures
Transactions in Distributed Systems
Lecture 24: Multiprocessors
Brad Karp UCL Computer Science
Lecture 19: Coherence and Synchronization
Switching Lemmas and Proof Complexity
Lecture 18: Coherence and Synchronization
Lecture 10: Directory-Based Examples II
CS210- Lecture 13 June 28, 2005 Agenda Heaps Complete Binary Tree
Presentation transcript:

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

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 Read-only copy Main copy Lookup operation ξ ξ Replicates the object to the requesting node

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

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

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

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

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

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 Spiral directory protocol for general networks with O(log 2 n. log D) stretch avoiding race conditions

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

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

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

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

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 root Send request to the leader

19 root Continue up phase Sets downward pointer while going up

20 root Continue up phase Sets downward pointer while going up

21 root Root node found, stop up phase

22 root A successful Publish operation Predecessor node ξ

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 Send request to leader node of the cluster upward in hierarchy root

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

26 Continue up phase root Sets downward path while going up

27 Continue up phase root Sets downward path while going up

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

29 Continue down phase root Discards path while going down

30 Continue down phase root Discards path while going down

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 Distributed Queue root u u tail head

33 Distributed Queue root u u tail head v v

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

35 root u v w Distributed Queue tail head v w

36 root u v w Distributed Queue tail head w

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

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

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

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

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

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,

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

Thank you!!! 45