Adaptive Deadlock Detection in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face significant processing overhead and performance degradation due to frequent deadlock detection, where the overhead of checking for non-existent deadlocks often exceeds the impact of system recovery from detected deadlocks, necessitating an optimization of deadlock detection techniques.

Innovation Solution

Adjusting deadlock detection techniques based on statistics collected on the frequency of detected deadlocks, reducing threshold timeouts for infrequent deadlocks and employing parallel search operations and prioritizing locks likely to be involved in deadlocks when they occur frequently, thereby optimizing processing time and system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If frequent deadlock detection is performed, then deadlock detection reliability is improved, but system processing overhead increases and performance degrades

Engineering Contradiction:
Improvedeadlock detection reliabilityVSAvoidsystem processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the deadlock detection frequency adaptive rather than static. The system dynamically adjusts the threshold timeout value based on observed deadlock occurrence patterns. When deadlocks are frequent, the threshold is lowered to increase detection frequency; when deadlocks are rare, the threshold is raised to reduce detection overhead. This dynamic adjustment resolves the contradiction by optimizing the balance between detection reliability and system productivity based on actual runtime conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of detection frequency by adjusting the timeout threshold value. The system monitors deadlock occurrence statistics and modifies the timeout parameter accordingly. This parameter change allows the system to transition between frequent detection (when needed) and infrequent detection (when not needed), thereby resolving the contradiction between reliable detection and maintaining high productivity.

Inventive Principle:
Principle #35Parameter changes

2Speed

If threshold timeout value is reduced for frequent deadlock detection, then deadlock detection speed is improved, but processing overhead increases

Engineering Contradiction:
Improvedeadlock detection speedVSAvoidprocessing overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the timeout threshold based on observed deadlock patterns. When deadlocks occur frequently, the threshold is reduced to enable faster detection. When deadlocks are rare, the threshold is increased to reduce unnecessary processing overhead. This dynamic behavior resolves the contradiction by making detection speed high only when actually needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback by monitoring deadlock occurrence statistics and using this information to adjust the timeout threshold. The feedback loop ensures that the detection speed is optimized based on actual system conditions, reducing processing overhead when fast detection is not required while maintaining high detection speed when deadlocks are frequent.

Inventive Principle:
Principle #23Feedback

3Reliability

If distributed wait-for graph generation is performed across multiple nodes, then deadlock detection coverage is improved, but communication overhead increases

Engineering Contradiction:
Improvedeadlock detection coverageVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent segments the distributed wait-for graph generation into independent node-level operations. Each node generates its own portion of the wait-for graph based on local lock data structures, rather than requiring centralized graph construction. This segmentation reduces communication overhead while maintaining comprehensive deadlock detection coverage, as each node independently contributes to the overall detection capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each node in the distributed system performs self-service by generating its own wait-for graph elements locally using its own lock data structures. This eliminates the need for extensive inter-node communication to construct the graph, reducing communication overhead while ensuring that each node's local state is accurately represented in the distributed detection process.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7735089B2Method and system for deadlock detection in a distributed environment
Publication Date: 2010.06.08 ORACLE INT CORP
  • US7735089B2 patent drawing
  • US7735089B2 patent drawing
  • US7735089B2 patent drawing

AI summary

A method of deadlock detection is disclosed which adjusts the detection technique based on statistics maintained for tracking the number of actual deadlocks that are detected in a distributed system, and for which types of locks are most frequently involved in deadlocks. When deadlocks occur rarely, the deadlock detection may be tuned down, for example, by reducing a threshold value which determines timeouts for waiting lock requests. When it is determined that actual deadlocks are detected frequently, the processing time for deadlock detection may be reduced, for example, by using parallel forward or backward search operations and/or by according higher priority in deadlock detection processing to locks which are more likely to involve deadlocks.