A Dynamic Distributed Algorithm for Read Write Locks
|
|
- Naomi Malone
- 5 years ago
- Views:
Transcription
1 A Dynamic Distributed Algorithm for Read Write Locks Soumeya Leila Hernane 1,2,3 Jens Gustedt 3 Mohamed Benyettou 1 1 University of Science and Technology of Oran USTO, Algeria 2 Lorraine University, France 3 AlGorille INRIA Grand-Est & LORIA Nancy France inputs/logoinri AlGorille inputs/logoloria 1 /
2 Outline 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 2 /
3 Outline Motivation 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 3 /
4 Outline Motivation Mutual exclusion algorithms 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 4 /
5 Motivation Mutual exclusion algorithms Mutual exclusion algorithms Permission based (Lamport [2], Maekawa [3], Ricart Agrawala [7]) The possession of a token which is passed between nodes ( [4], Raymond [6]). Naimi-Trehel [4] based on path reversal is the benchmark for mutual exclusion. Symbol of critical section Cs inputs/logoinri AlGorille inputs/logoloria 5 /
6 Outline Motivation The bases of Naimi-Trehel Algorithm [5] 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 6 /
7 Mutual exclusion Motivation The bases of Naimi-Trehel Algorithm [5] Naimi-Trehel Algorithm Logical dynamic tree structure. Root of the tree The last that requested the token. Distributed queue of waiting requests (FIFO strategy) Contributions Allow departure of processes. Include shared token for successive readers. inputs/logoinri AlGorille inputs/logoloria 7 /
8 Mutual exclusion Motivation The bases of Naimi-Trehel Algorithm [5] Naimi-Trehel Algorithm Logical dynamic tree structure. Root of the tree The last that requested the token. Distributed queue of waiting requests (FIFO strategy) Contributions Allow departure of processes. Include shared token for successive readers. inputs/logoinri AlGorille inputs/logoloria 7 /
9 Mutual exclusion Motivation The bases of Naimi-Trehel Algorithm [5] Naimi-Trehel Algorithm Logical dynamic tree structure. Root of the tree The last that requested the token. Distributed queue of waiting requests (FIFO strategy) Contributions Allow departure of processes. Include shared token for successive readers. inputs/logoinri AlGorille inputs/logoloria 7 /
10 Mutual exclusion Motivation The bases of Naimi-Trehel Algorithm [5] Naimi-Trehel Algorithm Logical dynamic tree structure. Root of the tree The last that requested the token. Distributed queue of waiting requests (FIFO strategy) Contributions Allow departure of processes. Include shared token for successive readers. inputs/logoinri AlGorille inputs/logoloria 7 /
11 Outline Motivation Concurrency 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 8 /
12 Motivation Concurrency Concurrent requests in Naimi-Trehel s Algorithm Initial state inputs/logoinri AlGorille inputs/logoloria 9 /
13 Motivation Concurrency Concurrent requests in Naimi-Trehel s Algorithm p 3 requests the token inputs/logoinri AlGorille inputs/logoloria 9 /
14 Motivation Concurrency Concurrent requests in Naimi-Trehel s Algorithm p 2 and p 5 request the token inputs/logoinri AlGorille inputs/logoloria 9 /
15 Motivation Concurrency Concurrent requests in Naimi-Trehel s Algorithm p 2 and p 5 in transit inputs/logoinri AlGorille inputs/logoloria 9 /
16 Motivation Concurrency Concurrent requests in Naimi-Trehel s Algorithm p 5 in transit inputs/logoinri AlGorille inputs/logoloria 9 /
17 Motivation Concurrency Concurrent requests in Naimi-Trehel s Algorithm Completion of requests inputs/logoinri AlGorille inputs/logoloria 9 /
18 Outline Dynamic Mutual Exclusion Algorithm 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 10 /
19 Outline Dynamic Mutual Exclusion Algorithm New requirements 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 11 /
20 Dynamic Mutual Exclusion Algorithm New requirements New requirements New variables {p 1..p i 1, p i..p n } a finite set of processes Waiting queue of received requests Ack, boolean End of request Children, array of processes that have p i as parent Doubly linked Next,Previous list rather than Next chain Avoid overlapping of operations Either p i sends, either it receives request From parent to parent, p i sends request until the root is reached p i browses the same path and sends Ack Average message complexity of O(log(N)). inputs/logoinri AlGorille inputs/logoloria 12 /
21 Dynamic Mutual Exclusion Algorithm New requirements New requirements New variables {p 1..p i 1, p i..p n } a finite set of processes Waiting queue of received requests Ack, boolean End of request Children, array of processes that have p i as parent Doubly linked Next,Previous list rather than Next chain Avoid overlapping of operations Either p i sends, either it receives request From parent to parent, p i sends request until the root is reached p i browses the same path and sends Ack Average message complexity of O(log(N)). inputs/logoinri AlGorille inputs/logoloria 12 /
22 Dynamic Mutual Exclusion Algorithm States for handling requests New requirements Let T=(t 0,..., t n ) an ordered sequence of times with t i < t i+1 referring to requests reception by p i Let T ={..., t i,...} be the set of times of the acknowledgments of those registered requests t 0 < t 0 < t i < t i < t n < t n. Let State(p i, t) be the state of p i at time t SEND = false STATE(p i, t) = Idle REQ = Null WAIT ACK = false inputs/logoinri AlGorille inputs/logoloria 13 /
23 Dynamic Mutual Exclusion Algorithm States for handling requests New requirements Let T=(t 0,..., t n ) an ordered sequence of times with t i < t i+1 referring to requests reception by p i Let T ={..., t i,...} be the set of times of the acknowledgments of those registered requests t 0 < t 0 < t i < t i < t n < t n. Let State(p i, t) be the state of p i at time t SEND = false STATE(p i, t) = Busy REQ Null WAIT ACK = true inputs/logoinri AlGorille inputs/logoloria 13 /
24 Dynamic Mutual Exclusion Algorithm States for handling requests New requirements Let T=(t 0,..., t n ) an ordered sequence of times with t i < t i+1 referring to requests reception by p i Let T ={..., t i,...} be the set of times of the acknowledgments of those registered requests t 0 < t 0 < t i < t i < t n < t n. Let State(p i, t) be the state of p i at time t SEND = true STATE(p i, t) = Sending REQ = Null WAIT ACK = false inputs/logoinri AlGorille inputs/logoloria 13 /
25 Outline Dynamic Mutual Exclusion Algorithm Exit strategy 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 14 /
26 Departure Dynamic Mutual Exclusion Algorithm Exit strategy Conditions and actions Idle and Queue empty Children Leaving, Sending or Busy waits the its Next and its Previous The doubly linked list Next,Previous is shortcut p i sends either its parent or a new root elected among its children inputs/logoinri AlGorille inputs/logoloria 15 /
27 Dynamic Mutual Exclusion Algorithm Exit strategy New settings for the exit strategy New variables New boolean variables Exit and Leaving p i sets Exit and Leaving to true p i sets Leaving to false STATE(p i, t) = Exiting SEND = false REQ = Null WAIT ACK = false EXIT = true LEAVING = true inputs/logoinri AlGorille inputs/logoloria 16 /
28 Read Write Dynamic Mutual Exclusion Algorithm Outline 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 17 /
29 Outline Read Write Dynamic Mutual Exclusion Algorithm Read Write requests 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 18 /
30 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests New requirements for read requests Entering the CS Reading handler, the head of, successive read requesters Request Type, W or R. Next and Previous exchange their types Reader counter incremented by the Reading handler Next writer sets its Previous to the Reading handler inputs/logoinri AlGorille inputs/logoloria 19 /
31 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests New requirements for read requests Entering the CS Reading handler, the head of, successive read requesters Request Type, W or R. Next and Previous exchange their types Reader counter incremented by the Reading handler Next writer sets its Previous to the Reading handler inputs/logoinri AlGorille inputs/logoloria 19 /
32 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests New requirements for read requests Entering the CS Reading handler, the head of, successive read requesters Request Type, W or R. Next and Previous exchange their types Reader counter incremented by the Reading handler Next writer sets its Previous to the Reading handler inputs/logoinri AlGorille inputs/logoloria 19 /
33 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests New requirements for read requests Entering the CS Reading handler, the head of, successive read requesters Request Type, W or R. Next and Previous exchange their types Reader counter incremented by the Reading handler Next writer sets its Previous to the Reading handler 9 8 Cs Cs Cs Cs inputs/logoinri AlGorille inputs/logoloria 19 /
34 Outline Read Write Dynamic Mutual Exclusion Algorithm Departure of readers 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 20 /
35 Read Write Dynamic Mutual Exclusion Algorithm Departure of readers Other requirements for the dynamicity One reader at once can exit, the Reading handler is informed The Reading handler passes the Reader counter to its Next The Next becomes the new Reading handler The new Reading handler is forwarded to the reader chain p1 old Reading handler p3 new Reading handler inputs/logoinri AlGorille inputs/logoloria 21 /
36 Read Write Dynamic Mutual Exclusion Algorithm Departure of readers Other requirements for the dynamicity One reader at once can exit, the Reading handler is informed The Reading handler passes the Reader counter to its Next The Next becomes the new Reading handler The new Reading handler is forwarded to the reader chain p1 old Reading handler p3 new Reading handler inputs/logoinri AlGorille inputs/logoloria 21 /
37 Outline Current and future work 1 Motivation Mutual exclusion algorithms The bases of Naimi-Trehel Algorithm [5] Concurrency 2 Dynamic Mutual Exclusion Algorithm New requirements Exit strategy 3 Read Write Dynamic Mutual Exclusion Algorithm Read Write requests Departure of readers 4 Current and future work inputs/logoinri AlGorille inputs/logoloria 22 /
38 Current and future work Current and future work The proof of Safety and liveness properties Include our extended Algorithm to the DHO API [1] Provide an efficient management for locking and mapping data (and subranges of it) Undertake experiments of that model Simulated mode(gras API of SimGrid [8]) Large scale platform(grid inputs/logoinri AlGorille inputs/logoloria /
39 Current and future work Soumeya Hernane, Leila, Jens Gustedt, and Mohamed Benyettou. Modeling and Experimental Validation of the Data Handover API. In Jukko Riekki, Mika Ylianttila, and Minyi Guo, editors, Advances in Grid and Pervasive Computing, volume 6646 of LNCS, pages , Oulu, Finland, May Springer. Leslie Lamport. Ti clocks, and the ordering of events in a distributed system. Commun. ACM, 21: , July Mamoru Maekawa. An algorithm for mutual exclusion in decentralized systems. ACM Trans. Comput. Syst., 3: , May Mohamed Naimi and Michel Trehel. How to detect a failure and regenerate the token in the log(n) distributed algorithm for mutual exclusion. In Proceedings of the 2nd International Workshop on Distributed Algorithms, pages , London, UK, Springer-Verlag. inputs/logoinri AlGorille inputs/logoloria /
40 Current and future work Mohamed Naimi, Michel Trehel, and André Arnold. A log(n) distributed mutual exclusion algorithm based on path reversal. J. Parallel Distrib. Comput., 34:1 13, April Kerry Raymond. A tree-based algorithm for distributed mutual exclusion. ACM Transactions on Computer Systems, 7:61 77, Glenn Ricart and Ashok K. Agrawala. An optimal algorithm for mutual exclusion in computer networks. Commun. ACM, 24:9 17, January Pedro Velho and Arnaud Legrand. Accuracy study and improvement of network simulation in the SimGrid framework. In Simutools 09, pages 1 10, Brussels, Belgium, ICST. inputs/logoinri AlGorille inputs/logoloria /
A Dynamic Distributed Algorithm for Read Write Locks (extended abstract)
A Dynamic Distributed Algorithm for Read Write Locks (extended abstract) Soumeya Hernane, Jens Gustedt, Mohamed Benyettou To cite this version: Soumeya Hernane, Jens Gustedt, Mohamed Benyettou. A Dynamic
More informationData handover on a peer-to-peer system
Data handover on a peer-to-peer system Soumeya Leila Hernane, Jens Gustedt, Mohamed Benyettou To cite this version: Soumeya Leila Hernane, Jens Gustedt, Mohamed Benyettou. Data handover on a peer-to-peer
More informationByte-Range Asynchronous Locking in Distributed Settings
Byte-Range Asynchronous Locking in Distributed Settings Martin Quinson, Flavien Vernier To cite this version: Martin Quinson, Flavien Vernier. Byte-Range Asynchronous Locking in Distributed Settings. 7th
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 informationTransparent distributed data management in large scale distributed systems
Transparent distributed data management in large scale distributed systems Soumeya Leila Hernane, Jens Gustedt To cite this version: Soumeya Leila Hernane, Jens Gustedt. Transparent distributed data management
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 informationThe Prioritized and Distributed Synchronization in Distributed Groups
The Prioritized and Distributed Synchronization in Distributed Groups Michel Trehel and hmed Housni Université de Franche Comté, 16, route de Gray 25000 Besançon France, {trehel, housni} @lifc.univ-fcomte.fr
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 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 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 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 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 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 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 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 informationReducing synchronization cost in distributed multi-resource allocation problem
Reducing synchronization cost in distributed multi-resource allocation problem Jonathan Lejeune Ecole des Mines de Nantes EMN-Inria, LINA Nantes, France Email:jonathan.lejeune@mines-nantes.fr Luciana Arantes,
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 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 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 informationA Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 24, 573-583 (2008) Short Paper A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network VINAY MADENUR AND NEERAJ MITTAL + Internet Services Qualcomm,
More informationUsing Maekawa s Algorithm to Perform Distributed Mutual Exclusion in Quorums
Advances in Computing 2012, 2(4): 54-59 DOI: 10.5923/j.ac.20120204.02 Using Maekawa s Algorithm to Perform Distributed Mutual Exclusion in Quorums Ousmane Thiare 1,*, Papa Alioune Fall 2 1 Department of
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 informationYe-In Chang. National Sun Yat-Sen University. Kaohsiung, Taiwan. Republic of China. Abstract
A Simulation Study on Distributed Mutual Exclusion 1 Ye-In Chang Dept. of Applied Mathematics National Sun Yat-Sen University Kaohsiung, Taiwan Republic of China fe-mail: changyi@math.nsysu.edu.twg ftel:
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 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 informationMulti-threaded programming in Java
Multi-threaded programming in Java Java allows program to specify multiple threads of execution Provides instructions to ensure mutual exclusion, and selective blocking/unblocking of threads What is a
More informationConcurrency: Mutual Exclusion and
Concurrency: Mutual Exclusion and Synchronization 1 Needs of Processes Allocation of processor time Allocation and sharing resources Communication among processes Synchronization of multiple processes
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 informationwait with priority An enhanced version of the wait operation accepts an optional priority argument:
wait with priority An enhanced version of the wait operation accepts an optional priority argument: syntax: .wait the smaller the value of the parameter, the highest the priority
More informationAn Efficient Distributed Mutual Exclusion Algorithm Based on Relative Consensus Voting
An Efficient Distributed Mutual Exclusion Algorithm Based on Relative Consensus Voting Jiannong Cao Hong Kong Polytechnic University Kowloon, Hong Kong csjcao@comp.polyu.edu.hk Jingyang Zhou Nanjing University
More informationGroup Mutual Exclusion in Token Rings
Group Mutual Exclusion in Token Rings SÉBASTIEN CANTARELL LRI/CNRS, Université de Paris-Sud, France AJOY K. DATTA Department of Computer Science, University of Nevada Las Vegas, USA FRANCK PETIT LaRIA,
More informationConcurrency: Mutual Exclusion and Synchronization
Concurrency: Mutual Exclusion and Synchronization 1 Needs of Processes Allocation of processor time Allocation and sharing resources Communication among processes Synchronization of multiple processes
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 informationChapter 1. Introd uction. Mutual exclusion is one of the first problems met in parallel processmg. The
8 Chapter 1 Introd uction 1.1 Problem Description Mutual exclusion is one of the first problems met in parallel processmg. The implementation of a Mutual Exclusion mechanism is a major task facing every
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 informationChapter 6: Process Synchronization
Chapter 6: Process Synchronization Objectives Introduce Concept of Critical-Section Problem Hardware and Software Solutions of Critical-Section Problem Concept of Atomic Transaction Operating Systems CS
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 informationRecap: Consensus. CSE 486/586 Distributed Systems Mutual Exclusion. Why Mutual Exclusion? Why Mutual Exclusion? Mutexes. Mutual Exclusion C 1
Reca: Consensus Distributed Systems Mutual Exclusion Steve Ko Comuter Sciences and Engineering University at Buffalo On a synchronous system There s an algorithm that works. On an asynchronous system It
More informationDistributed Mutual Exclusion
Distributed Mutual Exclusion Introduction Ricart and Agrawala's algorithm Raymond's algorithm This presentation is based on the book: Distributed operating-systems & algorithms by Randy Chow and Theodore
More informationAn Approach to Distributed Collaboration Problem with Conflictive Tasks
An Approach to Distributed Collaboration Problem with Conflictive Tasks Jingping Bi, Qi Wu, Zhongcheng Li Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100080, P. R. China {jpingbi,
More informationLeslie Lamport: The Specification Language TLA +
Leslie Lamport: The Specification Language TLA + This is an addendum to a chapter by Stephan Merz in the book Logics of Specification Languages by Dines Bjørner and Martin C. Henson (Springer, 2008). It
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 informationCS3733: Operating Systems
Outline CS3733: Operating Systems Topics: Synchronization, Critical Sections and Semaphores (SGG Chapter 6) Instructor: Dr. Tongping Liu 1 Memory Model of Multithreaded Programs Synchronization for coordinated
More informationThesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods
Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods Lars Tveito September 9th, 2016 Department of Informatics, University of Oslo Outline Introduction Formal Semantics of Editing
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 informationProofs and Proof Certification in the TLA + Proof System
Proofs and Proof Certification in the TLA + Proof System Stephan Merz Inria Nancy Grand-Est & LORIA, Villers-lès-Nancy, France Abstract TLA + is a specification language originally designed for specifying
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 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 informationCIS Operating Systems Synchronization based on Busy Waiting. Professor Qiang Zeng Spring 2018
CIS 3207 - Operating Systems Synchronization based on Busy Waiting Professor Qiang Zeng Spring 2018 Previous class IPC for passing data Pipe FIFO Message Queue Shared Memory Compare these IPCs for data
More informationThe Java Memory Model
Jeremy Manson 1, William Pugh 1, and Sarita Adve 2 1 University of Maryland 2 University of Illinois at Urbana-Champaign Presented by John Fisher-Ogden November 22, 2005 Outline Introduction Sequential
More informationCS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio
CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio Fall 2017 1 Outline Inter-Process Communication (20) Threads
More informationNon-blocking Array-based Algorithms for Stacks and Queues. Niloufar Shafiei
Non-blocking Array-based Algorithms for Stacks and Queues Niloufar Shafiei Outline Introduction Concurrent stacks and queues Contributions New algorithms New algorithms using bounded counter values Correctness
More informationA Distributed Algorithm for Power Management in Mobile Ad-Hoc Networks
Jurnal UMP Social Sciences and Technology Management Vol. 3, Issue. 1, 2015 A Distributed Algorithm for Power Management in Mobile Ad-Hoc Networks Bita Amirshahi, Assistant Professor, Department of Software
More informationDistributed Coordination! Distr. Systems: Fundamental Characteristics!
Distributed Coordination! What makes a system distributed?! Time in a distributed system! How do we determine the global state of a distributed system?! Event ordering! Mutual exclusion! Reading: Silberschatz,
More informationDATA STRUCTURE AND ALGORITHM USING PYTHON
DATA STRUCTURE AND ALGORITHM USING PYTHON Advanced Data Structure and File Manipulation Peter Lo Linear Structure Queue, Stack, Linked List and Tree 2 Queue A queue is a line of people or things waiting
More informationDistributed Algorithms for Detecting Conjunctive Predicates. The University of Texas at Austin, September 30, Abstract
Distributed Algorithms for Detecting Conjunctive Predicates Parallel and Distributed Systems Laboratory email: pdslab@ece.utexas.edu Electrical and Computer Engineering Department The University of Texas
More informationA simple correctness proof of the MCS contention-free lock. Theodore Johnson. Krishna Harathi. University of Florida. Abstract
A simple correctness proof of the MCS contention-free lock Theodore Johnson Krishna Harathi Computer and Information Sciences Department University of Florida Abstract Mellor-Crummey and Scott present
More informationAI Non-Preemptive Dispatching. A new dispatching policy is defined for the non-preemptive execution of Ada tasks.
AI-00298 Non-Preemptive Dispatching!standard D.2.4 (00) 04-05-24 AI95-00298/05!reference AI95-00321!class amendment 02-06-01!status Amendment 200Y 03-07-02!status WG9 Approved 04-06-18!status ARG Approved
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 informationShared memory model" Shared memory guarantees" Read-write register" Wait-freedom: unconditional progress " Liveness" Shared memory basics"
Shared memory basics INF346, 2014 Shared memory model Processes communicate by applying operations on and receiving responses from shared objects! A shared object is a state machine ü States ü Operations/Responses
More informationLamport Clocks: Verifying A Directory Cache-Coherence Protocol. Computer Sciences Department
Lamport Clocks: Verifying A Directory Cache-Coherence Protocol * Manoj Plakal, Daniel J. Sorin, Anne E. Condon, Mark D. Hill Computer Sciences Department University of Wisconsin-Madison {plakal,sorin,condon,markhill}@cs.wisc.edu
More informationOUTLINE. Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems
Chapter 5 Synchronization OUTLINE Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems Concurrent Processes Cooperating processes
More informationMutual Exclusion. 1 Formal problem definitions. Time notion CSE /17/2015. Outline of this lecture:
CSE 539 03/17/2015 Mutual Exclusion Lecture 15 Scribe: Son Dinh Outline of this lecture: 1. Formal problem definitions 2. Solution for 2 threads 3. Solution for n threads 4. Inherent costs of mutual exclusion
More informationCSE 124: LAMPORT AND VECTOR CLOCKS. George Porter October 30, 2017
CSE 124: LAMPORT AND VECTOR CLOCKS George Porter October 30, 2017 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons license
More informationCS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017
CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 1 Review: Sync Terminology Worksheet 2 Review: Semaphores 3 Semaphores o Motivation: Avoid busy waiting by blocking a process execution
More informationEECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS
More informationDistributed Systems. Lec 9: Distributed File Systems NFS, AFS. Slide acks: Dave Andersen
Distributed Systems Lec 9: Distributed File Systems NFS, AFS Slide acks: Dave Andersen (http://www.cs.cmu.edu/~dga/15-440/f10/lectures/08-distfs1.pdf) 1 VFS and FUSE Primer Some have asked for some background
More informationResource Allocation. Pradipta De
Resource Allocation Pradipta De pradipta.de@sunykorea.ac.kr Outline Dining Philosophers Problem Drinking Philosophers Problem Dining Philosophers Problem f(5) 5 f(1) Each philosopher goes through, Think
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 informationCentralized versus distributed schedulers for multiple bag-of-task applications
Centralized versus distributed schedulers for multiple bag-of-task applications O. Beaumont, L. Carter, J. Ferrante, A. Legrand, L. Marchal and Y. Robert Laboratoire LaBRI, CNRS Bordeaux, France Dept.
More informationDistributed Systems 8L for Part IB
Distributed Systems 8L for Part IB Handout 3 Dr. Steven Hand 1 Distributed Mutual Exclusion In first part of course, saw need to coordinate concurrent processes / threads In particular considered how to
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 11 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Multilevel Feedback Queue: Q0, Q1,
More informationA Dynamic Token-Based Distributed Mutual Exclusion Algorithm
A Dynamic Token-Based Distributed Mutual Exclusion Algorithm Ye-n Chang, Mukesh Singhal, and Ming T. Liu Dept. of Computer and nformation Science The Ohio State University Columbus, OH 43210-1277, USA
More informationSMV Project. Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena. April 28, 2009
SMV Project Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena April 28, 2009 Indiana University - Department of Computer Science P515 Specification and Verification For: Dr. Steven Johnson Table
More informationJune 22/24/ Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group
Distributed Systems 12 Coordination June 22/24/29 2009 Gerd Liefländer System Architecture Group 2009 Universität Karlsruhe (TH), System Architecture Group 1 Overview Outline: Next Lectures Coordination
More informationCS243 Homework 1. Winter Due: January 23, 2019 at 4:30 pm
CS243 Homework 1 Winter 2019 Due: January 23, 2019 at 4:30 pm Directions: Submit via Gradescope. You may use up to two of your remaining late days for this assignment, for a late deadline of January 25,
More informationQUESTIONS Distributed Computing Systems. Prof. Ananthanarayana V.S. Dept. Of Information Technology N.I.T.K., Surathkal
QUESTIONS Distributed Computing Systems Prof. Ananthanarayana V.S. Dept. Of Information Technology N.I.T.K., Surathkal Questions Fundamentals 1. Discuss five fundamental issues in distributed system 2.
More informationData Structures. Outline. Introduction Linked Lists Stacks Queues Trees Deitel & Associates, Inc. All rights reserved.
Data Structures Outline Introduction Linked Lists Stacks Queues Trees Introduction dynamic data structures - grow and shrink during execution Linked lists - insertions and removals made anywhere Stacks
More informationShared Objects. Shared Objects
Shared Objects Shared Objects Invoked operations have a non-zero duration Invocations can overlap Useful for: modeling distributed shared memory Objects can be combined together to implement higher level
More information1. Motivation (Race Condition)
COSC4740-01 Operating Systems Design, Fall 2004, Byunggu Yu Chapter 6 Process Synchronization (textbook chapter 7) Concurrent access to shared data in the data section of a multi-thread process, in the
More informationCS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 Process creation in UNIX All processes have a unique process id getpid(),
More informationTransactional Memory: Architectural Support for Lock-Free Data Structures Maurice Herlihy and J. Eliot B. Moss ISCA 93
Transactional Memory: Architectural Support for Lock-Free Data Structures Maurice Herlihy and J. Eliot B. Moss ISCA 93 What are lock-free data structures A shared data structure is lock-free if its operations
More informationProcesses. Process Concept
Processes These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each slide
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 informationImplementation of Process Networks in Java
Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a
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 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 informationSynchronization for Concurrent Tasks
Synchronization for Concurrent Tasks Minsoo Ryu Department of Computer Science and Engineering 2 1 Race Condition and Critical Section Page X 2 Algorithmic Approaches Page X 3 Hardware Support Page X 4
More informationTwo-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure
Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure Yong-Hwan Cho, Sung-Hoon Park and Seon-Hyong Lee School of Electrical and Computer Engineering, Chungbuk National
More informationSelf Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali
Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,
More informationConcurrency User Guide
Concurrency User Guide Release 1.0 Dylan Hackers January 26, 2019 CONTENTS 1 Basic Abstractions 3 1.1 Executors................................................. 3 1.2 Queues..................................................
More informationChapter 6: Synchronization. Operating System Concepts 8 th Edition,
Chapter 6: Synchronization, Silberschatz, Galvin and Gagne 2009 Outline Background The Critical-Section Problem Peterson s Solution Synchronization Hardware Semaphores Classic Problems of Synchronization
More informationSynchronization Part 1. REK s adaptation of Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 5
Synchronization Part 1 REK s adaptation of Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 5 1 Outline! Clock Synchronization! Clock Synchronization Algorithms! Logical Clocks! Election
More informationG52CON: Concepts of Concurrency
G52CON: Concepts of Concurrency Lecture 11: Semaphores I" Brian Logan School of Computer Science bsl@cs.nott.ac.uk Outline of this lecture" problems with Peterson s algorithm semaphores implementing semaphores
More informationOn Detecting Global Predicates in Distributed Computations
On Detecting Global Predicates in Distributed Computations Neeraj Mittal Department of Computer Sciences The University of Texas at Austin Austin TX 787-88 USA neerajm@cs.utexas.edu Vijay K. Garg Department
More informationConcurrent Reading and Writing of Clocks
Concurrent Reading and Writing of Clocks LESLIE LAMPORT Digital Equipment Corporation As an exercise in synchronization without mutual exclusion, algorithms are developed to implement both a monotonic
More informationGLocks: Efficient Support for Highly- Contended Locks in Many-Core CMPs
GLocks: Efficient Support for Highly- Contended Locks in Many-Core CMPs Authors: Jos e L. Abell an, Juan Fern andez and Manuel E. Acacio Presenter: Guoliang Liu Outline Introduction Motivation Background
More informationSEGR 550 Distributed Computing. Final Exam, Fall 2011
SEGR 550 Distributed Computing Final Exam, Fall 2011 (100 points total) 1) This is a take-home examination. You must send your solutions in a PDF or text file to zhuy@seattleu.edu by the deadline. Late
More information