Highly Concurrent and Fault-To lerant h-out of-k Mutual Exclu sion Using Cohorts Coteries for Distributed Systems
Transcript
Slide 1
Highly Concurrent and Fault-Tolerant h-out of-k Mutual
Exclusion Using Cohorts Coteries for Distributed Systems
Slide 2
Distributed Systems A distributed system consists of
interconnected, autonomous nodes which communicate with each other
by passing messages.
Slide 3
CS vs Mutual Exclusion A node in the system may need to enter
the critical section (CS) occasionally to access a shared resource,
such as a shared file or a shared table, etc. How to control the
nodes so that the shared resource is accessed by at most one node
at a time is called the mutual exclusion problem.
Slide 4
K-Mutual Exclusion If there are k, k 1, identical copies of
shared resources, such as a k-user software license, then there can
be at most k nodes accessing the resources at a time. This raises
the k-mutual exclusion problem.
Slide 5
h-out of k-mutual exclusion On some occasions, a node may
require to access h (1 h k) copies out of the k shared resources at
a time; for example, a node may need h disks from a pool of k disks
to proceed. How to control the nodes to acquire the desired number
of resources with the total number of resources accessed
concurrently not exceeding k is called the h-out of k-mutual
exclusion problem or the h-out of-k resource allocation problem
[10].
Slide 6
Related Work There are four distributed h-out of-k mutual
exclusion algorithms proposed in the literature [2, 5, 9. 10]. The
first algorithm using request broadcast is proposed by Raynal in
[10], and three algorithms using k-arbiters, (h, k)-arbiters, and
k-coteries are later proposed in [2], [9], and [5],
respectively.
Slide 7
Jiangs Algorithm Among the four algorithms, only Jiangs
algorithm using k-coteries is fault-tolerant. It can tolerate node
and/or network link failures even when the failures lead to network
partitioning. Furthermore, it is shown in [5] to have lower message
cost than others.
Slide 8
Basic Idea of Jiangs Alg. The basic idea of the algorithm is
simple: a node should select h mutually disjoint sets and collect
permissions from all the nodes of the h sets to enter CS for
accessing h resources. To render the algorithm fault-tolerant, a
node is demanded to repeatedly reselect h mutually disjoint sets
for gathering incremental permissions when a node fails to gather
enough permissions to enter CS after a time-out period.
Slide 9
Drawbacks of Jiangs Alg. First, it does not specify explicitly
how a node can efficiently select and reselect h mutually disjoint
sets. Second, when there is contention, a low- priority node always
yields its gathered permissions to high-priority nodes, which
causes higher message overhead and may prohibit nodes from entering
CS concurrently.
Slide 10
Overview of the Proposed Alg. In this paper, we proposed
another h-out of-k mutual exclusion algorithm using a specific k-
coterie cohorts coterie to eliminate the drawbacks of Jiangs
algorithm. Constant message cost in the best case A candidate to
achieve the highest availability, the probability that a node can
gather enough permissions to enter CS in an error-prone
environment, among all the algorithms using k- coteries.
Slide 11
k-Coterie
Slide 12
Cohorts Structure
Slide 13
Quorum under Coh(k, m)
Slide 14
An Example
Slide 15
Domination
Slide 16
ND k-coteries Since an available quorum implies an available
entry to CS, we should always concentrate on ND (nondominated) k-
coteries that no other k-coterie can dominate. The algorithm using
ND k-coteries, for example the proposed algorithm, is a candidate
to achieve the highest availability.
Slide 17
The quorum construction procedure
Slide 18
Probe(C i, g)
Slide 19
Case 1 for Probe(C i, g) to return
Slide 20
Case 2 for Probe(C i, g) to return
Slide 21
Case 3 for Probe(C i, g) to return
Slide 22
Pre-release
Slide 23
Maekawas Alg. (1983) uses six types of messages: REQUEST LOCKED
FAILED RELEASE INQUIRE RELINQUISH
Slide 24
Differences of Ours and Maekawas 1.Our mechanism does not use
FAILED message. 2.Our mechanism uses an extra PRE- RELEASE message.
3.Our mechanism sends INQUIRE message conditionally (instead of
insistently) only when there is possibility of deadlock.
Slide 25
Conflict resolution mechanism #1
Slide 26
Conflict resolution mechanism #2
Slide 27
Conflict resolution mechanism #3
Slide 28
Conflict resolution mechanism #4
Slide 29
Conflict resolution mechanism #5 On receiving a RELINQUISH
message form w (w must be the locker), node v swaps w with u, sets
u as the locker, and sends a LOCKED message to u, where u is the
node at the front of R-QUEUE.
Slide 30
Conflict resolution mechanism #6
Slide 31
Conflict resolution mechanism #7
Slide 32
Conflict resolution mechanism #8
Slide 33
Comparisions
Slide 34
Conclusion The proposed algorithm becomes a k-mutual exclusion
algorithm for k>h=1, and becomes a mutual exclusion algorithm
for k=h=1. It is resilient to node and/or link failures and has
constant message cost in the best case. Furthermore, it is a
candidate to achieve the highest availability among all the
algorithms using k-coteries since the cohorts coterie is ND. It has
the k-concurrency property to allow more nodes in CS concurrently.
However, its mutual exclusion delay may be long since it probe
nodes cohorts by cohorts instead of probing all nodes in a quorum
at once.