Outline Distributed Mutual Exclusion Distributed Deadlock Detection

Slides:



Advertisements
Similar presentations
Distributed Deadlocks
Advertisements

Fault Tolerance. Basic System Concept Basic Definitions Failure: deviation of a system from behaviour described in its specification. Error: part of.
Impossibility of Distributed Consensus with One Faulty Process
Scalable Algorithms for Global Snapshots in Distributed Systems
1 Distributed Deadlock Fall DS Deadlock Topics Prevention –Too expensive in time and network traffic in a distributed system Avoidance.
Handling Deadlocks n definition, wait-for graphs n fundamental causes of deadlocks n resource allocation graphs and conditions for deadlock existence n.
BASIC BUILDING BLOCKS -Harit Desai. Byzantine Generals Problem If a computer fails, –it behaves in a well defined manner A component always shows a zero.
Teaser - Introduction to Distributed Computing
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture IX: Coordination And Agreement.
CS 582 / CMPE 481 Distributed Systems
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Computer Science Lecture 17, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
CS603 Process Synchronization February 11, Synchronization: Basics Problem: Shared Resources –Generally data –But could be others Approaches: –Model.
Synchronization in Distributed Systems. Mutual Exclusion To read or update shared data, a process should enter a critical region to ensure mutual exclusion.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
Distributed Systems Fall 2009 Distributed transactions.
Byzantine Fault Tolerance CS 425: Distributed Systems Fall Material drived from slides by I. Gupta and N.Vaidya.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Securing Every Bit: Authenticated Broadcast in Wireless Networks Dan Alistarh, Seth Gilbert, Rachid Guerraoui, Zarko Milosevic, and Calvin Newport.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
Review for Exam 2. Topics included Deadlock detection Resource and communication deadlock Graph algorithms: Routing, spanning tree, MST, leader election.
Practical Byzantine Fault Tolerance
Chapter 7 –System Model – typical assumptions underlying the study of distributed deadlock detection Only reusable resources, only exclusive access, single.
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
CSE 60641: Operating Systems Implementing Fault-Tolerant Services Using the State Machine Approach: a tutorial Fred B. Schneider, ACM Computing Surveys.
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
DEADLOCK DETECTION ALGORITHMS IN DISTRIBUTED SYSTEMS
IM NTU Distributed Information Systems 2004 Distributed Transactions -- 1 Distributed Transactions Yih-Kuen Tsay Dept. of Information Management National.
PROCESS RESILIENCE By Ravalika Pola. outline: Process Resilience  Design Issues  Failure Masking and Replication  Agreement in Faulty Systems  Failure.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan Transactions are communications with ACID property: Atomicity: all or nothing Consistency:
Lecture 11: Coordination and Agreement Central server for mutual exclusion Election – getting a number of processes to agree which is “in charge” CDK4:
1 AGREEMENT PROTOCOLS. 2 Introduction Processes/Sites in distributed systems often compete as well as cooperate to achieve a common goal. Mutual Trust/agreement.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
The Consensus Problem in Fault Tolerant Computing
Synchronizing Processes
Synchronization: Distributed Deadlock Detection
The Echo Algorithm The echo algorithm can be used to collect and disperse information in a distributed system It was originally designed for learning network.
8.2. Process resilience Shreyas Karandikar.
Alternating Bit Protocol
Distributed Consensus
Agreement Protocols CS60002: Distributed Systems
Outline Announcements Fault Tolerance.
Distributed Systems, Consensus and Replicated State Machines
Distributed Consensus
Introduction to locality sensitive approach to distributed systems
Outline Announcement Midterm Review
Distributed Deadlock Fall 2001.
Outline Introduction Background Distributed DBMS Architecture
Distributed Systems CS
PERSPECTIVES ON THE CAP THEOREM
Outline Theoretical Foundations - continued Lab 1
Outline Distributed Mutual Exclusion Introduction Performance measures
EEC 688/788 Secure and Dependable Computing
Distributed Transactions
Lecture 10: Coordination and Agreement
Distributed Transactions
Distributed Transactions
EEC 688/788 Secure and Dependable Computing
Distributed Transactions
EEC 688/788 Secure and Dependable Computing
Distributed Deadlock Detection
Distributed Transactions
Lecture 11: Coordination and Agreement
Last Class: Fault Tolerance
Last Class: Naming Name distribution: use hierarchies DNS
Presentation transcript:

Outline Distributed Mutual Exclusion Distributed Deadlock Detection Token-based algorithms Distributed Deadlock Detection Review and overview Agreement Protocols Introduction Lamport-Shostak-Pease algorithm Dolev et al’s algorithm Applications of agreement protocols 11/15/2018 COP5611

Announcements There will be a quiz next Tuesday It will be an open book quiz It covers the things we have covered so far It will be at the end of the class You can turn in your homework #2 next Tuesday However, no submission after that date will be accepted Please do not run your programs on diablo 11/15/2018 COP5611

Distributed Deadlock Detection In distributed systems, the system state can be represented by a wait-for graph (WFG) In WFG, nodes are processes and there is a directed edge from node P1 to node P2 if P1 is blocked and is waiting for P2 to release some resource The system is deadlocked if there is a directed cycle or knot in its WFG The problem is how to maintain the WFG and detect cycle/knot in the graph 11/15/2018 COP5611

Distributed Deadlock Detection – cont. Centralized detection algorithms Distributed deadlock algorithms Path-pushing Edge-chasing Diffusion computation Global state detection You need to know the basic ideas but not the details about those algorithms 11/15/2018 COP5611

Agreement Protocols In distributed systems, sites are often required to reach mutual agreement In distributed database systems, data managers must agree on whether to commit or to abort a transaction Reaching an agreement requires the sites have knowledge about values at other sites Agreement when the system is free from failures Agreement when the system is prone to failure 11/15/2018 COP5611

The System Model There are n sites in the distributed system and at most m can be faulty Each site can communicate with all other sites through message passing A receiver always knows the identity of the sender of a message The communication is reliable 11/15/2018 COP5611

The System Model – cont. Synchronous vs. asynchronous computations In a synchronous computation, processes in the distributed system run in lock step manner In each step, a process receives messages from other sites sent in the previous step, performs a computation, and sends messages to other processes 11/15/2018 COP5611

The System Model – cont. Processor Failures Crash fault Omission fault Malicious fault Authenticated vs. non-authenticated messages 11/15/2018 COP5611

The System Model – cont. Performance Analysis Time to reach an agreement under a given protocol Message traffic measured by the number of messages exchanged to reach an agreement Storage overhead 11/15/2018 COP5611

Agreement Problems There are three well known agreement problems Byzantine agreement problem Consensus problem Interactive consistency problem 11/15/2018 COP5611

Byzantine Agreement Problem A chosen process, called source process, broadcasts its initial value to all other processes A solution should 11/15/2018 COP5611

The Consensus Problem In this problem, every process broadcasts its initial value to all other processes, where the initial values of different processes can be different 11/15/2018 COP5611

The Interactive Consistency Problem In this problem, every process broadcasts its initial value to all other processes, where the initial values of different processes can be different 11/15/2018 COP5611

Lamport-Shostak-Pease Algorithm 11/15/2018 COP5611

Lamport-Shostak-Pease Algorithm – cont. 11/15/2018 COP5611

Lamport-Shostak-Pease Algorithm – cont. Performance analysis Time Message traffic Storage overhead 11/15/2018 COP5611

Fault-Tolerant Clock Synchronization The interactive convergence algorithm 11/15/2018 COP5611

Fault-Tolerant Clock Synchronization – cont. The interactive consistency algorithm 11/15/2018 COP5611