|
|
Line 1: |
Line 1: |
| {{Unreferenced|date=December 2009}}
| | Oscar is what my spouse loves to contact me and I totally dig that title. Body developing is 1 of the things I love most. Her spouse and her reside in Puerto Rico but she will have to transfer one working day or an additional. For many years I've been operating as a payroll clerk.<br><br>Here is my page ... [http://theoffshoremanual.com/?testimonial=know-facing-candida-albicans at home std testing] |
| The '''Ricart-Agrawala Algorithm''' is an algorithm for [[mutual exclusion]] on a [[distributed system]]. This algorithm is an extension and optimization of [[Lamport's Distributed Mutual Exclusion Algorithm]], by removing the need for <math>release</math> messages. It was developed by [[Glenn Ricart]] and [[Ashok Agrawala]].
| |
| | |
| ==Algorithm==
| |
| | |
| === Terminology ===
| |
| * A ''site'' is any computing device which is running the Ricart-Agrawala Algorithm
| |
| * The ''requesting site'' is the site which is requesting entry into the critical section.
| |
| * The ''receiving site'' is every other site which is receiving the request from the requesting site.
| |
| | |
| ===Algorithm===
| |
| ''' Requesting Site '''
| |
| * Sends a message to all sites. This message includes the site's name, and the current timestamp of the system according to its [[logical clock]] (''which is assumed to be synchronized with the other sites'')
| |
| | |
| ''' Receiving Site '''
| |
| * Upon reception of a request message, immediately send a timestamped ''reply'' message if and only if:
| |
| :* the receiving process is not currently interested in the critical section OR
| |
| :* the receiving process has a lower priority (''usually this means having a later timestamp)
| |
| * Otherwise, the receiving process will defer the reply message. This means that a reply will be sent only after the receiving process has finished using the critical section itself.
| |
| | |
| Critical Section:
| |
| * Requesting site enters its critical section only after receiving all reply messages.
| |
| * Upon exiting the critical section, the site sends all deferred reply messages.
| |
| | |
| ===Performance===
| |
| * Number of network messages; 2*(N-1)
| |
| * Synchronization Delays: One message propagation delay
| |
| | |
| ===Common Optimizations===
| |
| Once site <math>P_i</math> has received a <math>reply</math> message from site <math>P_j</math>, site <math>P_i</math> may enter the critical section multiple times without receiving permission from <math>P_j</math> on subsequent attempts up to the moment when <math>P_i</math> has sent a <math>reply</math> message to <math>P_j</math>. This is called Roucairol-Carvalho optimization or Roucairol-Carvalho algorithm.
| |
| | |
| ===Problems===
| |
| One of the problems in this algorithm is failure of a node. In such a situation a process may starve forever.
| |
| This problem can be solved by detecting failure of nodes after some timeout.
| |
| | |
| ==See also==
| |
| * [[Lamport's bakery algorithm|Lamport's Bakery Algorithm]]
| |
| * [[Lamport's Distributed Mutual Exclusion Algorithm]]
| |
| * [[Maekawa's Algorithm]]
| |
| * [[Suzuki-Kasami's Algorithm]]
| |
| * [[Raymond's Algorithm]]
| |
| *[[Naimi-Trehel's Algorithm]]
| |
| | |
| ==References==
| |
| *Maekawa, M.,Oldehoeft, A.,Oldehoeft, R.(1987). Operating Systems: Advanced Concept.Benjamin/Cummings Publishing Company, Inc.
| |
| | |
| {{DEFAULTSORT:Ricart-Agrawala Algorithm}}
| |
| [[Category:Distributed algorithms]]
| |
Oscar is what my spouse loves to contact me and I totally dig that title. Body developing is 1 of the things I love most. Her spouse and her reside in Puerto Rico but she will have to transfer one working day or an additional. For many years I've been operating as a payroll clerk.
Here is my page ... at home std testing