Ricart–Agrawala algorithm: Difference between revisions

Content deleted Content added
Tag: section blanking
Line 8:
* 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===