When processes simultaneously request to access their corresponding critical sections then the
selection of the specific process should not be postponed indeterminately. If
there is no other process in Critical Section then other processes requesting
to access the Critical Section must be permitted to do in limited time.
property: Each process should get a fair chance to run in its Critical
Dijkstra’s algorithm is a
deadlock-free algorithm, but, does not satisfy fairness. Later, several
algorithms have been proposed which fulfils all these properties.
The efficiency of mutual exclusion algorithms is commonly
measured by the following metrics 15:
complexity: It is states about count of messages
that needs to be used for a site to executes its Critical Section.
delay: It is the time between last site leaving the Critical
Section and other site accessing the Critical Section.
time: It is the time interval when the request messages have been sent out and the site exit the Critical
throughput: It is stated as the amount at which the system executes requests for
the Critical Section.
Mutual exclusion and concurrency are
the two basic issues in distributed systems. Mutual exclusion allows access to
a common resource, whereas concurrency is needed to maximize the system
efficiency. Group Mutual Exclusion is one of the concepts of the mutual exclusion
where each request for Critical Section is related with a group of processes or
sites. It concerns situation in which a resource is shared by the processes
with a common property i.e.,
belonging to same group. The GME algorithm should follow the properties of
freedom from starvation and concurrency. The GME has the metric that are similar
to measure the attribute like message complexity, mutual co-operation, time
complexity and performance in execution of the requests for the Critical
Section by each process. The distributed mutual exclusion (DME) algorithm has
been divided into two groups, they are