A Two-Layer Hybrid Algorithm for Achieving Mutual Exclusion in Distributed Systems

Size: px
Start display at page:

Download "A Two-Layer Hybrid Algorithm for Achieving Mutual Exclusion in Distributed Systems"

Transcription

1 A Two-Layer Hybrid Algorithm for Achieving Mutual Exclusion in Distributed Systems QUAZI EHSANUL KABIR MAMUN *, MORTUZA ALI *, SALAHUDDIN MOHAMMAD MASUM, MOHAMMAD ABDUR RAHIM MUSTAFA * Dept. of CSE, Bangladesh University of Engineering and Technology, Dhaka 1000, BANGLADESH Dept. of CSE & CIS, Faculty of Sc. & IT, Daffodil International University, Dhaka 1207, BANGLADESH Dept. of CSE, University of Dhaka, Dhaka 1000, BANGLADESH Abstract: - Mutual exclusion problem is the problem of ensuring that certain portions of program code are executed within critical regions, where no two programs are permitted to be in critical regions at the same time. This problem arises in both centralized and distributed systems. Unfortunately, all the three basic approaches centralized, distributed and token ring proposed for achieving mutual exclusion in distributed systems are said to be good for distributed systems in some abstract way only. In this paper, we have presented a two-layer hybrid algorithm for achieving mutual exclusion in distributed systems. The algorithm presented in this paper requires less number of message passing with reduced amount of load on coordinators. The algorithm is also fault tolerant in the sense that the crash of a coordinator can easily be detected and recovered. Key-Words: - Critical section (CS), Distributed mutual exclusion, Deadlock, Starvation, Bandwidth, Client delay, throughput. 1 Introduction A fully distributed synchronization is fantasized for several years, but numerous practical obstacles have hindered this effort reluctantly. In some cases, practically it becomes almost an extreme end to implement fully distributed system for synchronization. On the other hand, another extreme is to implement fully centralized system where performance bottleneck and single point of failure problems are involved. Centralized algorithm, the most simplest and straightforward algorithm, formulates decisions to implement mutual exclusion centrally in distributed systems, described in [1, 5, 6, 9]. Although it requires only three messages per entry to critical section, it suffers from the single point of failure and performance bottleneck for large systems. Ricart and Agrawala [1981] developed an algorithm that formulates decisions to achieve mutual exclusion in a distributed way across the entire system, described in [4, 16]. It is a more expensive algorithm in terms of number of message passing [1]. Moreover, in a system having N processes, the algorithm is liable to N points of failure because if one of the processes fails, the entire scheme collapses [6]. In this paper, we have presented a twolayer hybrid algorithm for achieving mutual exclusion which is free from single point of failure and also requires less number of message passing than that of distributed algorithm. Moreover, there is no need for coordinator synchronization using clocks in our algorithm. Besides, the algorithm is fault tolerant and ensures fairness. 2 Definitions and Basic Concepts Mutual exclusion problem involves the allocation of a single, indivisible, non-shareable resource among several users. The users can be thought of as application programs. The resource could be, for example, a printer or other output device that requires exclusive access in order to ensure that the output is sensible. Or it could be a database or other data structure that requires exclusive access in order to avoid interference among the operations of different users [11]. For any algorithm executing mutual exclusion in distributed systems, we consider a system of N processes p i, i = 1, 2, N that do not share variables. The processes access common resources, but they do so in a critical section. We assume that the system is asynchronous, that the processes do not fail, and that message delivery is reliable, so that any messages sent is eventually delivered intact, exactly once. An algorithm for implementing mutual exclusion must satisfy the following three essential requirements [6]: Safety: At most one process may execute in the critical section (CS) at a time. Liveness: Requests to enter and exit the critical

2 section eventually succeed. This implies freedom from both deadlock and starvation. The absence of starvation is a fairness condition. Another fairness issue is the order in which processes enter the critical section. Happen-before ordering: If one requests to enter the critical section happened-before [Lamport] another, then entry to the critical section is granted in that order. In happened-before order, it is not possible for a process to enter the critical section more than once while another waits to enter. This ordering also allows processes to coordinate their accesses to the critical section [1]. 3 Two-Layer Hybrid Algorithm In our approach, the entire distributed system is divided into several groups. For each group, one process is elected as coordinator. The algorithm works in two layers. In lower layer, the local coordinator handles requests from local processes and in higher layer, the coordinators synchronize the requests among themselves. In lower layer, every process, when it requires a resource, requests its local coordinator for a resource and enters CS only when it gets reply from its local coordinator, just like in centralized approach. In higher layer, a coordinator, receiving a request for a resource from its group, communicates with all other coordinators for mutual exclusion. The higher layer conforms to distributed approach. The algorithm works as follows: To access a shared resource, a process sends a Request message to the local coordinator. The coordinator sends an Acknowledgement message immediately and queues the request. If the request is the first element of queue, the coordinator calls REQUEST_FOR_CS( ) procedure in which the coordinator sends REQUEST message to all other coordinators and wait for ACKNOWLEDGEMENT messages. Whenever it receives OK messages from all other coordinators, it grants the local process entry to CS. When a coordinator receives a REQUEST from another coordinator the action it takes, after sending ACKNOWLEDGEMENT, can be classified into the following cases: - 1. If no process of the group is in the critical section and no local process wants to enter that critical section, the coordinator of the group sends an OK to the sender and changes its priority to the next level. 2. If any of the processes in the group is already in that CS, it queues the REQUEST. 3. If any process of the group wants to enter that CS but has not yet done so, the coordinator compares the priority of the incoming message with that of the first local Request in the queue. The highest one wins. If the priority of incoming message is higher, the receiver sends an OK to the requesting coordinator. If its own message has a higher priority, it appends the REQUEST in the queue. When a coordinator receives OK from all other coordinators, it grants CS to the local process by sending Reply message and changes its priority to the next level. On receiving Reply from its coordinator, the process enters the CS and when it exits from CS, it sends Release message to the coordinator. The coordinator then deletes the first element of the queue and sends OK for every REQUEST in the queue and deletes corresponding REQUESTs. If the first element of the queue is a local process, the coordinator calls REQUEST_FOR_CS( ). 3.1 Messages: Let, n = number of coordinators or groups The messages used in the algorithm are as follows: For lower level: Request (MsgId, ProcessId, CS) Acknowledgement(MsgId, ProcessId, CS) Reply(MsgId, ProcessId, CS) Release(MsgId, ProcessId, CS) For higher level: REQUEST(MsgId, ProcessId, CoordId, CS, Priority) ACKNOWLEDGEMENT(MsgId, CoordId, CS) OK(MsgId, CoordId, CS) 3.2 Algorithm: Local processes to enter CS: Term = 1; Send Request to Coordinator; Wait for Acknowledgement for timeout_period; If (Not_Found_Acknowledgement) Send Request to Coordinator; Term = Term + 1; If (Term > MAXTERM) call Election_Algorithm( ); Local processes exiting CS: Send Release to Coordinator; Coordinator receives a request from local processes: Send Acknowledgement to sender; Append the process in the queue; If the queued process is Q 0 for all other coordinators

