Deadlock Detection Scheduling for Distributed Processes in the Presence of System Failures (original) (raw)
Related papers
Stochastic analysis of distributed deadlock scheduling
Proceedings of the twenty-fourth annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing - PODC '05, 2005
Deadlock detection scheduling is an important, yet oftoverlooked problem that can significantly affect the overall performance of deadlock handling. An excessive initiation of deadlock detection increases overall message usage, resulting in degraded system performance in the absence of deadlocks; while a deficient initiation of deadlock detection increases the deadlock persistence time, resulting in an increased deadlock resolution cost in the presence of deadlocks. Such a performance tradeoff, however, is generally missing in literature. In this paper we study the impact of deadlock detection scheduling on the system performance, and show that there exists an optimal deadlock detection frequency that yields the minimum long-run mean average cost associated with the message complexity of deadlock detection and resolution algorithms, and the rate of deadlock formation, λ. Based on the up-to-date deadlock detection and resolution algorithms, we show that the asymptotically optimal frequency of deadlock detection scheduling that minimizes the message overhead is O((λn) 1/3), when the total number of processes n is sufficiently large. Furthermore, we show that in general fully distributed (uncoordinated) deadlock detection scheduling can not be performed as efficiently as centralized (coordinated) deadlock detection scheduling.
Performance analysis of distributed deadlock detection algorithms
… and Data Engineering, IEEE Transactions on, 2001
The paper presents a probabilistic performance analysis of a deadlock detection algorithm in distributed systems. Although there has been extensive study on deadlock detection algorithms in distributed systems, little attention has been paid to the study of the ...
Study of Diverse Models of Deadlock Detection in Distributed Environment
A distributed system is much larger and more prevailing than typical centralized systems due to the combined capabilities of distributed components. Examples of distributed systems include computer networks, distributed databases, distributed information processing systems and real time process control systems. In this paper, we review diverse models that are used to classify deadlock detection algorithms and determine the condition for detecting deadlock.
Efficient Detection and Resolution of Generalized Distributed Deadlocks
IEEE Transactions on Software Engineering, 1994
In this paper, we propose a new algorithm to detect and resolve distributed deadlocks in the generalized model. The initiator of the proposed algorithm diffuses the probes along the outgoing edges of Wait-For Graph (WFG) and collects the replies that carry the dependency information between processes directly. However, the initiator simplifies the unblocking conditions of blocked nodes in response to a reply form an unblocked node and receives almost two replies from any node unlike the earlier algorithms. It finally declares all the nodes that have not been reduced as deadlocked. We also prove the correctness of the algorithm. It has a worst-case time complexity of d+1 and message complexity of less than e+2n where d is the diameter, e is the number of edges and n is the number of nodes in the WFG. Since the termination detection of the proposed algorithm is isolated from deadlock detection, it minimizes the message length into a constant without using any explicit technique. It is the significant improvement over the existing algorithms. It also minimizes additional rounds of messages to resolve deadlocks.
An Improved Multi-Cycle Deadlock Detection and Resolution Algorithm for Distributed Systems
Distributed systems exhibit a high degree of resource and data sharing creating a state in which deadlocks might make their appearance. Since deadlock detection and resolution is one of the important concerns in distributed systems which lead to minimizing available resources, therefore instigating the system throughput decrease. Our proposed algorithm detects and resolves the multi-cycle deadlocks, whether the initiator is involved in the deadlock cycle directly or indirectly. Also the chance of phantom deadlock detection is minimized. This algorithm not only can manage the simultaneous execution of it but also detects the multi-cycle deadlocks in the distributed systems. Our algorithm introduces a modified probe and victim message structure. Moreover, no extra storage required to store probe message in each node which is known as memory overhead in the distributed systems.
On-Line Detection and Resolution of Communication Deadlocks
1994
with false deadlocks. 13, 16, 17, 18, 20, 211. There are four categories of deadlock algorithms [12]: path-pushing, edge-chasing, diffusing computations and global state detection. In this paper, we restrict our attention to edge-chasing (or probe-based) algorithms [5, 13, 16, 18, 20, 211. 'This work was supported in part by the Consortium for International Earth Science Information Networking.
Deadlock detection in distributed system
Indonesian Journal of Electrical Engineering and Computer Science, 2021
In highly automated devices, deadlock is a case that occurs when no system can permit its event which may give irrelevant economic losses. A process can request or release resources that are either available or are on hold by others. If a process requesting a resource is not available at any time, then that process enters into the waiting state. But if a waiting state is not converted into its present state, it enters more than two processes are having an indefinite waiting state. The proposed algorithm gives an efficient way for deadlock detection. For the implementation of this work, C++ and python as the basic programming language are used. It gives an idea about how resources are allocated, and how few processes result in deadlock.
A Survey on Distributed Deadlock Detection Algorithm and its performance Evolution
2015
Deadlock is one of the most serious problems in distributed systems environment and detection of deadlock has undergone extensive study. A deadlock is a condition in a system where a process cannot proceed because it needs to obtain a resource held by another process which itself is holding a resource that the other process needs .In literature, various techniques have been discussed so far which are used to prevent, detect and resolve the deadlocks. In this paper we survey the various detection algorithms and their performance in distributed environment. The paper introduces a uniform framework for the discussion of these algorithms.
Distributed Deadlock Detection for Distributed Process Networks
2004
This paper presents a discussion of the Kahn process network (PN) model and the challenges in distributing it onto multiple networked workstations. Compared to a non-distributed PN model, a distributed PN model is more scalable in terms of performance and has significantly lower cost. Although additional distribution-specific challenges exist, existing distributed systems algorithms can solve them.
A Modified Algorithm for Distributed Deadlock Detection in Generalized Model
IOSR Journal of Engineering, 2016
In a distributed system, a deadlock may occur when set of processes wait for resources from each other. A process involved in a deadlock waits indefinitely unless a special action is taken. Deadlock leaves the system into a blocking state with no process getting complete and also it reduces the throughput. In this paper a technique is presented that will improve the performance of Srinivasan distributed deadlock algorithm for multiple executions. In Srinivasan algorithm whenever multiple initiators invoke the algorithm one after the other same deadlock cycle and similar message transfers may be reported in more than one execution. So, in order to handle multiple executions an algorithm has been proposed which will not only reduce the number of message transfers but will also reduce the deadlock detection time. The proposed algorithm gives priority to different algorithm execution depending on their process id"s along with this it allows lower priority executions to continue so that a deadlock that are not directly reachable from the higher priority execution could be detected.