In a certain system, each process typically uses a critical section many times before another process requires it. Explain why Ricart and Agrawala’s multicast-based mutual exclusion algorithm is inefficient for this case, and describe how to improve its performance. Does your adaptation satisfy liveness condition ME2?

What will be an ideal response?

In Ricart and Agrawala’s multicast-based mutual exclusion algorithm, a client issues a multicast request every time it requires entry. This is inefficient in the case described, of a client that repeatedly enters the critical section before another needs entry.
Instead, a client that finishes with a critical section and which has received no outstanding requests could mark the token as JUST_RELEASED, meaning that it has not conveyed any information to other processes that it has finished with the critical section. If the client attempts to enter the critical section and finds the token to be JUST_RELEASED, it can change the state to HELD and re-enter the critical section.

To meet liveness condition ME2, a JUST_RELEASED token should become RELEASED if a request for entry is received.

Computer Science & Information Technology

You might also like to view...

When multiple pictures are aligned, the border size of each picture is included in the alignment

Indicate whether the statement is true or false

Computer Science & Information Technology

A ________ is a value that originates in a worksheet cell and is represented in a chart

A) data point B) chart sheet C) legend D) data marker

Computer Science & Information Technology