3 call REQUEST_FOR_CS(CoorId) Coordinator receives a release from local processes: Delete(Q 0 ) for all REQUEST messages in Queue Send OK; Delete(REQUEST); If Q 0 is a local process for all other coordinators call REQUEST_FOR_CS(CoorId); Coordinator receives a REQUEST from other coordinators: send ACKNOWLEDGEMENT to the sender; If ((Local_process_in_CS) or ((Queue_Not_Empty) and (Priority(Q 0 ) > Priority(REQUEST)))) Append the REQUEST in the Queue; Else send OK to sender Coordinator; Priotity = Priotity + 1 (mod n); Fig.1: Process H and J request local coordinator L, process A and C request D. Coordinator receives an OK from other coordinators: OK_Count++; If (OK_Count = n-1) send Reply to local process of Q 0 ; Priotity = Priotity + 1 (mod n); REQUEST(CoorId ) Term = 1 While (Term < MAXTERM) Send REQUEST to CoordId; Wait for ACKNOWLEDGEMENT for TimeoutPeriod; If (Not_Found_ACKNOWLEDGEMENT) Term = Term + 1; Else break; If (Term > MAXTERM) Send OK to itself having (MsgId, CoordId, CS); Fig.2: L sends Acknowledgement to H and J, D sends Acknowledgement to A and C. 3.3 Operation: Suppose that we have three groups. The coordinator of each group is marked as shaded one. Each coordinator maintains a queue. The head of the queue is marked by bold line. The priority of each coordinator is given in a small square as P1, P2, and P3. Here we have depicted our example by several sequences of figures that show the consequences of our algorithm. Fig.3: L and D send REQUEST to all other coordinators.

4 Fig.4: Coordinator G sends OK to L and D and increases its priority by 2 (modulo 3). Coordinator L sends OK to D since the priority of D is higher than that of L. As D gets OK from all other coordinators, it increases its priority by 1 (modulo 3). Fig.7: Coordinator D sends OK to L and deletes it from queue. At the same time D increases its priority by 1 (modulo 3). Coordinator L now gets all required OK messages for local process H. So it grants CS to H and increases its priority by 1. Fig.5: Coordinator D grants A to access the CS by sending Reply to process A. Fig.8: Coordinator D gets local process C in the head of the queue. So it sends REQUEST to all other coordinators for allocation of CS for process C. In the similar fashion all other requests are served according to our algorithm. Fig.6: After using the CS process A sends Release to coordinator D. Coordinator D deletes A from its queue. 4 Empirical results and analyses We had our experiment on 102 nodes. We split them into 7 different groups. The number of nodes in each group was as follows: A=10, B=15, C=12, D=17, E=14, F=21, G=13. Several cases were considered with some number of candidates for a CS from each group. They are shown at Table 1. The experimental results of the hybrid approach showed a considerable amount of betterment.

