Quickly Reacquirable Locks Biasing for Reduced Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing mutual exclusion techniques are inefficient for program execution sequences where a dominant process repeatedly acquires and releases a lock, but other processes rarely access it, and they impose significant overhead in single-threaded or concurrent execution environments.

Innovation Solution

The development of quickly reacquirable locks (QRLs) that are biasable to a particular thread, allowing for optimized acquisition and release operations using only read and write memory access operations, avoiding atomic read-modify-write instructions in the ultra fast path, and reverting to a neutral state if accessed by another thread.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional mutual exclusion locks are used, then thread safety is guaranteed, but locking overhead is significant and performance degrades in single-threaded or dominated-process scenarios

Engineering Contradiction:
Improveexecution efficiencyVSAvoidlocking overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The lock dynamically adapts its behavior based on execution context. When a single thread or dominant process repeatedly acquires the lock, the system transitions to an optimized fast path using simple read/write operations. When contention is detected, it automatically falls back to conventional atomic operations, making the locking mechanism dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different quality characteristics to different execution paths. The fast path uses non-atomic read/write operations optimized for uncontended scenarios, while the slow path uses atomic operations for contended scenarios. This local optimization allows the system to achieve high performance in dominant-process scenarios without sacrificing thread safety when needed.

Inventive Principle:
Principle #3Local quality

2Reliability

If atomic read-modify-write instructions are used in lock operations, then thread safety is ensured, but operation complexity and performance overhead increase

Engineering Contradiction:
Improvethread safetyVSAvoidoperation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The lock implementation is segmented into two distinct paths: a fast path for uncontended acquisition using simple read/write operations, and a slow path for contended acquisition using atomic operations. This segmentation allows the system to use complex atomic operations only when necessary, reducing overall operational complexity while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the fast path with bias tracking) that sits between the application code and the underlying atomic operations. This intermediary handles the common case of uncontended locking without requiring atomic operations, reserving complex atomic instructions only for when they are truly needed, thus reducing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If locks are optimized for single-threaded execution, then performance improves, but suitability for multithreaded execution decreases

Engineering Contradiction:
Improvesingle-threaded performanceVSAvoidmultithreaded suitability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The QRL lock is designed to be universal, serving both single-threaded and multithreaded execution models effectively. The fast path optimizes for single-threaded or dominant-process scenarios with simple read/write operations, while the slow path ensures thread safety for multithreaded scenarios using atomic operations. This multi-functionality allows the same lock implementation to adapt to different execution contexts without sacrificing performance or safety.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7814488B1Quickly reacquirable locks
Publication Date: 2010.10.12 ORACLE AMERICAN INC
  • US7814488B1 patent drawing
  • US7814488B1 patent drawing
  • US7814488B1 patent drawing

AI summary

Techniques are provided for quickly reacquiring mutual exclusion locks (QRLs), such as in the case in which a single process repeatedly acquires and releases the lock and in which no other process attempts to acquire the same lock. When the first holder of a QRL first acquires the lock, it biases the lock to itself. Bias may be directed in different way or at different times in some realizations. Biasing may involve a one-time compare-and-swap instruction. Thereafter, this bias-holder can reacquire and release the lock free of atomic read-modify-write operations. If a second process attempts to acquire a QRL, then the lock may revert to a “default lock”. Any standard mutual exclusion lock may be used as the default lock. A QRL lock may be reinitialized so that it can be rebiased. Rebiasing may be valuable in the case of migratory data access patterns.