Highly Concurrent and Fault-Tolerant h-out of-k Mutual Exclusion Using Cohorts Coteries for...
Preview:
Citation preview
- 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.