5 Table 2 shows the comparisons among centralized, distributed and hybrid approaches. In comparison with distributed approach, hybrid approach exhibits enormous amount of message reduction. Though hybrid approach requires more messages than centralized approach does, in consideration of load on coordinator, centralized approach is never a good choice because of the bottleneck of performance of coordinator and the case of single point of failure. Our approach defeats both centralized and distributed approaches in this respect. Table 3 gives the load on coordinators. Table 1: Case Study Index No. of Candidates for CS from each groups [A, B, C, D, E, F] Case 1 [ 1, 1, 1, 1, 1, 1, 1] Case 2 [ 3, 8, 7, 3, 1, 2, 3] Case 3 [ 4, 9, 5, 3, 2, 9, 9] Case 4 [ 3, 5, 2, 4, 2, 8, 0] Case 5 [ 6, 4, 6, 1, 9, 6, 7] Case 6 [ 10, 15, 12, 17, 14, 21, 13] Table 2: Number of messages in three approaches No. of messages Index Centralized Distributed Hybrid Case Case Case Case Case Case Table 3: Load on coordinator Load/Coordinator Index (No. of messages) Centralized Distributed Hybrid Case Case Case Case Case Case Number of messages per entry to CS in hybrid approach: Suppose we have total N number of processes which are divided into n groups. For each entry to CS, the algorithm requires one Request, one Acknowledgement, one Reply, one Release, (n-1) REQUEST, (n 1) ACKNOWLEDGEMENT, and (n 1) OK messages. So total number of messages required, M = (3n + 1) (1) According to the above calculation we can find that, the less the number of groups the less the number of messages required. It may be noticed that when n = 1, the number of messages is the lowest (Actually then it converges to centralized approach). But the problem is that, the load on coordinator will be the highest, which causes performance bottleneck for coordinator for large systems. If we assume that on average every group has c number of processes, N = n * c. In our hybrid approach a coordinator can receive messages from its local group members and from other coordinators. At an instance of time one coordinator may face (n 1 + c) messages whereas in centralized system the coordinator may face (N 1) messages and in distributed system one process may face (N 1) messages. It may be noted that, for even distribution of load on coordinators in hybrid approach, each group should have equal number of processes. So load on coordinator in hybrid approach, L = (n 1) + c = (n 1 + N / n) (2) From (2) it can be seen that, the higher the number of groups, the lower the load on coordinator. Solving (1) and (2), for optimal results, we find that numbers of groups should be 0.7 * N. 5 Conclusion With respect to the traditional algorithms for achieving mutual exclusion in distributed systems, our algorithm is more fault-tolerant; because it can tolerate the crash failure of a coordinator process of any group. But, still it would not tolerate the loss of messages, if the channels are unreliable. So, there are some future scopes to adapt this algorithm to tolerate failures for the lost messages, on the assumption that a reliable failure detector is available and even with a reliable failure detector, care must be required to allow for failures at any point (including failures during a recovery procedure), and to reconstruct the state of the processes after a failure has been detected. References: [1] Coulouris, G., Dollimore, J., and Kindberg, T., Distributed Systems Concepts and Design, Pearson Education, pp (2003). [2] Garg, V. K., Principles of Distributed System, Kluwer Academic, Norwell, MA (1996).

6 [3] Goscinski, A., Distributed Operating Systems, The Logical Design, Addison-Wesley, Reading, MA (1991). [4] Ricart, G., and Agrawala, A. K., An Optimal Algorithm for Mutual Exclusion in Computer Networks, Communications of the ACM, Vol. 24, No. 1, pp (1981). [5] Silberschatz, A., Galvin, P. B., and Gagne, G., Operating System Concepts, John Wiley & Sons Inc., pp (2002). [6] Sinha, P. K., Distributed Operating Systems Concepts and Design, Prentice-Hall of India Private Limited, pp (March 2002). [7] Tanenbaum, A. S., Modern Operating Systems, Pearson Education Asia, 2 nd Edn. (2001). [8] Tanenbaum, A. S., Distributed Operating Systems, Pearson Education (Singapore) Pte. Ltd. (2002). [9] Tanenbaum, A. S., and Steen, M. v., Distributed Systems Principles and Paradigms, Prentice-Hall of India Private Limited, pp (July 2003). [10] Tanenbaum, A. S., and van Renesse, R., Distributed Operating Systems, Computer Surveys, ACM, Vol. 17, No. 4, pp , [11] Lynch, N., Distributed Algorithms, Morgan Kaufmann (1996). [12] Agarwal, D., and El Abbadi, A., An Efficient and Fault-Tolerant Solution of Distributed Mutual Exclusion, ACM Transactions on Computer Systems, Vol. 9, Association for Computing Machinery, New York, pp (1991). [13] Bulgannawar, S., and Vaidya, N. H., Distributed K-Mutual Exclusion, In: Proceedings of the 15th International Conference on Distributed Computing Systems, IEEE, New York (May June 1995). [14] Carvalho, O. S. F., and Roucairol, G., On Mutual Exclusion in Computer Networks, Communications of the ACM, Vol. 26, No. 2. Association for Computing Machinery, New York, pp (1983). [15] Raynal, M., A Simple Taxonomy for Distributed Mutual Exclusion Algorithms, ACM Operating Systems Review, Vol. 25, pp (1991). [16] Ricart, G., and Agrawala, A. K., An Optimal Algorithm for Mutual Exclusion in Computer Networks, Communications of the ACM, Vol. 24, No. 1, pp (1981). [17] Sanders, B. A., The Information Structure of Distributed Mutual Exclusion, ACM Transactions on Computer Systems, Vol. 5, pp (1987). [18] Suzuki, I., and Kasami, T., A Distributed Mutual Exclusion Algorithm, ACM Transactions on Computer Systems, Vol. 3, No. 4, pp (1985). [19] Mamun, Q. E. K., Masum, S. M., Mustafa, M. A. R., Modified Bully Algorithm for Electing Coordinator in Distributed Systems, In: Proceedings of the 3 rd WSEAS International Conference on Software Engineering, Parallel and Distributed Systems, Salzburg, Austria (February 2004). [20] Tel, G., Introduction to Distributed Algorithms, Cambridge University Press, New York, NY (1994). [21] Maekawa, M., A Algorithm for Mutual Exclusion in Decentralized Systems, ACM Transaction on Computer Systems, Vol. 3, No. 2, pp (1985). [22] Maekawa, M., Oldehoeft, A. E., and Oldehoeft, R. R., Operating Systems: Advanced Concepts, Benjamin/Cummings, White Plains, NY (1987). [23] Stalling, W., Operating Systems: Internals and Design Principles, 4 th edn., Pearson Education, (Singapore) Pte. Ltd., 2003.

