Lock Contention Table for Active-Active Replication Deadlocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face deadlocks during active-active replication, which hinder quick recovery from failures and compromise high availability, as current techniques inadequately address lock contentions during replication journal recovery.

Innovation Solution

Implementing a clustered content-addressable storage system with a distributed storage controller that maintains a lock contention table to resolve potential deadlocks by acquiring necessary locks and selectively aborting journal recovery operations, ensuring write order and cross-site consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If journal recovery is performed quickly to ensure high availability, then recovery speed is improved, but lock deadlocks occur during active-active replication

Engineering Contradiction:
Improverecovery speedVSAvoidlock deadlock prevention
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by detecting potential deadlocks before they occur during journal recovery. The lock contention detection mechanism identifies situations where lock deadlocks might arise, and the system proactively resolves these contentions by aborting conflicting journal recovery operations before actual deadlocks prevent recovery completion

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback through lock contention detection during journal recovery operations. When lock contentions are detected, the system provides feedback by identifying the conflicting operations and selectively aborting journal recovery to resolve the contention, thereby preventing deadlocks while maintaining recovery progress

Inventive Principle:
Principle #23Feedback

2Reliability

If lock contention is strictly controlled during journal recovery, then deadlock prevention is improved, but recovery time increases

Engineering Contradiction:
Improvedeadlock resolutionVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by selectively aborting only those journal recovery operations that would cause lock deadlocks, rather than aborting all journal recovery operations. This selective approach resolves deadlocks while minimizing the impact on overall recovery time by allowing non-conflicting operations to proceed

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the state of journal recovery operations dynamically based on lock contention detection. When deadlocks are detected, the system modifies the recovery process by aborting specific operations, thereby changing the execution parameters to prevent deadlocks while maintaining efficient recovery for non-conflicting operations

Inventive Principle:
Principle #35Parameter changes

3Reliability

If active-active replication continues during HA events, then availability is improved, but lock contentions arise that prevent journal recovery completion

Engineering Contradiction:
Improvehigh availabilityVSAvoidlock contention management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses an intermediary mechanism (lock contention detection and selective abortion) to mediate between active-active replication operations and journal recovery operations. This intermediary layer detects lock contentions caused by concurrent replication activities and resolves them by selectively aborting conflicting journal recovery operations, allowing both replication and recovery to coexist

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11494405B2Lock contention resolution for active-active replication performed in conjunction with journal recovery
Publication Date: 2022.11.08 EMC IP HLDG CO LLC
  • US11494405B2 patent drawing
  • US11494405B2 patent drawing
  • US11494405B2 patent drawing

AI summary

An apparatus in one embodiment includes at least one processing device comprising a processor coupled to a memory, with the at least one processing device being configured to maintain a replication journal for recording replication write requests in a storage system, to detect a failure impacting the replication journal, and to initiate recovery of the replication journal responsive to the detected failure. In conjunction with the recovery of the replication journal, the at least one processing device is further configured to maintain a lock contention table that characterizes lock contentions between address lock ranges required for the recovery of the replication journal and address lock ranges required by other write requests in the storage system, and to utilize the lock contention table to resolve one or more potential deadlocks that would otherwise prevent completion of the recovery of the replication journal. Other embodiments include methods and computer program products.