Michel Raynal. Distributed Algorithms for Message-Passing Systems
|
|
- Fay Reynolds
- 5 years ago
- Views:
Transcription
1 Michel Raynal Distributed Algorithms for Message-Passing Systems
2 Contents Part I Distributed Graph Algorithms 1 Basic Definitions and Network Traversal Algorithms DistributedAlgorithms Definition An Introductory Example: LearningtheCommunicationGraph Parallel Traversal: Broadcast and Convergecast Broadcast and Convergecast A Flooding Algorithm Broadcast/Convergecast Based on a Rooted Spanning Tree Building a Spanning Tree Breadth-First Spanning Tree Breadth-First Spanning Tree Built Without Centralized Control Breadth-First Spanning Tree Built with Centralized Control Depth-FirstTraversal ASimpleAlgorithm Application:ConstructionofaLogicalRing Summary Bibliographic Notes ExercisesandProblems Distributed Graph Algorithms Distributed Shortest Path Algorithms A Distributed Adaptation of Bellman Ford s Shortest Path Algorithm A Distributed Adaptation of Floyd Warshall s Shortest Paths Algorithm Vertex Coloring and Maximal Independent Set On Sequential Vertex Coloring ix
3 x Contents Distributed ( + 1)-ColoringofProcesses Computing a Maximal Independent Set KnotandCycleDetection Directed Graph, Knot, and Cycle Communication Graph, Logical Directed Graph, and Reachability Specification of the Knot Detection Problem PrincipleoftheKnot/CycleDetectionAlgorithm Local Variables Behavior of a Process Summary Bibliographic Notes ExercisesandProblems An Algorithmic Framework to Compute Global Functions on a Process Graph Distributed Computation of Global Functions Type of Global Functions ConstraintsontheComputation AnAlgorithmicFramework A Round-Based Framework WhentheDiameterIsNotKnown DistributedDeterminationofCutVertices CutVertices AnAlgorithmDeterminingCutVertices ImprovingtheFramework Two Types of Filtering AnImprovedAlgorithm The Case of Regular Communication Graphs Tradeoff Between Graph Topology and Number of Rounds De Bruijn Graphs Summary Bibliographic Notes Problem Leader Election Algorithms The Leader Election Problem Problem Definition Anonymous Systems: An Impossibility Result Basic Assumptions and Principles oftheelectionalgorithms A Simple O(n 2 ) Leader Election Algorithm for Unidirectional Rings ContextandPrinciple TheAlgorithm TimeCostoftheAlgorithm... 80
4 Contents xi MessageCostoftheAlgorithm ASimpleVariant An O(nlog n) Leader Election Algorithm for Bidirectional Rings ContextandPrinciple TheAlgorithm Time and Message Complexities An O(nlog n) Election Algorithm for Unidirectional Rings ContextandPrinciples TheAlgorithm Discussion: Message Complexity and FIFO Channels TwoParticularCases Summary Bibliographic Notes ExercisesandProblems Mobile Objects Navigating a Network Mobile Object in a Process Graph Problem Definition MobileObjectVersusMutualExclusion ACentralized(Home-Based)Algorithm The Algorithms Presented in This Chapter ANavigationAlgorithmforaCompleteNetwork Underlying Principles TheAlgorithm A Navigation Algorithm Based on a Spanning Tree Principles of the Algorithm: TreeInvariantandProxyBehavior TheAlgorithm Discussion and Properties ProofoftheAlgorithm An Adaptive Navigation Algorithm The Adaptivity Property PrincipleoftheImplementation An Adaptive Algorithm Based on a Distributed Queue Properties ExampleofanExecution Summary Bibliographic Notes ExercisesandProblems Part II Logical Time and Global States in Distributed Systems 6 Nature of Distributed Computations and the Concept of a Global State A Distributed Execution Is a Partial Order on Local Events BasicDefinitions...122
5 xii Contents A Distributed Execution Is a Partial Order on Local Events Causal Past, Causal Future, Concurrency, Cut Asynchronous Distributed Execution with Respect to Physical Time A Distributed Execution Is a Partial Order on Local States Global State and Lattice of Global States The Concept of a Global State Lattice of Global States Sequential Observations Global States Including Process States and Channel States Global State Including Channel States Consistent Global State Including Channel States Consistent Global State Versus Consistent Cut On-the-Fly Computation of Global States Global State Computation Is an Observation Problem Problem Definition On the Meaning of the Computed Global State Principles of Algorithms Computing a Global State A Global State Algorithm Suited to FIFO Channels PrincipleoftheAlgorithm TheAlgorithm ExampleofanExecution A Global State Algorithm Suited to Non-FIFO Channels TheAlgorithmandItsPrinciples How to Compute the State of the Channels Summary Bibliographic Notes ExercisesandProblems Logical Time in Asynchronous Distributed Systems Linear Time Scalar (or Linear) Time From Partial Order to Total Order: TheNotionofaTimestamp Relating Logical Time and Timestamps with Observations Timestamps in Action: Total Order Broadcast VectorTime Vector Time and Vector Clocks Vector Clock Properties OntheDevelopmentofVectorTime Relating Vector Time and Global States Vector Clocks in Action: On-the-Fly Determination of a Global State Property Vector Clocks in Action: On-the-Fly Determination of the Immediate Predecessors On the Size of Vector Clocks
6 Contents xiii A Lower Bound on the Size of Vector Clocks An Efficient Implementation of Vector Clocks k-restrictedvectorclock MatrixTime Matrix Clock: Definition and Algorithm A Variant of Matrix Time in Action: Discard Old Data Summary Bibliographic Notes ExercisesandProblems Asynchronous Distributed Checkpointing Definitions and Main Theorem Local and Global Checkpoints Z-Dependency, Zigzag Paths, and Z-Cycles The Main Theorem Consistent Checkpointing Abstractions Z-Cycle-Freedom Rollback-Dependency Trackability On Distributed Checkpointing Algorithms Checkpointing Algorithms Ensuring Z-Cycle Prevention An Operational Characterization of Z-Cycle-Freedom A Property of a Particular Dating System Two Simple Algorithms Ensuring Z-Cycle Prevention On the Notion of an Optimal Algorithm forz-cycleprevention Checkpointing Algorithms Ensuring Rollback-Dependency Trackability Rollback-Dependency Trackability (RDT) A Simple Brute Force RDT Checkpointing Algorithm The Fixed Dependency After Send (FDAS) RDT Checkpointing Algorithm Still Reducing the Number of Forced Local Checkpoints Message Logging for Uncoordinated Checkpointing Uncoordinated Checkpointing To Log or Not to Log Messages on Stable Storage ARecoveryAlgorithm AFewImprovements Summary Bibliographic Notes ExercisesandProblems Simulating Synchrony on Top of Asynchronous Systems Synchronous Systems, Asynchronous Systems, and Synchronizers Synchronous Systems Asynchronous Systems and Synchronizers OntheEfficiencySide...222
7 xiv Contents Part III 9.2 Basic Principle for a Synchronizer TheMainProblemtoSolve PrincipleoftheSolutions Basic Synchronizers: α and β Synchronizer α Synchronizer β Advanced Synchronizers: γ and δ Synchronizer γ Synchronizer δ The Case of Networks with Bounded Delays Context and Hypotheses TheProblemtoSolve Synchronizer λ Synchronizer μ When the Local Physical Clocks Drift Summary Bibliographic Notes ExercisesandProblems Mutual Exclusion and Resource Allocation 10 Permission-Based Mutual Exclusion Algorithms TheMutualExclusionProblem Definition ClassesofDistributedMutexAlgorithms A Simple Algorithm Based on Individual Permissions PrincipleoftheAlgorithm TheAlgorithm ProofoftheAlgorithm From Simple Mutex to Mutex on Classes of Operations Adaptive Mutex Algorithms Based on Individual Permissions The Notion of an Adaptive Algorithm A Timestamp-Based Adaptive Algorithm A Bounded Adaptive Algorithm Proof of the Bounded Adaptive Mutex Algorithm AnAlgorithmBasedonArbiterPermissions Permissions Managed by Arbiters PermissionsVersusQuorums QuorumConstruction An Adaptive Mutex Algorithm BasedonArbiterPermissions Summary Bibliographic Notes ExercisesandProblems...274
8 Contents xv 11 Distributed Resource Allocation A Single Resource with Several Instances The k-out-of-m Problem Mutual Exclusion with Multiple Entries: The 1-out-of-M MutexProblem An Algorithm for the k-out-of-m MutexProblem ProofoftheAlgorithm From Mutex Algorithms to k-out-of-m Algorithms Several Resources with a Single Instance Several Resources with a Single Instance Incremental Requests for Single Instance Resources: UsingaTotalOrder Incremental Requests for Single Instance Resources: Reducing Process Waiting Chains Simultaneous Requests for Single Instance Resources andstaticsessions Simultaneous Requests for Single Instance Resources and Dynamic Sessions Several Resources with Multiple Instances Summary Bibliographic Notes ExercisesandProblems Part IV High-Level Communication Abstractions 12 Order Constraints on Message Delivery TheCausalMessageDeliveryAbstraction Definition of Causal Message Delivery A Causality-Based Characterization ofcausalmessagedelivery Causal Order with Respect to Other Message Ordering Constraints A Basic Algorithm for Point-to-Point Causal Message Delivery ASimpleAlgorithm ProofoftheAlgorithm Reduce the Size of Control Information Carried by Messages Causal Broadcast Definition and a Simple Algorithm TheNotionofaCausalBarrier Causal Broadcast with Bounded Lifetime Messages The Total Order Broadcast Abstraction StrongTotalOrderVersusWeakTotalOrder An Algorithm Based on a Coordinator Process oracirculatingtoken...322
9 xvi Contents An Inquiry-Based Algorithm An Algorithm for Synchronous Systems Playing with a Single Channel Four Order Properties on a Channel A General Algorithm Implementing These Properties Summary Bibliographic Notes ExercisesandProblems Rendezvous (Synchronous) Communication The Synchronous Communication Abstraction Definition AnExampleofUse AMessagePattern-BasedCharacterization Types of Algorithms Implementing Synchronous Communications Algorithms for Nondeterministic Planned Interactions Deterministic and Nondeterministic Communication Contexts An Asymmetric (Static) Client Server Implementation AnAsymmetricToken-BasedImplementation An Algorithm for Nondeterministic Forced Interactions Nondeterministic Forced Interactions ASimpleAlgorithm ProofoftheAlgorithm Rendezvous with Deadlines in Synchronous Systems Synchronous Systems and Rendezvous with Deadline Rendezvous with Deadline Between Two Processes Introducing Nondeterministic Choice n-way Rendezvous with Deadline Summary Bibliographic Notes ExercisesandProblems Part V Detection of Properties on Distributed Executions 14 Distributed Termination Detection TheDistributedTerminationDetectionProblem Process and Channel States TerminationPredicate TheTerminationDetectionProblem Types and Structure of Termination Detection Algorithms Termination Detection in the Asynchronous Atomic Model The Atomic Model
10 Contents xvii The Four-Counter Algorithm TheCountingVectorAlgorithm The Four-Counter Algorithm vs.thecountingvectoralgorithm TerminationDetectioninDiffusingComputations TheNotionofaDiffusingComputation A Detection Algorithm Suited to Diffusing Computations A General Termination Detection Algorithm Wave and Sequence of Waves A Reasoned Construction Termination Detection in a Very General Distributed Model Model and Nondeterministic Atomic Receive Statement The Predicate fulfilled() Static vs. Dynamic Termination: Definition DetectionofStaticTermination Detection of Dynamic Termination Summary Bibliographic Notes ExercisesandProblems Distributed Deadlock Detection The Deadlock Detection Problem Wait-ForGraph(WFG) AND and OR Models Associated with Deadlock Deadlock in the AND Model Deadlock in the OR Model The Deadlock Detection Problem Structure of Deadlock Detection Algorithms Deadlock Detection in the One-at-a-Time Model Principle and Local Variables ADetectionAlgorithm ProofoftheAlgorithm Deadlock Detection in the AND Communication Model Model and Principle of the Algorithm ADetectionAlgorithm ProofoftheAlgorithm Deadlock Detection in the OR Communication Model Principle ADetectionAlgorithm ProofoftheAlgorithm Summary Bibliographic Notes ExercisesandProblems...422
11 xviii Contents Part VI Distributed Shared Memory 16 Atomic Consistency (Linearizability) The Concept of a Distributed Shared Memory The Atomicity Consistency Condition WhatIstheIssue? AnExecutionIsaPartialOrderonOperations Atomicity: Formal Definition AtomicObjectsComposeforFree Message-Passing Implementations of Atomicity Atomicity Based on a Total Order Broadcast Abstraction Atomicity of Read/Write Objects Based on ServerProcesses Atomicity Based on a Server Process and Copy Invalidation Introducing the Notion of an Owner Process Atomicity Based on a Server Process and Copy Update Summary Bibliographic Notes ExercisesandProblems Sequential Consistency Sequential Consistency Definition Sequential Consistency Is Not a Local Property Partial Order for Sequential Consistency Two Theorems for Sequentially Consistent Read/Write Registers From Theorems to Algorithms Sequential Consistency from Total Order Broadcast A Fast Read Algorithm for Read/Write Objects A Fast Write Algorithm for Read/Write Objects A Fast Enqueue Algorithm for Queue Objects Sequential Consistency from a Single Server The Single Server Is a Process TheSingleServerIsaNavigatingToken Sequential Consistency with a Server per Object StructuralView The Object Managers Must Cooperate AnAlgorithmBasedontheOOConstraint AWeakerConsistencyCondition:CausalConsistency Definition ASimpleAlgorithm TheCaseofaSingleObject AHierarchyofConsistencyConditions...468
12 Contents xix 17.7Summary Bibliographic Notes ExercisesandProblems Afterword TheAimofThisBook Most Important Concepts, Notions, and Mechanisms PresentedinThisBook HowtoUseThisBook FromFailure-FreeSystemstoFailure-ProneSystems A Series of Books References Index...495
Concurrent Programming: Algorithms, Principles, and Foundations
Concurrent Programming: Algorithms, Principles, and Foundations Algorithms, Principles, and Foundations Bearbeitet von Michel Raynal 1. Auflage 2012. Buch. xxxii, 516 S. Hardcover ISBN 978 3 642 32026
More informationCONTENTS. Computer-System Structures
CONTENTS PART ONE OVERVIEW Chapter 1 Introduction 1.1 What Is an Operating System? 3 1.2 Simple Batch Systems 6 1.3 Multiprogrammed Batched Systems 8 1.4 Time-Sharing Systems 9 1.5 Personal-Computer Systems
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 informationOUTLINE. Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems
Chapter 5 Synchronization OUTLINE Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems Concurrent Processes Cooperating processes
More informationContents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11
Preface xvii Acknowledgments xix CHAPTER 1 Introduction to Parallel Computing 1 1.1 Motivating Parallelism 2 1.1.1 The Computational Power Argument from Transistors to FLOPS 2 1.1.2 The Memory/Disk Speed
More information6.852: Distributed Algorithms Fall, Class 12
6.852: Distributed Algorithms Fall, 2009 Class 12 Today s plan Weak logical time and vector timestamps Consistent global snapshots and stable property detection. Applications: Distributed termination.
More informationDistributed Systems. Chapman & Hall/CRC. «H Taylor S* Francis Croup Boca Raton London New York
Distributed Systems An Algorithmic Approach Sukumar Ghosh University of Iowa Iowa City, U.S.A. Chapman & Hall/CRC «H Taylor S* Francis Croup Boca Raton London New York Chapman & Hall/CRC is an imprint
More informationLecture 1: Introduction to distributed Algorithms
Distributed Algorithms M.Tech., CSE, 2016 Lecture 1: Introduction to distributed Algorithms Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual scrutiny
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 6: Clocks and Agreement Synchronization of
More informationCSE 486/586 Distributed Systems
CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Recap: Consensus On a synchronous system There s an algorithm that works. On
More informationTo Everyone... iii To Educators... v To Students... vi Acknowledgments... vii Final Words... ix References... x. 1 ADialogueontheBook 1
Contents To Everyone.............................. iii To Educators.............................. v To Students............................... vi Acknowledgments........................... vii Final Words..............................
More information6.852: Distributed Algorithms Fall, Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley
6.852: Distributed Algorithms Fall, 2015 Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley What are Distributed Algorithms? Algorithms that run on networked
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 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 informationReview of course COMP-251B winter 2010
Review of course COMP-251B winter 2010 Lecture 1. Book Section 15.2 : Chained matrix product Matrix product is associative Computing all possible ways of parenthesizing Recursive solution Worst-case running-time
More informationParallel and Distributed Systems. Programming Models. Why Parallel or Distributed Computing? What is a parallel computer?
Parallel and Distributed Systems Instructor: Sandhya Dwarkadas Department of Computer Science University of Rochester What is a parallel computer? A collection of processing elements that communicate and
More informationMODERN MULTITHREADING
MODERN MULTITHREADING Implementing, Testing, and Debugging Multithreaded Java and C++/Pthreads/Win32 Programs RICHARD H. CARVER KUO-CHUNG TAI A JOHN WILEY & SONS, INC., PUBLICATION MODERN MULTITHREADING
More information4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting...
Contents 1 Introduction... 1 1.1 What is Competitive Programming?... 1 1.1.1 Programming Contests.... 2 1.1.2 Tips for Practicing.... 3 1.2 About This Book... 3 1.3 CSES Problem Set... 5 1.4 Other Resources...
More informationBroadcast: Befo re 1
Broadcast: Before 1 After 2 Spanning Tree ffl assume fixed spanning tree ffl asynchronous model 3 Processor State parent terminated children 4 Broadcast: Step One parent terminated children 5 Broadcast:Step
More informationVerteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms
Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms Holger Karl Computer Networks Group Universität Paderborn Goal of this chapter Apart from issues in distributed time and resulting
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 informationClock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers
Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another
More informationCommunication Complexity and Parallel Computing
Juraj Hromkovic Communication Complexity and Parallel Computing With 40 Figures Springer Table of Contents 1 Introduction 1 1.1 Motivation and Aims 1 1.2 Concept and Organization 4 1.3 How to Read the
More informationUNIT IV 1. What is meant by hardware and software clock? Clock devices can be programmed to generate interrupts at regular intervals in orders that, for example, time slicing can be implemented.the operating
More informationSeveral of these problems are motivated by trying to use solutiions used in `centralized computing to distributed computing
Studying Different Problems from Distributed Computing Several of these problems are motivated by trying to use solutiions used in `centralized computing to distributed computing Problem statement: Mutual
More informationLast Class: Clock Synchronization. Today: More Canonical Problems
Last Class: Clock Synchronization Logical clocks Vector clocks Global state Lecture 12, page 1 Today: More Canonical Problems Distributed snapshot and termination detection Election algorithms Bully algorithm
More informationDistributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati
Distributed Algorithms Partha Sarathi Mandal Department of Mathematics IIT Guwahati Thanks to Dr. Sukumar Ghosh for the slides Distributed Algorithms Distributed algorithms for various graph theoretic
More informationLast Class: Naming. Today: Classical Problems in Distributed Systems. Naming. Time ordering and clock synchronization (today)
Last Class: Naming Naming Distributed naming DNS LDAP Lecture 12, page 1 Today: Classical Problems in Distributed Systems Time ordering and clock synchronization (today) Next few classes: Leader election
More information2. Time and Global States Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems
2. Time and Global States Page 1 University of Freiburg, Germany Department of Computer Science Distributed Systems Chapter 3 Time and Global States Christian Schindelhauer 12. May 2014 2. Time and Global
More informationDistributed Computing over Communication Networks: Leader Election
Distributed Computing over Communication Networks: Leader Election Motivation Reasons for electing a leader? Reasons for not electing a leader? Motivation Reasons for electing a leader? Once elected, coordination
More informationConcurrency and OS recap. Based on Operating System Concepts with Java, Sixth Edition, 2003, Avi Silberschatz, Peter Galvin e Greg Gagne
Concurrency and OS recap Based on Operating System Concepts with Java, Sixth Edition, 2003, Avi Silberschatz, Peter Galvin e Greg Gagne 64 Process Concept An operating system executes a variety of programs:
More informationDistributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201
Distributed Systems ID2201 coordination Johan Montelius 1 Coordination Coordinating several threads in one node is a problem, coordination in a network is of course worse: failure of nodes and networks
More informationSynchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer
Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors Michel Raynal, Julien Stainer Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors
More informationFundamental Algorithms
Fundamental Algorithms Chapter 8: Graphs Jan Křetínský Winter 2017/18 Chapter 8: Graphs, Winter 2017/18 1 Graphs Definition (Graph) A graph G = (V, E) consists of a set V of vertices (nodes) and a set
More informationM.Sc. (Computer Science) I Year Assignments for May Paper I DATA STRUCTURES Assignment I
Paper I DATA STRUCTURES (DMCS 01) 1. Explain in detail about the overview of Data structures. 2. Explain circular linked list and double-linked list. 3. Explain CPU scheduling in Multiprogramming Environment.
More informationCoordination and Agreement
Coordination and Agreement Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Distributed Mutual Exclusion 3. Elections 4. Multicast Communication 5. Consensus and related problems
More informationThis course is intended for 3rd and/or 4th year undergraduate majors in Computer Science.
Lecture 9 Graphs This course is intended for 3rd and/or 4th year undergraduate majors in Computer Science. You need to be familiar with the design and use of basic data structures such as Lists, Stacks,
More informationShortest path problems
Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths
More informationAnalysis of Algorithms
Second Edition Design and Analysis of Algorithms Prabhakar Gupta Vineet Agarwal Manish Varshney Design and Analysis of ALGORITHMS SECOND EDITION PRABHAKAR GUPTA Professor, Computer Science and Engineering
More informationThomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms
Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6
More informationShortest Path Problem
Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework Bellman-Ford algorithm Shortest paths
More informationSynchronization. Clock Synchronization
Synchronization Clock Synchronization Logical clocks Global state Election algorithms Mutual exclusion Distributed transactions 1 Clock Synchronization Time is counted based on tick Time judged by query
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 informationLeader Election in Rings
Leader Election Arvind Krishnamurthy Fall 2003 Leader Election in Rings Under different models: Synchronous vs. asynchronous Anonymous vs. non-anonymous (knowledge of unique id) Knowledge of n (non-uniform)
More informationVirtual University of Pakistan
Virtual University of Pakistan Department of Computer Science Course Outline Course Instructor Dr. Sohail Aslam E mail Course Code Course Title Credit Hours 3 Prerequisites Objectives Learning Outcomes
More informationPreface... 1 The Boost C++ Libraries Overview... 5 Math Toolkit: Special Functions Math Toolkit: Orthogonal Functions... 29
Preface... 1 Goals of this Book... 1 Structure of the Book... 1 For whom is this Book?... 1 Using the Boost Libraries... 2 Practical Hints and Guidelines... 2 What s Next?... 2 1 The Boost C++ Libraries
More informationCurriculum 2013 Knowledge Units Pertaining to PDC
Curriculum 2013 Knowledge Units Pertaining to C KA KU Tier Level NumC Learning Outcome Assembly level machine Describe how an instruction is executed in a classical von Neumann machine, with organization
More informationLecture 6: Logical Time
Lecture 6: Logical Time 1. Question from reviews a. 2. Key problem: how do you keep track of the order of events. a. Examples: did a file get deleted before or after I ran that program? b. Did this computers
More informationOperating Systems Comprehensive Exam. Fall Student ID # 10/31/2013
Operating Systems Comprehensive Exam Fall 2013 Student ID # 10/31/2013 You must complete all of Section I You must complete two of the problems in Section II If you need more space to answer a question,
More informationContents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures
PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 15 1.5 Operating-System Operations
More informationContents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures
PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 18 1.5 Operating-System Operations
More informationImportant Lessons. A Distributed Algorithm (2) Today's Lecture - Replication
Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single
More informationCS420/520 Algorithm Analysis Spring 2009 Lecture 14
CS420/520 Algorithm Analysis Spring 2009 Lecture 14 "A Computational Analysis of Alternative Algorithms for Labeling Techniques for Finding Shortest Path Trees", Dial, Glover, Karney, and Klingman, Networks
More informationThe Timed Asynchronous Distributed System Model By Flaviu Cristian and Christof Fetzer
The Timed Asynchronous Distributed System Model By Flaviu Cristian and Christof Fetzer - proposes a formal definition for the timed asynchronous distributed system model - presents measurements of process
More informationDistributed Systems Leader election & Failure detection
Distributed Systems Leader election & Failure detection He Sun School of Informatics University of Edinburgh Leader of a computation Many distributed computations need a coordinator of server processors
More informationJörgen Bang-Jensen and Gregory Gutin. Digraphs. Theory, Algorithms and Applications. Springer
Jörgen Bang-Jensen and Gregory Gutin Digraphs Theory, Algorithms and Applications Springer Contents 1. Basic Terminology, Notation and Results 1 1.1 Sets, Subsets, Matrices and Vectors 1 1.2 Digraphs,
More informationA Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 24, 573-583 (2008) Short Paper A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network VINAY MADENUR AND NEERAJ MITTAL + Internet Services Qualcomm,
More informationThree Models. 1. Time Order 2. Distributed Algorithms 3. Nature of Distributed Systems1. DEPT. OF Comp Sc. and Engg., IIT Delhi
DEPT. OF Comp Sc. and Engg., IIT Delhi Three Models 1. CSV888 - Distributed Systems 1. Time Order 2. Distributed Algorithms 3. Nature of Distributed Systems1 Index - Models to study [2] 1. LAN based systems
More informationHeuristic Search. Theory and Applications. Stefan Edelkamp. Stefan Schrodl ELSEVIER. Morgan Kaufmann is an imprint of Elsevier HEIDELBERG LONDON
Heuristic Search Theory and Applications Stefan Edelkamp Stefan Schrodl AMSTERDAM BOSTON HEIDELBERG LONDON ELSEVIER NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY» TOKYO Morgan Kaufmann
More informationMATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE
MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE A Modern Approach to Discrete Mathematics SIXTH EDITION Judith L. Gersting University of Hawaii at Hilo W. H. Freeman and Company New York Preface Note to the
More informationEvent Ordering. Greg Bilodeau CS 5204 November 3, 2009
Greg Bilodeau CS 5204 November 3, 2009 Fault Tolerance How do we prepare for rollback and recovery in a distributed system? How do we ensure the proper processing order of communications between distributed
More informationBusiness Intelligence Roadmap HDT923 Three Days
Three Days Prerequisites Students should have experience with any relational database management system as well as experience with data warehouses and star schemas. It would be helpful if students are
More informationPetri Nets ee249 Fall 2000
Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow
More informationTHE FIRST APPROXIMATED DISTRIBUTED ALGORITHM FOR THE MINIMUM DEGREE SPANNING TREE PROBLEM ON GENERAL GRAPHS. and
International Journal of Foundations of Computer Science c World Scientific Publishing Company THE FIRST APPROXIMATED DISTRIBUTED ALGORITHM FOR THE MINIMUM DEGREE SPANNING TREE PROBLEM ON GENERAL GRAPHS
More informationChapter 2 Distributed Graph Algorithms
Chapter 2 Distributed Graph Algorithms This chapter addresses three basic graph problems encountered in the context of distributed systems. These problems are (a) the computation of the shortest paths
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 informationLOGIC AND DISCRETE MATHEMATICS
LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University
More informationTime: 3 HOURS Maximum Marks: 100
ANNA UNIVERSITY:CHENNAI 600 025 M.E/M.Tech. DEGREE EXAMINATIONS, NOV./DEC. 2014 Regulations 2013 Third Semester B.E. Computer Science and Engineering CS6311: PROGRAMMING AND DATA STRUCTURES LABORATORY
More informationMutual Exclusion in DS
Mutual Exclusion in DS Event Ordering Mutual Exclusion Election Algorithms Reaching Agreement Event Ordering Happened-before relation (denoted by ). If A and B are events in the same process, and A was
More informationDistributed Operating Systems. Distributed Synchronization
2 Distributed Operating Systems Distributed Synchronization Steve Goddard goddard@cse.unl.edu http://www.cse.unl.edu/~goddard/courses/csce855 1 Synchronization Coordinating processes to achieve common
More informationModel checking pushdown systems
Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,
More information4/8/11. Single-Source Shortest Path. Shortest Paths. Shortest Paths. Chapter 24
/8/11 Single-Source Shortest Path Chapter 1 Shortest Paths Finding the shortest path between two nodes comes up in many applications o Transportation problems o Motion planning o Communication problems
More informationWhat is the Race Condition? And what is its solution? What is a critical section? And what is the critical section problem?
What is the Race Condition? And what is its solution? Race Condition: Where several processes access and manipulate the same data concurrently and the outcome of the execution depends on the particular
More informationFundamentals of Discrete Mathematical Structures
Fundamentals of Discrete Mathematical Structures THIRD EDITION K.R. Chowdhary Campus Director JIET School of Engineering and Technology for Girls Jodhpur Delhi-110092 2015 FUNDAMENTALS OF DISCRETE MATHEMATICAL
More informationRelationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems
Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems James Aspnes, Yale University Faith Ellen Fich, University of Toronto Eric Ruppert, York University Anonymity
More information殷亚凤. Synchronization. Distributed Systems [6]
Synchronization Distributed Systems [6] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Protocols Remote Procedure Call
More informationEvent Ordering Silberschatz, Galvin and Gagne. Operating System Concepts
Event Ordering Happened-before relation (denoted by ) If A and B are events in the same process, and A was executed before B, then A B If A is the event of sending a message by one process and B is the
More informationMultiJav: A Distributed Shared Memory System Based on Multiple Java Virtual Machines. MultiJav: Introduction
: A Distributed Shared Memory System Based on Multiple Java Virtual Machines X. Chen and V.H. Allan Computer Science Department, Utah State University 1998 : Introduction Built on concurrency supported
More informationSelf-stabilizing Population Protocols
Self-stabilizing Population Protocols Dana Angluin, James Aspnes, Michael J. Fischer and Hong Jiang Yale University This paper studies self-stabilization in networks of anonymous, asynchronously interacting
More informationDistributed Systems. Rik Sarkar James Cheney Global State & Distributed Debugging February 3, 2014
Distributed Systems Rik Sarkar James Cheney Global State & Distributed Debugging Global State: Consistent Cuts The global state is the combination of all process states and the states of the communication
More informationA. Udaya Shankar. Distributed Programming. and Practice. Theory. 4^1 Springer
A. Udaya Shankar Distributed Programming Theory and Practice 4^1 Springer Contents 1 Introduction 1 1.1 Objective 1 1.2 Programs and Services 2 1.3 Correctness Properties and Assertional Reasoning 5 1.4
More informationGraphTheory Models & Complexity BFS Trees DFS Trees Min Spanning Trees. Tree Constructions. Martin Biely
Tree Constructions Martin Biely Embedded Computing Systems Group Vienna University of Technology European Union November 29, 2006 Biely Tree Constructions 1 Outline 1 A quick Repetition on Graphs 2 Models
More informationSynchronization. Distributed Systems IT332
Synchronization Distributed Systems IT332 2 Outline Clock synchronization Logical clocks Election algorithms Mutual exclusion Transactions 3 Hardware/Software Clocks Physical clocks in computers are realized
More informationChapter 16: Distributed Synchronization
Chapter 16: Distributed Synchronization Chapter 16 Distributed Synchronization Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election Algorithms Reaching Agreement 18.2
More informationFrequently asked questions from the previous class survey
CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED COORDINATION/MUTUAL EXCLUSION] Shrideep Pallickara Computer Science Colorado State University L22.1 Frequently asked questions from the previous
More information殷亚凤. Consistency and Replication. Distributed Systems [7]
Consistency and Replication Distributed Systems [7] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Clock synchronization
More informationDistributed Coordination! Distr. Systems: Fundamental Characteristics!
Distributed Coordination! What makes a system distributed?! Time in a distributed system! How do we determine the global state of a distributed system?! Event ordering! Mutual exclusion! Reading: Silberschatz,
More informationCS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University
Frequently asked questions from the previous class survey CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED COORDINATION/MUTUAL EXCLUSION] Shrideep Pallickara Computer Science Colorado State University
More informationConsistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms
Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms Özalp Babaoğlu Keith Marzullo Technical Report UBLCS-9- January 99 CM Laboratory for Computer Science University of
More informationFailures, Elections, and Raft
Failures, Elections, and Raft CS 8 XI Copyright 06 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved. Distributed Banking SFO add interest based on current balance PVD deposit $000 CS 8 XI Copyright
More informationCHAPTER 4: INTERPROCESS COMMUNICATION AND COORDINATION
CHAPTER 4: INTERPROCESS COMMUNICATION AND COORDINATION Chapter outline Discuss three levels of communication: basic message passing, request/reply and transaction communication based on message passing
More informationThe Flooding Time Synchronization Protocol
The Flooding Time Synchronization Protocol Miklos Maroti, Branislav Kusy, Gyula Simon and Akos Ledeczi Vanderbilt University Contributions Better understanding of the uncertainties of radio message delivery
More informationNon-blocking Array-based Algorithms for Stacks and Queues. Niloufar Shafiei
Non-blocking Array-based Algorithms for Stacks and Queues Niloufar Shafiei Outline Introduction Concurrent stacks and queues Contributions New algorithms New algorithms using bounded counter values Correctness
More informationChapter 18: Distributed
Chapter 18: Distributed Synchronization, Silberschatz, Galvin and Gagne 2009 Chapter 18: Distributed Synchronization Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election
More informationDistributed Leader Election Algorithms in Synchronous Networks
Distributed Leader Election Algorithms in Synchronous Networks Mitsou Valia National Technical University of Athens School of Applied Mathematics and Physics 1/66 Distributed Computing Distributed computing
More informationGraph Algorithms: Chapters Part 1: Introductory graph concepts
UMass Lowell Computer Science 91.503 Algorithms Dr. Haim Levkowitz Fall, 2007 Graph Algorithms: Chapters 22-25 Part 1: Introductory graph concepts 1 91.404 Graph Review Elementary Graph Algorithms Minimum
More informationApplied Combinatorics
Applied Combinatorics SECOND EDITION FRED S. ROBERTS BARRY TESMAN LßP) CRC Press VV^ J Taylor & Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group an informa
More informationContents. 1 Introduction. 2 Searching and Traversal Techniques. Preface... (vii) Acknowledgements... (ix)
Contents Preface... (vii) Acknowledgements... (ix) 1 Introduction 1.1 Algorithm 1 1.2 Life Cycle of Design and Analysis of Algorithm 2 1.3 Pseudo-Code for Expressing Algorithms 5 1.4 Recursive Algorithms
More informationIntroductory Combinatorics
Introductory Combinatorics Third Edition KENNETH P. BOGART Dartmouth College,. " A Harcourt Science and Technology Company San Diego San Francisco New York Boston London Toronto Sydney Tokyo xm CONTENTS
More informationDR. JIVRAJ MEHTA INSTITUTE OF TECHNOLOGY
DR. JIVRAJ MEHTA INSTITUTE OF TECHNOLOGY Subject Name: - DISTRIBUTED SYSTEMS Semester :- 8 th Subject Code: -180701 Branch :- Computer Science & Engineering Department :- Computer Science & Engineering
More information