Election Administration Algorithm for Distributed Computing

Election Administration Algorithm for Distributed Computing I J E E E C International Journal of Electrical, Electronics and Computer Engineering 1(2): 1-6(2012) Election Administration Algorithm for Distributed Computing SK Gandhi* and Pawan Kumar Thakur* **Department

More information

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Frequently asked questions from the previous class survey

CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Frequently asked questions from the previous class survey CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Shrideep Pallickara Computer Science Colorado State University L23.1 Frequently asked questions from the previous class survey

More information

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Frequently asked questions from the previous class survey Yes. But what really is a second? 1 second ==time for a cesium 133 atom

More information

Coordination and Agreement

Coordination 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 information

Distributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201

Distributed 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 information

Process Synchroniztion Mutual Exclusion & Election Algorithms

Process Synchroniztion Mutual Exclusion & Election Algorithms Process Synchroniztion Mutual Exclusion & Election Algorithms Paul Krzyzanowski Rutgers University November 2, 2017 1 Introduction Process synchronization is the set of techniques that are used to coordinate

More information

Distributed Systems (5DV147)

Distributed Systems (5DV147) Distributed Systems (5DV147) Mutual Exclusion and Elections Fall 2013 1 Processes often need to coordinate their actions Which rocess gets to access a shared resource? Has the master crashed? Elect a new

More information

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q Coordination 1 To do q q q Mutual exclusion Election algorithms Next time: Global state Coordination and agreement in US Congress 1798-2015 Process coordination How can processes coordinate their action?

More information

Mutual Exclusion. A Centralized Algorithm

Mutual Exclusion. A Centralized Algorithm Mutual Exclusion Processes in a distributed system may need to simultaneously access the same resource Mutual exclusion is required to prevent interference and ensure consistency We will study three algorithms

More information

Frequently asked questions from the previous class survey

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 L22.1 Frequently asked questions from the previous

More information

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

CS455: 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 information

Synchronization Part 2. REK s adaptation of Claypool s adaptation oftanenbaum s Distributed Systems Chapter 5 and Silberschatz Chapter 17

Synchronization Part 2. REK s adaptation of Claypool s adaptation oftanenbaum s Distributed Systems Chapter 5 and Silberschatz Chapter 17 Synchronization Part 2 REK s adaptation of Claypool s adaptation oftanenbaum s Distributed Systems Chapter 5 and Silberschatz Chapter 17 1 Outline Part 2! Clock Synchronization! Clock Synchronization Algorithms!

More information

An Efficient Approach of Election Algorithm in Distributed Systems

An Efficient Approach of Election Algorithm in Distributed Systems An Efficient Approach of Election Algorithm in Distributed Systems SANDIPAN BASU Post graduate Department of Computer Science, St. Xavier s College, 30 Park Street (30 Mother Teresa Sarani), Kolkata 700016,

More information

DISTRIBUTED MUTEX. EE324 Lecture 11

DISTRIBUTED MUTEX. EE324 Lecture 11 DISTRIBUTED MUTEX EE324 Lecture 11 Vector Clocks Vector clocks overcome the shortcoming of Lamport logical clocks L(e) < L(e ) does not imply e happened before e Goal Want ordering that matches causality

More information

Distributed Synchronization. EECS 591 Farnam Jahanian University of Michigan

Distributed Synchronization. EECS 591 Farnam Jahanian University of Michigan Distributed Synchronization EECS 591 Farnam Jahanian University of Michigan Reading List Tanenbaum Chapter 5.1, 5.4 and 5.5 Clock Synchronization Distributed Election Mutual Exclusion Clock Synchronization

More information

CSE 486/586 Distributed Systems

CSE 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 information

PROCESS SYNCHRONIZATION

PROCESS SYNCHRONIZATION DISTRIBUTED COMPUTER SYSTEMS PROCESS SYNCHRONIZATION Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Process Synchronization Mutual Exclusion Algorithms Permission Based Centralized

More information

