A Dynamic Distributed Algorithm for Read Write Locks

Size: px
Start display at page:

Download "A Dynamic Distributed Algorithm for Read Write Locks"

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

Data handover on a peer-to-peer system

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

Byte-Range Asynchronous Locking in Distributed Settings

Byte-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 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

Transparent distributed data management in large scale distributed systems

Transparent 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 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

The Prioritized and Distributed Synchronization in Distributed Groups

The 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 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

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

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

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

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

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

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

Reducing synchronization cost in distributed multi-resource allocation problem

Reducing 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 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

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

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

A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network

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

Using Maekawa s Algorithm to Perform Distributed Mutual Exclusion in Quorums

Using 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 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

Ye-In Chang. National Sun Yat-Sen University. Kaohsiung, Taiwan. Republic of China. Abstract

Ye-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 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

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

Multi-threaded programming in Java

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

Concurrency: Mutual Exclusion and

Concurrency: 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 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

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

An Efficient Distributed Mutual Exclusion Algorithm Based on Relative Consensus Voting

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

Group Mutual Exclusion in Token Rings

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

Concurrency: Mutual Exclusion and Synchronization

Concurrency: 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 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

Chapter 1. Introd uction. Mutual exclusion is one of the first problems met in parallel processmg. The

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

Chapter 6: Process Synchronization

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

Recap: Consensus. CSE 486/586 Distributed Systems Mutual Exclusion. Why Mutual Exclusion? Why Mutual Exclusion? Mutexes. Mutual Exclusion C 1

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

Distributed Mutual Exclusion

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

An Approach to Distributed Collaboration Problem with Conflictive Tasks

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

Leslie Lamport: The Specification Language TLA +

Leslie 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 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

CS3733: Operating Systems

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

Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods

Thesis 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 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

Proofs and Proof Certification in the TLA + Proof System

Proofs 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 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

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

CIS Operating Systems Synchronization based on Busy Waiting. Professor Qiang Zeng Spring 2018

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

The Java Memory Model

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

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

Non-blocking Array-based Algorithms for Stacks and Queues. Niloufar Shafiei

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

A Distributed Algorithm for Power Management in Mobile Ad-Hoc Networks

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

Distributed Coordination! Distr. Systems: Fundamental Characteristics!

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

DATA STRUCTURE AND ALGORITHM USING PYTHON

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

Distributed Algorithms for Detecting Conjunctive Predicates. The University of Texas at Austin, September 30, Abstract

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

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

AI Non-Preemptive Dispatching. A new dispatching policy is defined for the non-preemptive execution of Ada tasks.

AI 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 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

Shared memory model" Shared memory guarantees" Read-write register" Wait-freedom: unconditional progress " Liveness" Shared memory basics"

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

Lamport Clocks: Verifying A Directory Cache-Coherence Protocol. Computer Sciences Department

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

OUTLINE. Introduction Clock synchronization Logical clocks Global state Mutual exclusion Election algorithms Deadlocks in distributed systems

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

Mutual Exclusion. 1 Formal problem definitions. Time notion CSE /17/2015. Outline of this lecture:

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

CSE 124: LAMPORT AND VECTOR CLOCKS. George Porter October 30, 2017

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

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

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

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

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

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

Resource Allocation. Pradipta De

Resource 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 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

Centralized versus distributed schedulers for multiple bag-of-task applications

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

Distributed Systems 8L for Part IB

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

CS370 Operating Systems

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

A Dynamic Token-Based Distributed Mutual Exclusion Algorithm

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

SMV Project. Arun Autuchirayll, Manjulata Chivukula, Bhargava Konidena. April 28, 2009

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

June 22/24/ Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

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

CS243 Homework 1. Winter Due: January 23, 2019 at 4:30 pm

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

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

Data Structures. Outline. Introduction Linked Lists Stacks Queues Trees Deitel & Associates, Inc. All rights reserved.

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

Shared Objects. Shared Objects

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

1. Motivation (Race Condition)

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

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

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

Processes. Process Concept

Processes. 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 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

Implementation of Process Networks in Java

Implementation 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 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

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

Synchronization for Concurrent Tasks

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

Two-Phase Atomic Commitment Protocol in Asynchronous Distributed Systems with Crash Failure

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

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

Concurrency User Guide

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

Chapter 6: Synchronization. Operating System Concepts 8 th Edition,

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

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

G52CON: Concepts of Concurrency

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

On Detecting Global Predicates in Distributed Computations

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

Concurrent Reading and Writing of Clocks

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

GLocks: Efficient Support for Highly- Contended Locks in Many-Core CMPs

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

SEGR 550 Distributed Computing. Final Exam, Fall 2011

SEGR 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