+ All Categories
Home > Documents > Highly Concurrent and Fault-Tolerant h-out of-k Mutual Exclusion Using Cohorts Coteries for...

Highly Concurrent and Fault-Tolerant h-out of-k Mutual Exclusion Using Cohorts Coteries for...

Date post: 19-Dec-2015
Category:
View: 217 times
Download: 3 times
Share this document with a friend
Popular Tags:
34
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.

Recommended