Several of these problems are motivated by trying to use solutiions used in `centralized computing to distributed computing

Several 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 information

A Dag-Based Algorithm for Distributed Mutual Exclusion. Kansas State University. Manhattan, Kansas maintains [18]. algorithms [11].

A Dag-Based Algorithm for Distributed Mutual Exclusion. Kansas State University. Manhattan, Kansas maintains [18]. algorithms [11]. A Dag-Based Algorithm for Distributed Mutual Exclusion Mitchell L. Neilsen Masaaki Mizuno Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506 Abstract The paper

More information

Distributed Systems - II

Distributed Systems - II CSE 421/521 - Operating Systems Fall 201 Lecture - XXV Distributed Systems - II Tevfik Koşar University at Buffalo December 3 rd, 2013 1 Distributed Mutual Exclusion (DME) Assumptions The system consists

More information

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [ELECTION ALGORITHMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Does a process

More information

Homework #2 Nathan Balon CIS 578 October 31, 2004

Homework #2 Nathan Balon CIS 578 October 31, 2004 Homework #2 Nathan Balon CIS 578 October 31, 2004 1 Answer the following questions about the snapshot algorithm: A) What is it used for? It used for capturing the global state of a distributed system.

More information

Slides for Chapter 15: Coordination and Agreement

Slides for Chapter 15: Coordination and Agreement Slides for Chater 15: Coordination and Agreement From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concets and Design Edition 5, Addison-Wesley 2012 Overview of Chater Introduction Distributed

More information

Last Class: Clock Synchronization. Today: More Canonical Problems

Last 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 information

Chapter 6 Synchronization (2)

Chapter 6 Synchronization (2) DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 6 Synchronization (2) Plan Clock synchronization in distributed systems Physical clocks Logical

More information

Study of various Election algorithms on the basis of messagepassing

Study of various Election algorithms on the basis of messagepassing IOSR Journal of Computer Engineering (IOSRJCE) ISSN: 2278-0661, ISBN: 2278-8727Volume 8, Issue 1 (Nov. - Dec. 2012), PP 23-27 Study of various Election algorithms on the basis of messagepassing approach

More information

Chapter 16: Distributed Synchronization

Chapter 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 information

Event Ordering Silberschatz, Galvin and Gagne. Operating System Concepts

Event 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 information

Chapter 18: Distributed

Chapter 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 information

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

Clock 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 information

A Synchronization Algorithm for Distributed Systems

A Synchronization Algorithm for Distributed Systems A Synchronization Algorithm for Distributed Systems Tai-Kuo Woo Department of Computer Science Jacksonville University Jacksonville, FL 32211 Kenneth Block Department of Computer and Information Science

More information

FAULT TOLERANT LEADER ELECTION IN DISTRIBUTED SYSTEMS

FAULT TOLERANT LEADER ELECTION IN DISTRIBUTED SYSTEMS FAULT TOLERANT LEADER ELECTION IN DISTRIBUTED SYSTEMS Marius Rafailescu The Faculty of Automatic Control and Computers, POLITEHNICA University, Bucharest ABSTRACT There are many distributed systems which

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [THREADS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Shuffle less/shuffle better Which actions?

More information

A DAG-BASED ALGORITHM FOR DISTRIBUTED MUTUAL EXCLUSION ATHESIS MASTER OF SCIENCE

A DAG-BASED ALGORITHM FOR DISTRIBUTED MUTUAL EXCLUSION ATHESIS MASTER OF SCIENCE A DAG-BASED ALGORITHM FOR DISTRIBUTED MUTUAL EXCLUSION by Mitchell L. Neilsen ATHESIS submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE Department of Computing and Information

More information

Lecture 2: Leader election algorithms.

Lecture 2: Leader election algorithms. Distributed Algorithms M.Tech., CSE, 0 Lecture : Leader election algorithms. Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual scrutiny reserved for

More information

Verteilte Systeme/Distributed Systems Ch. 5: Various distributed algorithms

Verteilte 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 information

Synchronization. Chapter 5

Synchronization. Chapter 5 Synchronization Chapter 5 Clock Synchronization In a centralized system time is unambiguous. (each computer has its own clock) In a distributed system achieving agreement on time is not trivial. (it is

More information

Distributed Systems Coordination and Agreement

Distributed Systems Coordination and Agreement Distributed Systems Coordination and Agreement Allan Clark School of Informatics University of Edinburgh http://www.inf.ed.ac.uk/teaching/courses/ds Autumn Term 2012 Coordination and Agreement Overview

More information

Designing Issues For Distributed Computing System: An Empirical View

Designing Issues For Distributed Computing System: An Empirical View ISSN: 2278 0211 (Online) Designing Issues For Distributed Computing System: An Empirical View Dr. S.K Gandhi, Research Guide Department of Computer Science & Engineering, AISECT University, Bhopal (M.P),

More information

Chapter 6 Synchronization

Chapter 6 Synchronization DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 6 Synchronization Clock Synchronization Figure 6-1. When each machine has its own clock, an event

More information

CSE 5306 Distributed Systems. Synchronization

CSE 5306 Distributed Systems. Synchronization CSE 5306 Distributed Systems Synchronization 1 Synchronization An important issue in distributed system is how processes cooperate and synchronize with one another Cooperation is partially supported by

More information

Distributed Mutual Exclusion

Distributed Mutual Exclusion Distributed Mutual Exclusion Mutual Exclusion Well-understood in shared memory systems Requirements: at most one process in critical section (safety) if more than one requesting process, someone enters

More information

Concurrent & Distributed 7Systems Safety & Liveness. Uwe R. Zimmer - The Australian National University

Concurrent & Distributed 7Systems Safety & Liveness. Uwe R. Zimmer - The Australian National University Concurrent & Distributed 7Systems 2017 Safety & Liveness Uwe R. Zimmer - The Australian National University References for this chapter [ Ben2006 ] Ben-Ari, M Principles of Concurrent and Distributed Programming

More information

SYNCHRONIZATION. DISTRIBUTED SYSTEMS Principles and Paradigms. Second Edition. Chapter 6 ANDREW S. TANENBAUM MAARTEN VAN STEEN

SYNCHRONIZATION. DISTRIBUTED SYSTEMS Principles and Paradigms. Second Edition. Chapter 6 ANDREW S. TANENBAUM MAARTEN VAN STEEN DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN واحد نجف آباد Chapter 6 SYNCHRONIZATION Dr. Rastegari - Email: rastegari@iaun.ac.ir - Tel: +98331-2291111-2488

More information

Distributed Mutual Exclusion Algorithms

Distributed Mutual Exclusion Algorithms Chapter 9 Distributed Mutual Exclusion Algorithms 9.1 Introduction Mutual exclusion is a fundamental problem in distributed computing systems. Mutual exclusion ensures that concurrent access of processes

More information

Synchronization Part II. CS403/534 Distributed Systems Erkay Savas Sabanci University

Synchronization Part II. CS403/534 Distributed Systems Erkay Savas Sabanci University Synchronization Part II CS403/534 Distributed Systems Erkay Savas Sabanci University 1 Election Algorithms Issue: Many distributed algorithms require that one process act as a coordinator (initiator, etc).

More information

CMPSCI 677 Operating Systems Spring Lecture 14: March 9

CMPSCI 677 Operating Systems Spring Lecture 14: March 9 CMPSCI 677 Operating Systems Spring 2014 Lecture 14: March 9 Lecturer: Prashant Shenoy Scribe: Nikita Mehra 14.1 Distributed Snapshot Algorithm A distributed snapshot algorithm captures a consistent global

More information

International Journal of Computer Engineering and Applications, Volume XII, Issue I, Jan. 18, ISSN

International Journal of Computer Engineering and Applications, Volume XII, Issue I, Jan. 18,   ISSN A PRIORITY AND REQUEST BASED MUTUAL EXCLUSION ALGORITHM FOR DISTRIBUTED SYSTEM Soumik Guha Roy 1, Sowvik Dey 2, Joy Samadder 3 1, 2, 3 Assistant Professor, Department of Computer Science & Engineering

More information

Enhanced Bully Algorithm for Leader Node Election in Synchronous Distributed Systems

Enhanced Bully Algorithm for Leader Node Election in Synchronous Distributed Systems Computers 2012, 1, 3-23; doi:10.3390/computers1010003 Article OPEN ACCESS computers ISSN 2073-431X www.mdpi.com/journal/computers Enhanced Bully Algorithm for Leader Node Election in Synchronous Distributed

More information

Distributed Operating Systems. Distributed Synchronization

Distributed 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 information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [LOGICAL CLOCKS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey What happens in a cluster when 2 machines

More information

殷亚凤. Synchronization. Distributed Systems [6]

殷亚凤. 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 information

Safety & Liveness Towards synchronization. Safety & Liveness. where X Q means that Q does always hold. Revisiting

Safety & Liveness Towards synchronization. Safety & Liveness. where X Q means that Q does always hold. Revisiting 459 Concurrent & Distributed 7 Systems 2017 Uwe R. Zimmer - The Australian National University 462 Repetition Correctness concepts in concurrent systems Liveness properties: ( P ( I )/ Processes ( I, S

More information

Access time based on initial head position in disk scheduling

Access time based on initial head position in disk scheduling Access time based on initial head position in disk scheduling Mr. Naresh Janwa M.Tech. Scholar Computer Science & Engineering Mewar University, Gangrar Chittorgarh - 312901 Naresh.janwa@gmail.com Mr. B.L.

More information

A Fast Group Communication Mechanism for Large Scale Distributed Objects 1

A Fast Group Communication Mechanism for Large Scale Distributed Objects 1 A Fast Group Communication Mechanism for Large Scale Distributed Objects 1 Hojjat Jafarpour and Nasser Yazdani Department of Electrical and Computer Engineering University of Tehran Tehran, Iran hjafarpour@ece.ut.ac.ir,

More information

Distributed Deadlocks. Prof. Ananthanarayana V.S. Dept. of Information Technology N.I.T.K., Surathkal

Distributed Deadlocks. Prof. Ananthanarayana V.S. Dept. of Information Technology N.I.T.K., Surathkal Distributed Deadlocks Prof. Ananthanarayana V.S. Dept. of Information Technology N.I.T.K., Surathkal Objectives of This Module In this module different kind of resources, different kind of resource request

More information

Synchronization (contd.)

Synchronization (contd.) Outline Synchronization (contd.) http://net.pku.edu.cn/~course/cs501/2008 Hongfei Yan School of EECS, Peking University 3/17/2008 Mutual Exclusion Permission-based Token-based Election Algorithms The Bully

More information

Module 7 - Replication

Module 7 - Replication Module 7 - Replication Replication Why replicate? Reliability Avoid single points of failure Performance Scalability in numbers and geographic area Why not replicate? Replication transparency Consistency

More information

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SUBJECT: (IT 4.1.3) ADVANCED OPERATING SYSTEM CLASS: 4/4 B.Tech. I SEMESTER, A.Y.2017-18 INSTRUCTOR: CHALLA

More information

Operating Systems. Deadlocks. Stephan Sigg. November 30, Distributed and Ubiquitous Systems Technische Universität Braunschweig

Operating Systems. Deadlocks. Stephan Sigg. November 30, Distributed and Ubiquitous Systems Technische Universität Braunschweig Operating Systems Deadlocks Stephan Sigg Distributed and Ubiquitous Systems Technische Universität Braunschweig November 30, 2010 Stephan Sigg Operating Systems 1/86 Overview and Structure Introduction

More information

Middleware and Interprocess Communication

Middleware and Interprocess Communication Middleware and Interprocess Communication Reading Coulouris (5 th Edition): 41 4.1, 42 4.2, 46 4.6 Tanenbaum (2 nd Edition): 4.3 Spring 2015 CS432: Distributed Systems 2 Middleware Outline Introduction

More information

UNIT-3 DEADLOCKS DEADLOCKS

UNIT-3 DEADLOCKS DEADLOCKS UNIT-3 DEADLOCKS Deadlocks: System Model - Deadlock Characterization - Methods for Handling Deadlocks - Deadlock Prevention. Deadlock Avoidance - Deadlock Detection - Recovery from Deadlock DEADLOCKS Definition:

More information

Synchronization. Clock Synchronization

Synchronization. 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 information

Distributed Systems COMP 212. Lecture 1 Othon Michail

Distributed Systems COMP 212. Lecture 1 Othon Michail Distributed Systems COMP 212 Lecture 1 Othon Michail Course Information Lecturer: Othon Michail Office 2.14 Holt Building Module Website: http://csc.liv.ac.uk/~michailo/teaching/comp212 VITAL may be used

More information

The Information Structure of Distributed Mutual Exclusion Algorithms

The Information Structure of Distributed Mutual Exclusion Algorithms The Information Structure of Distributed Mutual Exclusion Algorithms BEVERLY A. SANDERS University of Maryland The concept of an information structure is introduced as a unifying principle behind several

More information

Fig Bridge crossing - deadlock

Fig Bridge crossing - deadlock e-pg Pathshala Subject: Computer Science Paper: Operating Systems Module 16: Deadlocks Introduction Module No: CS/OS/16 Quadrant 1 e-text 16.1 Introduction Any system has many processes and a number of

More information

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech Advanced Topics in Distributed Systems Dr. Ayman A. Abdel-Hamid Computer Science Department Virginia Tech Synchronization (Based on Ch6 in Distributed Systems: Principles and Paradigms, 2/E) Synchronization

More information

SIMULATION-BASED COMPARISON OF SCHEDULING TECHNIQUES IN MULTIPROGRAMMING OPERATING SYSTEMS ON SINGLE AND MULTI-CORE PROCESSORS *

SIMULATION-BASED COMPARISON OF SCHEDULING TECHNIQUES IN MULTIPROGRAMMING OPERATING SYSTEMS ON SINGLE AND MULTI-CORE PROCESSORS * SIMULATION-BASED COMPARISON OF SCHEDULING TECHNIQUES IN MULTIPROGRAMMING OPERATING SYSTEMS ON SINGLE AND MULTI-CORE PROCESSORS * Hala ElAarag, David Bauschlicher, and Steven Bauschlicher Department of

More information

Distributed Systems COMP 212. Lecture 1 Othon Michail

Distributed Systems COMP 212. Lecture 1 Othon Michail Distributed Systems COMP 212 Lecture 1 Othon Michail Course Information Lecturer: Othon Michail Office 2.14 Holt Building http://csc.liv.ac.uk/~michailo/teaching/comp2 12 Structure 30 Lectures + 10 lab

More information

A Novel Approach to Allow Process into Critical Section with no delay-time

A Novel Approach to Allow Process into Critical Section with no delay-time A Novel Approach to Allow Process into Critical Section with no delay-time 1 Pradosh Chandra Pattnaik, 2 Md Shafakhatullah Khan, 3 Vsv Mallikharjuna Rao 1,2 Dept of IT & CA, Aurora s Engineering College,

More information

Distributed Systems COMP 212. Lecture 1 Othon Michail

Distributed Systems COMP 212. Lecture 1 Othon Michail Distributed Systems COMP 212 Lecture 1 Othon Michail Course Information Lecturer: Othon Michail Office 2.14 Holt Building http://csc.liv.ac.uk/~michailo/teaching/comp2 12 Structure 30 Lectures + 10 lab

More information

Operating Systems. Mutual Exclusion in Distributed Systems. Lecturer: William Fornaciari

Operating Systems. Mutual Exclusion in Distributed Systems. Lecturer: William Fornaciari Politecnico di Milano Operating Systems Mutual Exclusion in Distributed Systems Lecturer: William Fornaciari Politecnico di Milano fornacia@elet.polimi.it www.elet.polimi.it/~fornacia William Fornaciari

More information

QARS for Self Reconfiguration Mechanism in Wireless Mesh Networks

QARS for Self Reconfiguration Mechanism in Wireless Mesh Networks QARS for Self Reconfiguration Mechanism in Wireless Mesh Networks A.Melveena, D.Ramya Dorai Abstract Wireless mesh networks (WMNs) are being developed actively and deployed widely for a variety of applications.

More information

e-pg Pathshala Subject: Computer Science Paper: Operating Systems Module 29: Allocation of Frames, Thrashing Module No: CS/OS/29 Quadrant 1 e-text

e-pg Pathshala Subject: Computer Science Paper: Operating Systems Module 29: Allocation of Frames, Thrashing Module No: CS/OS/29 Quadrant 1 e-text 29.1 Introduction e-pg Pathshala Subject: Computer Science Paper: Operating Systems Module 29: Allocation of Frames, Thrashing Module No: CS/OS/29 Quadrant 1 e-text In an earlier module, we learnt what

More information

Distributed Information Processing

Distributed Information Processing Distributed Information Processing 14 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved Outline

More information

Specifying and Proving Broadcast Properties with TLA

Specifying and Proving Broadcast Properties with TLA Specifying and Proving Broadcast Properties with TLA William Hipschman Department of Computer Science The University of North Carolina at Chapel Hill Abstract Although group communication is vitally important

More information

Exam 2 Review. Fall 2011

Exam 2 Review. Fall 2011 Exam 2 Review Fall 2011 Question 1 What is a drawback of the token ring election algorithm? Bad question! Token ring mutex vs. Ring election! Ring election: multiple concurrent elections message size grows

More information

Roadmap. Deadlock Prevention. Deadlock Prevention (Cont.) Deadlock Detection. Exercise. Tevfik Koşar. CSE 421/521 - Operating Systems Fall 2012

Roadmap. Deadlock Prevention. Deadlock Prevention (Cont.) Deadlock Detection. Exercise. Tevfik Koşar. CSE 421/521 - Operating Systems Fall 2012 CSE 421/521 - Operating Systems Fall 2012 Roadmap Lecture - XI Deadlocks - II Deadlocks Deadlock Prevention Deadlock Detection Deadlock Recovery Deadlock Avoidance Tevfik Koşar University at Buffalo October

More information

Module 8 Fault Tolerance CS655! 8-1!

Module 8 Fault Tolerance CS655! 8-1! Module 8 Fault Tolerance CS655! 8-1! Module 8 - Fault Tolerance CS655! 8-2! Dependability Reliability! A measure of success with which a system conforms to some authoritative specification of its behavior.!

More information

Time and Coordination in Distributed Systems. Operating Systems

Time and Coordination in Distributed Systems. Operating Systems Time and Coordination in Distributed Systems Oerating Systems Clock Synchronization Physical clocks drift, therefore need for clock synchronization algorithms Many algorithms deend uon clock synchronization

More information

CS 454/654 Distributed Systems. Course Objective

CS 454/654 Distributed Systems. Course Objective CS454/654 Distributed Systems M. Tamer Özsu DC 3350 tozsu@uwaterloo.ca Course Objective This course provides an introduction to the fundamentals of distributed computer systems, assuming the availability

More information

Sigma: A Fault-Tolerant Mutual Exclusion Algorithm in Dynamic Distributed Systems Subject to Process Crashes and Memory Losses

Sigma: A Fault-Tolerant Mutual Exclusion Algorithm in Dynamic Distributed Systems Subject to Process Crashes and Memory Losses Sigma: A Fault-Tolerant Mutual Exclusion Algorithm in Dynamic Distributed Systems Subject to Process Crashes and Memory Losses Wei Chen Shi-Ding Lin Qiao Lian Zheng Zhang Microsoft Research Asia {weic,

More information

Department of Computer Science & Engineering Indian Institute of Technology Patna CS701 DISTRIBUTED SYSTEMS AND ALGORITHMS

Department of Computer Science & Engineering Indian Institute of Technology Patna CS701 DISTRIBUTED SYSTEMS AND ALGORITHMS CS701 DISTRIBUTED SYSTEMS AND ALGORITHMS 3-0-0-6 Basic concepts. Models of computation: shared memory and message passing systems, synchronous and asynchronous systems. Logical time and event ordering.

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [DEADLOCKS] Shrideep Pallickara Computer Science Colorado State University L16.1 Frequently asked questions from the previous class survey Exponential Moving Average Is the α

More information

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems CSE 5306 Distributed Systems Synchronization Jia Rao http://ranger.uta.edu/~jrao/ 1 Synchronization An important issue in distributed system is how process cooperate and synchronize with one another Cooperation

More information

11/7/2018. Event Ordering. Module 18: Distributed Coordination. Distributed Mutual Exclusion (DME) Implementation of. DME: Centralized Approach

11/7/2018. Event Ordering. Module 18: Distributed Coordination. Distributed Mutual Exclusion (DME) Implementation of. DME: Centralized Approach Module 18: Distributed Coordination Event Ordering Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election Algorithms Reaching Agreement Happened-before relation (denoted

More information

Last Class: Clock Synchronization. Today: More Canonical Problems

Last Class: Clock Synchronization. Today: More Canonical Problems Last Class: Clock Synchronization Logical clocks Vector clocks Global state Lecture 11, page 1 Today: More Canonical Problems Distributed snapshot and termination detection Election algorithms Bully algorithm

More information

An Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation

An Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation 230 The International Arab Journal of Information Technology, Vol. 6, No. 3, July 2009 An Empirical Performance Study of Connection Oriented Time Warp Parallel Simulation Ali Al-Humaimidi and Hussam Ramadan

More information

Algorithms and protocols for distributed systems

Algorithms and protocols for distributed systems Algorithms and protocols for distributed systems We have defined process groups as having peer or hierarchical structure and have seen that a coordinator may be needed to run a protocol such as 2PC. With

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 05 (version 16th May 2006) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20. Tel:

More information

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 2016 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 Question 1 Why does it not make sense to use TCP (Transmission Control Protocol) for the Network Time Protocol (NTP)?

More information

A Token Based Distributed Mutual Exclusion Algorithm based on Quorum Agreements

A Token Based Distributed Mutual Exclusion Algorithm based on Quorum Agreements A Token Based Distributed Mutual Exclusion Algorithm based on Quorum Agreements hlasaaki Mizuno* Mitchell L. Neilsen Raghavra Rao Department of Computing and Information Sciences Kansas State University

More information

Mutual Exclusion in DS

Mutual 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 information

Comp 204: Computer Systems and Their Implementation. Lecture 9: Deadlock

Comp 204: Computer Systems and Their Implementation. Lecture 9: Deadlock Comp 204: Computer Systems and Their Implementation Lecture 9: Deadlock 1 Today Deadlock Definition Resource allocation graphs Detecting and dealing with deadlock 2 Deadlock When two trains approach each

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK II SEMESTER CP7204 Advanced Operating Systems Regulation 2013 Academic Year

More information

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis Middleware and Distributed Systems System Models Dr. Martin v. Löwis System Models (Coulouris et al.) Architectural models of distributed systems placement of parts and relationships between them e.g.

More information

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition

Chapter 7: Deadlocks. Operating System Concepts 9 th Edition Chapter 7: Deadlocks Silberschatz, Galvin and Gagne 2013 Chapter 7: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection

More information

Distributed Information Processing

Distributed Information Processing Distributed Information Processing 5 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2017 Eom, Hyeonsang All Rights Reserved Outline

More information

Outlook. Deadlock Characterization Deadlock Prevention Deadlock Avoidance

Outlook. Deadlock Characterization Deadlock Prevention Deadlock Avoidance Deadlocks Outlook Deadlock Characterization Deadlock Prevention Deadlock Avoidance Deadlock Detection and Recovery e 2 Deadlock Characterization 3 Motivation System owns many resources of the types Memory,

More information