Towards Load Balanced Distributed Transactional Memory
|
|
- Ashley Ball
- 6 years ago
- Views:
Transcription
1 Towards Load Balanced Distributed Transactional Memory Gokarna Sharma and Costas Busch Louisiana State University Euro-Par 12, August 31, 2012
2 Distributed Transactional Memory (DTM) Transactions run on network nodes They ask for shared objects distributed over the network for either read or write The reads and writes on shared objects are supported through three operations: Publish Lookup Move
3 Suppose the object ξ is at node and is a requesting node Requesting node Predecessor node ξ Data-flow model: transactions are immobile and the objects are mobile
4 Lookup operation Read-only copy ξ Main copy ξ Replicates the object to the requesting node
5 Lookup operation Read-only copy ξ Read-only copy ξ Main copy ξ Replicates the object to the requesting nodes
6 Move operation Main copy ξ Invalidated ξ Relocates the object explicitly to the requesting node
7 Move operation Main copy ξ Invalidated ξ Invalidated ξ - Relocates the object explicitly to the requesting node - Invalidates also the read-only copies (if available)
8 General routing: choose paths from sources to destinations u 2 u 1 v 3 v 2 u 3 v 1 Routing in DTM: source node of the predecessor request in the total order is the destination of a successor request
9 Edge congestion Node congestion C edge C node maximum number of paths that use any edge maximum number of paths that use any node
10 Stretch = Length of chosen path Length of shortest path stretch u shortest path v chosen path
11 Oblivious Routing Each request path choice is independent of other request path choices
12 Problem Statement Given a d-dimensional mesh and a finite set of operations R ={r 0,r 1,,r l } on an object ξ Design a DTM algorithm that: Minimizes congestion C = max e {i : p i e} on any edge e Minimizes total communication cost A(R) = σ i=1 for all the operations l pi
13 Related Work Protocol Stretch Network Kind Runs on Arrow [DISC 98] Relay [OPODIS 09] Combine [SSS 10] Ballistic [DISC 05] Spiral [IPDPS 12] O(S ST )=O(D) General Spanning tree O(S ST )=O(D) General Spanning tree O(S OT )=O(D) General Overlay tree O(log D) Constant-doubling dimension Hierarchical directory with independent sets O(log 2 n log D) General Hierarchical directory with sparse covers D is the diameter of the network kind S * is the stretch of the tree used
14 Limitations and Motivations These protocols only minimize stretch and they cannot control congestion Congestion can also be a major bottleneck may affect the overall performance of the algorithm A natural question is whether stretch and congestion can be controlled simultaneously Congestion and stretch can not be minimized simultaneously in arbitrary networks
15 Our Contributions MultiBend DTM algorithm for mesh networks For 2-dimensional mesh, MultiBend has both stretch and (edge) congestion O(log n) For d-dimensional mesh, MultiBend has stretch O(d log n) and (edge) congestion O(d 2 log n) For fixed d, stretch is within O(log log n) factor and congestion is within O(1) factor far from optimal
16 In the Remaining Model General Approach Analogy to a Distributed Queue Hierarchical decomposition for MultiBend MultiBend Analysis Stretch Congestion Discussion
17 Model Mesh network G = (V,E) of n reliable nodes 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
18 General Approach
19 Hierarchical clustering Network graph
20 Hierarchical clustering Alternative representation as a hierarchy tree with leader nodes
21 At the lowest level (level 0) every node is a cluster Directories at each level cluster, downward pointer if object locality known
22 A Publish operation root Owner node ξ ξ Assume that is the creator of which invokes the Publish operation Nodes know their parent in the hierarchy
23 Send request to the leader root
24 Continue up phase root Sets downward pointer while going up
25 Continue up phase root Sets downward pointer while going up
26 Root node found, stop up phase root
27 root Predecessor node ξ A successful Publish operation
28 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
29 Send request to leader node of the cluster upward in hierarchy root
30 Continue up phase until downward pointer found root Sets downward path while going up
31 Continue up phase root Sets downward path while going up
32 Continue up phase root Sets downward path while going up
33 Downward pointer found, start down phase root Discards path while going down
34 Continue down phase root Discards path while going down
35 Continue down phase root Discards path while going down
36 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
37 Distributed Queue Analogy
38 Distributed Queue root u head tail u
39 Distributed Queue root u v head tail v u
40 Distributed Queue root u v w head tail v u w
41 Distributed Queue root v w head tail v u w
42 Distributed Queue root w head tail v u w
43 Results on Mesh Networks
44 Type-1 Mesh Decomposition 2-dimensional mesh
45 Type-1 Mesh Decomposition
46 Type-1 Mesh Decomposition
47 Type-2 Mesh Decomposition
48 Type-2 Mesh Decomposition
49 Decomposition for 2 3 x2 3 2-dimensional mesh (i+1,2) (i+1,1) (i,2) (i,1) Hierarchy levels
50 MultiBend Hierarchy Find a predecessor node via multi-bend paths for each leaf node u by visiting leaders of all the clusters that contain u from level 0 to the root level root u p(u) v p(v)
51 MultiBend Hierarchy (2) The hierarchy guarantees: (1) For any two nodes u,v, their multi-bend paths p(u) and p(v) meet at level min{h, log(dist(u,v))+2} root (2) length(p i (u)) is at most 2 i+3 u p(u) v p(v)
52 (Canonical) downward Paths root root u p(u) v p(v) u p(u) p(v) is a (canonical) downward path
53 Load Balancing Through a leader election procedure Every time we access the leader of a sub-mesh, we replace it with another leader chosen uniformly at random among its nodes The directory is updated appropriately by updating parent and child leaders Locking may needed in concurrent executions The update cost is low in comparison to the cost of serving requests This step is necessary to control congestion With fixed leader, edge congestion can be O(l), the number of requests If congestion requirement can be relaxed by a factor of ρ, the leader change is needed after every ρ requests
54 Analysis of MultiBend
55 Analysis on (move) Stretch Assume a sequential execution R of l+1 Move requests, where r 0 is an initial Publish request. A*(R) max 1 k h (S k -1) 2 k-1 A(R) σ h k=1 (Sk 1) 2 k+3 h... k Level r 0... r 0... r 0 r 0 r 0 r 1.. r 1 r 1 r 1 r 2 r 2 r 2.. r 2 r 2 r 2... r l-1 r l-1 r l-1 r 2.. r l... r l r l r l Thus, x u v y w request C(R)/C*(R) = σ h k=1 (Sk 1) 2 k+3 / max 1 k h (S k -1) 2 k-1 = 16 h max 1 k h (S k -1) 2 k-1 / max 1 k h (S k -1) 2 k-1 = O(log n)
56 Analysis on (Edge) Congestion A sub-path uses edge e with probability 2/m l P : set of paths from M 1 to M 2 or vice-versa C (e): Congestion caused by P on e M 2 E[C (e)] 2 P /m l B P /out(m 1 ) e M 1 out(m 1 ) 4m l C* B ==> E[C (e)] 8C* m l Assume M 1 is a type-1 submesh
57 Analysis on (Edge) Congestion (2) As M 1 at level (i,2) is always completely contained in M 2 at level (i+1,2) log n +2 levels E[C(e)] 8C*(log n + 2) Considering type-2 submeshes exactly one type-2 submesh between every two type-1 submeshes the type-2 submeshes may not be proper subset of type-1 submeshes 4 possible type-2 submesh choices (path may bend at most 2 times) Increases the load by a factor of 4 Thus, using standard Chernoff bound, C = O(C* log n), w.h.p.
58 d-dimensional Mesh
59 Extensions to d-dimensional mesh 2-dimesional decomposition can be directly generalized to a d-dimensional mesh Problem: the congestion become O(2 d log n) Another decomposition is used to control congestion in O(C* d 2 log n) and stretch O(d log n) We set appropriate λ and shift the type-1 submeshes by (j-1)λ nodes in each dimension to get type-j submeshes
60 Extensions to d-dimensional mesh (2) 3-dimensional mesh decomposition. Only 2 of the 3 dimensions are shown O(d)-types of submeshes on each level O(d) sub-levels in every level with type-1 submesh first and type-o(d) submesh last in the order
61 Summary First load balanced distributed directory protocol with both stretch and congestion O(log n) in 2-dimensional mesh In d-dimensional mesh, stretch O(d log n) and (edge) congestion O(d 2 log n) MultiBend is starvation-free and provides linearizability. Future work: extend the results to dynamic networks make it fault-tolerant
62 Thank you for your attention!
Distributed Transactional Memory for General Networks
Distributed Transactional Memory for General Networks Gokarna Sharma Costas Busch Srivathsan Srinivasagopalan Louisiana State University May 24, 2012 Distributed Transactional Memory Transactions run on
More informationTowards Load Balanced Distributed Transactional Memory
Towards Load Balanced Distributed Transactional Memory Gokarna Sharma and Costas Busch Department of Computer Science, Louisiana State University Baton Rouge, LA 70803, USA {gokarna,busch}@csc.lsu.edu
More informationOptimal Oblivious Path Selection on the Mesh
Optimal Oblivious Path Selection on the Mesh Costas Busch, Member, IEEE, Malik Magdon-Ismail, Member, IEEE, Jing Xi 1 Abstract In the oblivious path selection problem, each packet in the network independently
More informationAbstract of The Ballistic Protocol: Location-aware Distributed Cache Coherence in Metric-Space Networks by Ye Sun, Ph.D., Brown University, May 2006.
Abstract of The Ballistic Protocol: Location-aware Distributed Cache Coherence in Metric-Space Networks by Ye Sun, Ph.D., Brown University, May 2006. Distributed transactional memory (DTM), in contrast
More informationOblivious Routing on Geometric Networks
Oblivious Routing on Geometric Networks Costas Busch, Malik Magdon-Ismail and Jing Xi {buschc,magdon,xij2}@cs.rpi.edu July 20, 2005. Outline Oblivious Routing: Background and Our Contribution The Algorithm:
More informationSelf-Stabilizing Distributed Queuing
Self-Stabilizing Distributed Queuing Srikanta Tirthapura Dept. of Electrical and Computer Engg. Iowa State University Ames, IA, USA, 50011 snt@iastate.edu Maurice Herlihy Computer Science Department Brown
More information9 Distributed Data Management II Caching
9 Distributed Data Management II Caching In this section we will study the approach of using caching for the management of data in distributed systems. Caching always tries to keep data at the place where
More informationWelcome to the course Algorithm Design
Welcome to the course Algorithm Design Summer Term 2011 Friedhelm Meyer auf der Heide Lecture 13, 15.7.2011 Friedhelm Meyer auf der Heide 1 Topics - Divide & conquer - Dynamic programming - Greedy Algorithms
More informationDistributed Coloring in. Kishore Kothapalli Department of Computer Science Johns Hopkins University Baltimore, MD USA
Distributed Coloring in Bit Rounds Kishore Kothapalli Department of Computer Science Johns Hopkins University Baltimore, MD USA Vertex Coloring Proper coloring Not a Proper coloring 1 Coloring a Cycle
More informationData Management in Networks: Experimental Evaluation of a Provably Good Strategy
Data Management in Networks: Experimental Evaluation of a Provably Good Strategy Christof Krick Friedhelm Meyer auf der Heide Harald Räcke Berthold Vöcking Matthias Westermann Abstract This paper deals
More informationDistributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch
Distributed Algorithms 6.046J, Spring, 2015 Part 2 Nancy Lynch 1 This Week Synchronous distributed algorithms: Leader Election Maximal Independent Set Breadth-First Spanning Trees Shortest Paths Trees
More informationA Comparison of Two Fully-Dynamic Delaunay Triangulation Methods
A Comparison of Two Fully-Dynamic Delaunay Triangulation Methods Michael D Adams Department of Electrical and Computer Engineering University of Victoria Victoria, BC, V8W 3P6, Canada Web: http://wwweceuvicca/
More information7 Distributed Data Management II Caching
7 Distributed Data Management II Caching In this section we will study the approach of using caching for the management of data in distributed systems. Caching always tries to keep data at the place where
More informationEfficient Bufferless Packet Switching on Trees and Leveled Networks
Efficient Bufferless Packet Switching on Trees and Leveled Networks Costas Busch Malik Magdon-Ismail Marios Mavronicolas Abstract In bufferless networks the packets cannot be buffered while they are in
More informationCache Coherency and Interconnection Networks
Cache Coherency and Interconnection Networks Cluster and Grid Computing Autumn Semester (2006-2007) 7 th August 2006 Umang Jain Kumar Puspesh Pankaj Jajoo Amar Kumar Dani 03CS3004 03CS3025 03CS3024 03CS304
More informationAbstract Data Structures IB Computer Science. Content developed by Dartford Grammar School Computer Science Department
Abstract Data Structures IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4: Computational
More informationFerianakademie 2010 Course 2: Distance Problems: Theory and Praxis. Distance Labelings. Stepahn M. Günther. September 23, 2010
Ferianakademie 00 Course : Distance Problems: Theory and Praxis Distance Labelings Stepahn M. Günther September, 00 Abstract Distance labels allow to infer the shortest distance between any two vertices
More informationLecture 9: (Semi-)bandits and experts with linear costs (part I)
CMSC 858G: Bandits, Experts and Games 11/03/16 Lecture 9: (Semi-)bandits and experts with linear costs (part I) Instructor: Alex Slivkins Scribed by: Amr Sharaf In this lecture, we will study bandit problems
More informationADHOC SYSTEMSS ABSTRACT. the system. The diagnosis strategy. is an initiator of. can in the hierarchy. paper include. this. than.
Journal of Theoretical and Applied Information Technology 2005-2007 JATIT. All rights reserved. www.jatit.org A HIERARCHICAL APPROACH TO FAULT DIAGNOSIS IN LARGE S CALE SELF-DIAGNOSABLE WIRELESS ADHOC
More informationGIAN Course on Distributed Network Algorithms. Distributed Objects
GIAN Course on Distributed Network Algorithms Distributed Objects Stefan Schmid @ T-Labs, 2011 GIAN Course on Distributed Network Algorithms Distributed Objects How to access and manipulate data in an
More informationMaterial You Need to Know
Review Quiz 2 Material You Need to Know Normalization Storage and Disk File Layout Indexing B-trees and B+ Trees Extensible Hashing Linear Hashing Decomposition Goals: Lossless Joins, Dependency preservation
More informationDirect Addressing Hash table: Collision resolution how handle collisions Hash Functions:
Direct Addressing - key is index into array => O(1) lookup Hash table: -hash function maps key to index in table -if universe of keys > # table entries then hash functions collision are guaranteed => need
More informationNetwork-on-chip (NOC) Topologies
Network-on-chip (NOC) Topologies 1 Network Topology Static arrangement of channels and nodes in an interconnection network The roads over which packets travel Topology chosen based on cost and performance
More informationF. THOMSON LEIGHTON INTRODUCTION TO PARALLEL ALGORITHMS AND ARCHITECTURES: ARRAYS TREES HYPERCUBES
F. THOMSON LEIGHTON INTRODUCTION TO PARALLEL ALGORITHMS AND ARCHITECTURES: ARRAYS TREES HYPERCUBES MORGAN KAUFMANN PUBLISHERS SAN MATEO, CALIFORNIA Contents Preface Organization of the Material Teaching
More informationCARNEGIE MELLON UNIVERSITY DEPT. OF COMPUTER SCIENCE DATABASE APPLICATIONS
CARNEGIE MELLON UNIVERSITY DEPT. OF COMPUTER SCIENCE 15-415 DATABASE APPLICATIONS C. Faloutsos Indexing and Hashing 15-415 Database Applications http://www.cs.cmu.edu/~christos/courses/dbms.s00/ general
More informationFast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems
Fast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems Håkan Sundell Philippas Tsigas Outline Synchronization Methods Priority Queues Concurrent Priority Queues Lock-Free Algorithm: Problems
More informationLecture 5 Using Data Structures to Improve Dijkstra s Algorithm. (AM&O Sections and Appendix A)
Lecture Using Data Structures to Improve Dijkstra s Algorithm (AM&O Sections 4.6 4.8 and Appendix A) Manipulating the Data in Dijkstra s Algorithm The bottleneck operation in Dijkstra s Algorithm is that
More informationOperating Systems Comprehensive Exam. Spring Student ID # 3/16/2006
Operating Systems Comprehensive Exam Spring 2006 Student ID # 3/16/2006 You must complete all of part I (60%) You must complete two of the three sections in part II (20% each) In Part I, circle or select
More informationBottleneck Routing Games on Grids. Costas Busch Rajgopal Kannan Alfred Samman Department of Computer Science Louisiana State University
Bottleneck Routing Games on Grids ostas Busch Rajgopal Kannan Alfred Samman Department of omputer Science Louisiana State University 1 Talk Outline Introduction Basic Game hannel Game xtensions 2 2-d Grid:
More informationDistributed Algorithms 6.046J, Spring, Nancy Lynch
Distributed Algorithms 6.046J, Spring, 205 Nancy Lynch What are Distributed Algorithms? Algorithms that run on networked processors, or on multiprocessors that share memory. They solve many kinds of problems:
More informationCS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University
CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):
More informationCSE 613: Parallel Programming. Lecture 11 ( Graph Algorithms: Connected Components )
CSE 61: Parallel Programming Lecture ( Graph Algorithms: Connected Components ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 01 Graph Connectivity 1 1 1 6 5 Connected Components:
More informationGIAN Course on Distributed Network Algorithms. Spanning Tree Constructions
GIAN Course on Distributed Network Algorithms Spanning Tree Constructions Stefan Schmid @ T-Labs, 2011 Spanning Trees Attactive infrastructure : sparse subgraph ( loop-free backbone ) connecting all nodes.
More informationOperations on Heap Tree The major operations required to be performed on a heap tree are Insertion, Deletion, and Merging.
Priority Queue, Heap and Heap Sort In this time, we will study Priority queue, heap and heap sort. Heap is a data structure, which permits one to insert elements into a set and also to find the largest
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationLecture 32. No computer use today. Reminders: Homework 11 is due today. Project 6 is due next Friday. Questions?
Lecture 32 No computer use today. Reminders: Homework 11 is due today. Project 6 is due next Friday. Questions? Friday, April 1 CS 215 Fundamentals of Programming II - Lecture 32 1 Outline Introduction
More informationScheduling Transactions in Replicated Distributed Transactional Memory
Scheduling Transactions in Replicated Distributed Transactional Memory Junwhan Kim and Binoy Ravindran Virginia Tech USA {junwhan,binoy}@vt.edu CCGrid 2013 Concurrency control on chip multiprocessors significantly
More informationDistributed Systems. Basic Algorithms. Rik Sarkar. University of Edinburgh 2015/2016
Distributed Systems Basic Algorithms Rik Sarkar University of Edinburgh 2015/2016 Distributed ComputaEon Ref: NL How to send messages to all nodes efficiently How to compute sums of values at all nodes
More information4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING
4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING 4.1.2 ALGORITHMS ALGORITHM An Algorithm is a procedure or formula for solving a problem. It is a step-by-step set of operations to be performed. It is almost
More informationOrganizing Spatial Data
Organizing Spatial Data Spatial data records include a sense of location as an attribute. Typically location is represented by coordinate data (in 2D or 3D). 1 If we are to search spatial data using the
More informationCSE 241 Class 17. Jeremy Buhler. October 28, Ordered collections supported both, plus total ordering operations (pred and succ)
CSE 241 Class 17 Jeremy Buhler October 28, 2015 And now for something completely different! 1 A New Abstract Data Type So far, we ve described ordered and unordered collections. Unordered collections didn
More informationDistributed Systems. Basic Algorithms. Rik Sarkar. University of Edinburgh 2016/2017
Distributed Systems Basic Algorithms Rik Sarkar University of Edinburgh 2016/2017 Distributed ComputaEon Ref: NL How to send messages to all nodes efficiently How to compute sums of values at all nodes
More informationChapter 17 Indexing Structures for Files and Physical Database Design
Chapter 17 Indexing Structures for Files and Physical Database Design We assume that a file already exists with some primary organization unordered, ordered or hash. The index provides alternate ways to
More informationSE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.
SE Assignment III 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. There are essentially 5 different types of symbols used
More informationThe Round Complexity of Distributed Sorting
The Round Complexity of Distributed Sorting by Boaz Patt-Shamir Marat Teplitsky Tel Aviv University 1 Motivation Distributed sorting Infrastructure is more and more distributed Cloud Smartphones 2 CONGEST
More informationGraph Theory. ICT Theory Excerpt from various sources by Robert Pergl
Graph Theory ICT Theory Excerpt from various sources by Robert Pergl What can graphs model? Cost of wiring electronic components together. Shortest route between two cities. Finding the shortest distance
More informationChapter 6 Heapsort 1
Chapter 6 Heapsort 1 Introduce Heap About this lecture Shape Property and Heap Property Heap Operations Heapsort: Use Heap to Sort Fixing heap property for all nodes Use Array to represent Heap Introduce
More informationArvind Krishnamurthy Fall 2003
Overlay Networks Arvind Krishnamurthy Fall 003 Internet Routing Internet routing is inefficient: Does not always pick the lowest latency paths Does not always pick paths with low drop rates Experimental
More information1 The comparison of QC, SC and LIN
Com S 611 Spring Semester 2009 Algorithms for Multiprocessor Synchronization Lecture 5: Tuesday, 3rd February 2009 Instructor: Soma Chaudhuri Scribe: Jianrong Dong 1 The comparison of QC, SC and LIN Pi
More informationInterconnection topologies (cont.) [ ] In meshes and hypercubes, the average distance increases with the dth root of N.
Interconnection topologies (cont.) [ 10.4.4] In meshes and hypercubes, the average distance increases with the dth root of N. In a tree, the average distance grows only logarithmically. A simple tree structure,
More informationLecture 9: Group Communication Operations. Shantanu Dutt ECE Dept. UIC
Lecture 9: Group Communication Operations Shantanu Dutt ECE Dept. UIC Acknowledgement Adapted from Chapter 4 slides of the text, by A. Grama w/ a few changes, augmentations and corrections Topic Overview
More informationBigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao
Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI 2006 Presented by Xiang Gao 2014-11-05 Outline Motivation Data Model APIs Building Blocks Implementation Refinement
More informationComputational Optimization ISE 407. Lecture 16. Dr. Ted Ralphs
Computational Optimization ISE 407 Lecture 16 Dr. Ted Ralphs ISE 407 Lecture 16 1 References for Today s Lecture Required reading Sections 6.5-6.7 References CLRS Chapter 22 R. Sedgewick, Algorithms in
More informationPatterns for! Parallel Programming II!
Lecture 4! Patterns for! Parallel Programming II! John Cavazos! Dept of Computer & Information Sciences! University of Delaware! www.cis.udel.edu/~cavazos/cisc879! Task Decomposition Also known as functional
More informationLecture 4: Principles of Parallel Algorithm Design (part 4)
Lecture 4: Principles of Parallel Algorithm Design (part 4) 1 Mapping Technique for Load Balancing Minimize execution time Reduce overheads of execution Sources of overheads: Inter-process interaction
More informationDistributed Meta-data Servers: Architecture and Design. Sarah Sharafkandi David H.C. Du DISC
Distributed Meta-data Servers: Architecture and Design Sarah Sharafkandi David H.C. Du DISC 5/22/07 1 Outline Meta-Data Server (MDS) functions Why a distributed and global Architecture? Problem description
More informationData Structures and Algorithms (DSA) Course 9 Lists / Graphs / Trees. Iulian Năstac
Data Structures and Algorithms (DSA) Course 9 Lists / Graphs / Trees Iulian Năstac Recapitulation It is considered the following type: typedef struct nod { ; struct nod *next; } NOD; 2 Circular
More informationDirect Routing: Algorithms and Complexity
Direct Routing: Algorithms and Complexity Costas Busch Malik Magdon-Ismail Marios Mavronicolas Paul Spirakis December 13, 2004 Abstract Direct routing is the special case of bufferless routing where N
More informationTHE EULER TOUR TECHNIQUE: EVALUATION OF TREE FUNCTIONS
PARALLEL AND DISTRIBUTED ALGORITHMS BY DEBDEEP MUKHOPADHYAY AND ABHISHEK SOMANI http://cse.iitkgp.ac.in/~debdeep/courses_iitkgp/palgo/index.htm THE EULER TOUR TECHNIQUE: EVALUATION OF TREE FUNCTIONS 2
More informationl Heaps very popular abstract data structure, where each object has a key value (the priority), and the operations are:
DDS-Heaps 1 Heaps - basics l Heaps very popular abstract data structure, where each object has a key value (the priority), and the operations are: l insert an object, find the object of minimum key (find
More informationBigTable: A Distributed Storage System for Structured Data (2006) Slides adapted by Tyler Davis
BigTable: A Distributed Storage System for Structured Data (2006) Slides adapted by Tyler Davis Motivation Lots of (semi-)structured data at Google URLs: Contents, crawl metadata, links, anchors, pagerank,
More informationOperating Systems. Week 9 Recitation: Exam 2 Preview Review of Exam 2, Spring Paul Krzyzanowski. Rutgers University.
Operating Systems Week 9 Recitation: Exam 2 Preview Review of Exam 2, Spring 2014 Paul Krzyzanowski Rutgers University Spring 2015 March 27, 2015 2015 Paul Krzyzanowski 1 Exam 2 2012 Question 2a One of
More informationGIAN Course on Distributed Network Algorithms. Spanning Tree Constructions
GIAN Course on Distributed Network Algorithms Spanning Tree Constructions Stefan Schmid @ T-Labs, 2011 Spanning Trees Attactive infrastructure : sparse subgraph ( loop-free backbone ) connecting all nodes.
More informationDisk Scheduling COMPSCI 386
Disk Scheduling COMPSCI 386 Topics Disk Structure (9.1 9.2) Disk Scheduling (9.4) Allocation Methods (11.4) Free Space Management (11.5) Hard Disk Platter diameter ranges from 1.8 to 3.5 inches. Both sides
More informationFlat Parallelization. V. Aksenov, ITMO University P. Kuznetsov, ParisTech. July 4, / 53
Flat Parallelization V. Aksenov, ITMO University P. Kuznetsov, ParisTech July 4, 2017 1 / 53 Outline Flat-combining PRAM and Flat parallelization PRAM binary heap with Flat parallelization ExtractMin Insert
More informationMinimum Spanning Trees
Minimum Spanning Trees 1 Minimum- Spanning Trees 1. Concrete example: computer connection. Definition of a Minimum- Spanning Tree Concrete example Imagine: You wish to connect all the computers in an office
More information8 Supervised Overlay Networks
8 Supervised Overlay Networks Every application run on multiple machines needs a mechanism that allows the machines to exchange information. An easy way of solving this problem is that every machine knows
More informationAlgorithm 23 works. Instead of a spanning tree, one can use routing.
Chapter 5 Shared Objects 5.1 Introduction Assume that there is a common resource (e.g. a common variable or data structure), which different nodes in a network need to access from time to time. If the
More informationDynamic Access Binary Search Trees
Dynamic Access Binary Search Trees 1 * are self-adjusting binary search trees in which the shape of the tree is changed based upon the accesses performed upon the elements. When an element of a splay tree
More informationSelf Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali
Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,
More informationB-Trees. Version of October 2, B-Trees Version of October 2, / 22
B-Trees Version of October 2, 2014 B-Trees Version of October 2, 2014 1 / 22 Motivation An AVL tree can be an excellent data structure for implementing dictionary search, insertion and deletion Each operation
More informationl So unlike the search trees, there are neither arbitrary find operations nor arbitrary delete operations possible.
DDS-Heaps 1 Heaps - basics l Heaps an abstract structure where each object has a key value (the priority), and the operations are: insert an object, find the object of minimum key (find min), and delete
More informationAbstract Relaxed balancing has become a commonly used concept in the design of concurrent search tree algorithms. The idea of relaxed balancing is to
The Performance of Concurrent Red-Black Tree Algorithms Institut fur Informatik Report 5 Sabine Hanke Institut fur Informatik, Universitat Freiburg Am Flughafen 7, 79 Freiburg, Germany Email: hanke@informatik.uni-freiburg.de
More informationCSCI2100B Data Structures Trees
CSCI2100B Data Structures Trees Irwin King king@cse.cuhk.edu.hk http://www.cse.cuhk.edu.hk/~king Department of Computer Science & Engineering The Chinese University of Hong Kong Introduction General Tree
More information1 Digraphs. Definition 1
1 Digraphs Definition 1 Adigraphordirected graphgisatriplecomprisedofavertex set V(G), edge set E(G), and a function assigning each edge an ordered pair of vertices (tail, head); these vertices together
More informationParallel Graph Algorithms
Parallel Graph Algorithms Design and Analysis of Parallel Algorithms 5DV050/VT3 Part I Introduction Overview Graphs definitions & representations Minimal Spanning Tree (MST) Prim s algorithm Single Source
More informationOn Application of Structural Decomposition for Process Model Abstraction. Artem Polyvyanyy Sergey Smirnov Mathias Weske
On Application of Structural Decomposition for Process Model Abstraction Artem Polyvyanyy Sergey Smirnov Mathias Weske BPSC 2009 24 March 2009 Motivation 2 Research project with AOK Brandenburg Goal: detailed
More informationTHE EULER TOUR TECHNIQUE: EVALUATION OF TREE FUNCTIONS
PARALLEL AND DISTRIBUTED ALGORITHMS BY DEBDEEP MUKHOPADHYAY AND ABHISHEK SOMANI http://cse.iitkgp.ac.in/~debdeep/courses_iitkgp/palgo/index.htm THE EULER TOUR TECHNIQUE: EVALUATION OF TREE FUNCTIONS 2
More informationCSE 530A. B+ Trees. Washington University Fall 2013
CSE 530A B+ Trees Washington University Fall 2013 B Trees A B tree is an ordered (non-binary) tree where the internal nodes can have a varying number of child nodes (within some range) B Trees When a key
More informationApproximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees
THE IBY AND ALADAR FLEISCHMAN FACULTY OF ENGINEERING Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees A thesis submitted toward the degree of Master of Science
More informationA New Approach to the Dynamic Maintenance of Maximal Points in a Plane*
Discrete Comput Geom 5:365-374 (1990) 1990 Springer-Verlag New York~Inc.~ A New Approach to the Dynamic Maintenance of Maximal Points in a Plane* Greg N. Frederickson and Susan Rodger Department of Computer
More informationCOMP Parallel Computing. PRAM (3) PRAM algorithm design techniques
COMP 633 - Parallel Computing Lecture 4 August 30, 2018 PRAM algorithm design techniques Reading for next class PRAM handout section 5 1 Topics Parallel connected components algorithm representation of
More informationSorting and Searching
Sorting and Searching Lecture 2: Priority Queues, Heaps, and Heapsort Lecture 2: Priority Queues, Heaps, and Heapsort Sorting and Searching 1 / 24 Priority Queue: Motivating Example 3 jobs have been submitted
More informationB + -Trees. Fundamentals of Database Systems Elmasri/Navathe Chapter 6 (6.3) Database System Concepts Silberschatz/Korth/Sudarshan Chapter 11 (11.
B + -Trees Fundamentals of Database Systems Elmasri/Navathe Chapter 6 (6.3) Database System Concepts Silberschatz/Korth/Sudarshan Chapter 11 (11.3) The Art of Computer Programming Sorting and Searching,
More informationDirect Routing: Algorithms and Complexity
Direct Routing: Algorithms and Complexity Costas Busch, RPI Malik Magdon-Ismail, RPI Marios Mavronicolas, Univ. Cyprus Paul Spirakis, Univ. Patras 1 Outline 1. Direct Routing. 2. Direct Routing is Hard.
More informationFriday Four Square! 4:15PM, Outside Gates
Binary Search Trees Friday Four Square! 4:15PM, Outside Gates Implementing Set On Monday and Wednesday, we saw how to implement the Map and Lexicon, respectively. Let's now turn our attention to the Set.
More informationMulti-way Search Trees
Multi-way Search Trees Kuan-Yu Chen ( 陳冠宇 ) 2018/10/24 @ TR-212, NTUST Review Red-Black Trees Splay Trees Huffman Trees 2 Multi-way Search Trees. Every node in a binary search tree contains one value and
More informationGraph Algorithms. Many problems in networks can be modeled as graph problems.
Graph Algorithms Many problems in networks can be modeled as graph problems. - The topology of a distributed system is a graph. - Routing table computation uses the shortest path algorithm - Efficient
More informationFiles. File Structure. File Systems. Structure Terms. File Management System. Chapter 12 File Management 12/6/2018
Operating Systems: Internals and Design Principles Chapter 2 Management Ninth Edition By William Stallings s collections created by users The System is one of the most important parts of the OS to a user
More informationDistributed Systems Final Exam
15-440 Distributed Systems Final Exam Name: Andrew: ID December 12, 2011 Please write your name and Andrew ID above before starting this exam. This exam has 14 pages, including this title page. Please
More informationquiz heapsort intuition overview Is an algorithm with a worst-case time complexity in O(n) data structures and algorithms lecture 3
quiz data structures and algorithms 2018 09 10 lecture 3 Is an algorithm with a worst-case time complexity in O(n) always faster than an algorithm with a worst-case time complexity in O(n 2 )? intuition
More informationChapter 8: Data Abstractions
Chapter 8: Data Abstractions Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Presentation files modified by Farn Wang Copyright 28 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
More informationΛέων-Χαράλαμπος Σταματάρης
Λέων-Χαράλαμπος Σταματάρης INTRODUCTION Two classical problems of information dissemination in computer networks: The broadcasting problem: Distributing a particular message from a distinguished source
More informationL3S Research Center, University of Hannover
, University of Hannover Dynamics of Wolf-Tilo Balke and Wolf Siberski 21.11.2007 *Original slides provided by S. Rieche, H. Niedermayer, S. Götz, K. Wehrle (University of Tübingen) and A. Datta, K. Aberer
More information8. Write an example for expression tree. [A/M 10] (A+B)*((C-D)/(E^F))
DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING EC6301 OBJECT ORIENTED PROGRAMMING AND DATA STRUCTURES UNIT IV NONLINEAR DATA STRUCTURES Part A 1. Define Tree [N/D 08]
More informationParallel Systems Prof. James L. Frankel Harvard University. Version of 6:50 PM 4-Dec-2018 Copyright 2018, 2017 James L. Frankel. All rights reserved.
Parallel Systems Prof. James L. Frankel Harvard University Version of 6:50 PM 4-Dec-2018 Copyright 2018, 2017 James L. Frankel. All rights reserved. Architectures SISD (Single Instruction, Single Data)
More information8. Binary Search Tree
8 Binary Search Tree Searching Basic Search Sequential Search : Unordered Lists Binary Search : Ordered Lists Tree Search Binary Search Tree Balanced Search Trees (Skipped) Sequential Search int Seq-Search
More informationSorting and Searching
Sorting and Searching Lecture 2: Priority Queues, Heaps, and Heapsort Lecture 2: Priority Queues, Heaps, and Heapsort Sorting and Searching 1 / 24 Priority Queue: Motivating Example 3 jobs have been submitted
More information08 Distributed Hash Tables
08 Distributed Hash Tables 2/59 Chord Lookup Algorithm Properties Interface: lookup(key) IP address Efficient: O(log N) messages per lookup N is the total number of servers Scalable: O(log N) state per
More informationCpt S 122 Data Structures. Data Structures Trees
Cpt S 122 Data Structures Data Structures Trees Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Motivation Trees are one of the most important and extensively
More information