ColoredLock Synchronization Object for Deadlock Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems, the use of locks for synchronization can lead to deadlock conditions during high availability procedures, where threads waiting for resources may prevent the completion of high availability processes, causing system failures.
Innovation Solution
The implementation of a ColoredLock synchronization object with a flow-specific policy for lock canceling, which allows selective termination of requests waiting on colored lock objects, preventing deadlock conditions by using an extended lock API with a color attribute to manage thread flows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If threads hold locks during high availability procedures, then resource protection is maintained, but deadlock conditions occur preventing procedure completion
Solution Approach 1:
The patent segments the lock management by introducing flow-specific policies. Different thread flows (IO threads vs. high availability threads) are assigned different lock cancellation policies, allowing the system to protect resources while enabling procedure completion by selectively canceling locks for specific flows during high availability procedures
Solution Approach 2:
The patent changes the lock object parameters by adding flow identification and flow-specific policy attributes. This allows the same lock object to behave differently for different thread flows, enabling resource protection for some flows while allowing procedure progression for others
2Reliability
If IO threads wait on locks during high availability procedures, then resource access is controlled, but system responsiveness deteriorates
Solution Approach 1:
The patent introduces dynamic lock cancellation policies that can be activated during high availability procedures. IO threads waiting on locks can be selectively canceled based on flow-specific policies, making the lock management adaptive to system state changes and improving responsiveness during critical procedures
3Ease of manufacture
If traditional lock objects are used, then implementation is simple, but deadlock prevention capability is insufficient
Solution Approach 1:
The patent creates a universal lock object that can serve multiple purposes: traditional resource protection and flow-specific deadlock prevention. The extended lock object maintains backward compatibility while adding new capabilities through flow identification and policy-based cancellation, eliminating the need for separate lock mechanisms
Data Source
AI summary
Aspects for operating a computer system include a colored lock synchronization object allowing flow specific policy of lock canceling. An extended lock object Application Programming Interface (API) including a color attribute is utilized. A color attribute is passed to the extended lock API, whereby the color attribute reflects a type of flow or thread that called a colored lock object. Selective termination of requests waiting on a colored lock object can be utilized to prevent a potential deadlock condition.


