A Two-Layer Hybrid Algorithm for Achieving Mutual Exclusion in Distributed Systems
|
|
- Magnus Lester
- 6 years ago
- Views:
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
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 informationCS 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 informationCS455: 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 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 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 informationProcess 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 informationDistributed 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 informationCoordination 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 informationMutual 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 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 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 informationSynchronization 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 informationAn 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 informationDISTRIBUTED 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 informationDistributed 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 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 informationPROCESS 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 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 informationA 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 informationDistributed 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 informationCS455: 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 informationHomework #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 informationSlides 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 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 informationChapter 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 informationStudy 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 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 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 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 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 informationA 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 informationFAULT 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 informationCS555: 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 informationA 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 informationLecture 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 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 informationSynchronization. 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 informationDistributed 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 informationDesigning 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 informationChapter 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 informationCSE 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 informationDistributed 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 informationConcurrent & 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 informationSYNCHRONIZATION. 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 informationDistributed 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 informationSynchronization 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 informationCMPSCI 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 informationInternational 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 informationEnhanced 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 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 informationCS555: 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] 殷亚凤 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 informationSafety & 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 informationAccess 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 informationA 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 informationDistributed 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 informationSynchronization (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 informationModule 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 informationSIR 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 informationOperating 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 informationMiddleware 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 informationUNIT-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 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 informationDistributed 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 informationThe 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 informationFig 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 informationAdvanced 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 informationSIMULATION-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 informationDistributed 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 informationA 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 informationDistributed 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 informationOperating 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 informationQARS 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 informatione-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 informationDistributed 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 informationSpecifying 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 informationExam 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 informationRoadmap. 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 informationModule 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 informationTime 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 informationCS 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 informationSigma: 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 informationDepartment 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 informationFrequently 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 informationCSE 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 information11/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 informationLast 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 informationAn 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 informationAlgorithms 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 informationDistributed 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 informationDistributed 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 informationA 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 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 informationComp 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 informationChapter 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 informationVALLIAMMAI 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 informationMiddleware 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 informationChapter 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 informationDistributed 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 informationOutlook. 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