Deadlock Detection in Distributed Systems
(IEEE 2024 – Tarjan Algorithm Based Approach)
Abstract:
Deadlock is a critical problem in distributed systems where multiple processes compete
for shared resources such as memory, files, or database locks. A deadlock occurs when
processes wait indefinitely for resources held by each other, causing system halt and
performance degradation. Traditional detection methods struggle in large distributed
environments due to communication delays and lack of global system knowledge.
The selected IEEE 2024 research paper proposes an enhanced deadlock detection
methodology using Tarjan’s algorithm to efficiently detect cycles in process dependency
graphs, improving scalability and reliability.
Problem:
In distributed systems, processes run on different nodes and communicate over networks.
Because there is no global clock and message delays may occur, identifying circular wait
conditions becomes complex. As systems grow in size (cloud computing, clustered
databases, microservices), efficient and scalable deadlock detection becomes increasingly
important.
Existing Method Limitations:
Traditional approaches use a Wait‑For Graph (WFG) where nodes represent processes
and edges represent waiting relationships. Deadlock is detected by identifying cycles in
the graph. However, maintaining a global WFG in distributed systems increases message
overhead, slows detection, may produce false deadlocks, and does not scale efficiently
for modern cloud-based architectures.
Proposed Algorithm / Method:
The research applies Tarjan’s algorithm, a graph-based technique used to find Strongly
Connected Components (SCCs) in a directed graph. The system collects dependency
information, constructs a wait‑for graph, and applies Tarjan’s algorithm to detect SCCs.
If a strongly connected component (cycle) exists, a deadlock is confirmed. The system
then triggers recovery mechanisms such as rollback or resource reallocation. This method
provides efficient and accurate cycle detection with lower computational complexity.
Results:
The proposed approach improves detection speed, reduces communication overhead,
enhances accuracy, and increases system stability. It performs efficiently even as the
number of processes increases, making it suitable for large-scale distributed systems.
Conclusion:
The paper demonstrates that graph-based SCC detection using Tarjan’s algorithm is an
effective state-of-the-art solution for deadlock detection in distributed systems. By
efficiently identifying circular dependencies, the method enhances reliability and
scalability in modern distributed computing environments.