Lock Access Optimization via Bloom Filter Contention Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current lock access mechanisms in storage arrays, such as spinlocks, lead to severe resource contention as the number of processors competing for access increases, resulting in inefficient use of shared resources.

Innovation Solution

Implement a method that uses a Bloom filter to track access patterns to each lock, categorizing locks as contended or uncontended based on access metrics, and perform read-to-test or read-for-ownership operations accordingly to optimize lock access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional spinlock mechanisms are used for lock access in storage arrays, then basic lock functionality is provided, but resource contention increases severely as the number of processors competing for access increases

Engineering Contradiction:
Improvelock access reliabilityVSAvoidresource access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by predicting the contention state of locks before actual access attempts. Bloom filters are pre-computed to predict whether a lock is likely to be contended, allowing processors to choose appropriate access strategies in advance, thereby avoiding the severe contention problems of traditional spinlocks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Bloom filters serve as an intermediary between processors and locks. Instead of processors directly competing for locks using traditional spinlock mechanisms, the Bloom filter intermediary predicts lock states and guides access patterns, reducing direct contention and improving overall system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Power

If the number of processors is increased to improve processing capacity, then computational power increases, but lock contention and resource competition worsen

Engineering Contradiction:
Improveprocessing capacityVSAvoidlock wait time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The system performs preliminary prediction of lock states using Bloom filters before processors attempt to access resources. This allows high-capacity multi-processor systems to anticipate contention scenarios and adjust access patterns proactively, preventing processors from wasting time in futile spinlock contention cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from Bloom filter predictions to dynamically adjust lock access strategies. When the Bloom filter indicates a lock is likely contended, processors can alternative actions; when uncontended, they proceed with standard access. This feedback mechanism enables high processor counts to operate efficiently without proportional increases in lock wait time.

Inventive Principle:
Principle #23Feedback

3Reliability

If contended locks are accessed using read-to-test operations, then lock state verification is performed, but access overhead increases compared to uncontended locks

Engineering Contradiction:
Improvelock state accuracyVSAvoidaccess operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies different access operation qualities locally based on lock characteristics. Contended locks receive read-to-test operations for verification, while uncontended locks use simpler read-for-ownership operations. This localized differentiation maintains reliability for contended locks while minimizing overhead for the majority of uncontended locks.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of access operation type based on the predicted contention state. By dynamically selecting between read-to-test and read-for-ownership operations according to Bloom filter predictions, the system adapts the complexity of access operations to match actual lock conditions, optimizing the balance between reliability and overhead.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12204520B2Controlling lock access operations
Publication Date: 2025.01.21 DELL PROD LP
  • US12204520B2 patent drawing
  • US12204520B2 patent drawing
  • US12204520B2 patent drawing

AI summary

One or more aspects of the present disclosure relate to controlling lock access operations. In embodiments, an instruction corresponding to a program by a processor of a plurality of processors in a computing device is received. In addition, a lock corresponding to a target resource of the instruction is obtained based on a contended or uncontended state of the lock. Further, the instruction is executed contemporaneously with obtaining the lock.