Accelerator Hash Bucket Lock Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing locking mechanisms in modern computer systems, particularly in distributed database management systems, face inefficiencies and performance degradation due to concurrent access requirements, leading to increased latency and scalability hurdles.

Innovation Solution

A method and system that utilize a hash function to identify a hash bucket in shared memory, where a request to lock a resource is either fulfilled by an accelerator if the bucket is empty or forwarded to a master lock monitor if occupied, optimizing lock management and reducing contention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized locking mechanism is used to ensure data integrity, then reliability is improved, but latency increases and scalability deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The locking mechanism is segmented into two paths: a fast path for uncontended locks that bypasses the master lock monitor and uses local hash bucket checks, and a slow path for contended locks that goes through the master lock monitor. This segmentation allows most lock operations to complete quickly while maintaining centralized coordination when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An accelerator component is introduced as an intermediary between clients and the master lock monitor. The accelerator handles uncontended lock requests locally using hash buckets in shared memory, acting as a mediator that filters out simple requests before they reach the master lock monitor, thereby reducing latency for the majority of operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a centralized locking mechanism is used to control resource access, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidlocking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The locking system is divided into multiple components with distinct responsibilities: the master lock monitor for centralized coordination, accelerators for local fast-path handling, and hash buckets for quick lookups. This segmentation distributes complexity across components rather than concentrating it in a single monolithic locking mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator enables lock requests to serve themselves by checking hash buckets locally without requiring master lock monitor intervention for uncontended cases. This self-service capability reduces the complexity of centralized coordination by handling routine operations autonomously.

Inventive Principle:
Principle #25Self-service

3Reliability

If traditional locking mechanisms are used to manage concurrent access, then data integrity is maintained, but productivity decreases

Engineering Contradiction:
Improvedata integrityVSAvoidconcurrent access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The locking mechanism is segmented into fast-path and slow-path operations, allowing uncontended concurrent access to proceed rapidly through local hash bucket checks while contended access is properly coordinated. This enables high productivity for the majority of non-conflicting operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator acts as an intermediary that handles the bulk of lock requests locally, enabling efficient concurrent access without bottlenecking at the master lock monitor. This intermediary layer preserves data integrity while dramatically improving productivity for concurrent workloads.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9460144B2Lock acceleration
Publication Date: 2016.10.04 ORACLE INT CORP
  • US9460144B2 patent drawing
  • US9460144B2 patent drawing
  • US9460144B2 patent drawing

AI summary

A method for locking resources, including: receiving, by an accelerator, a first request from a first client to lock a first resource; evaluating, by a computer processor of a server, a hash function using an identifier of the first resource as an input to the hash function; identifying, by the computer processor and based on evaluating the hash function, a first hash bucket in a shared memory residing in a physical memory of the server; detecting that the first hash bucket is occupied; and sending the first request to a master lock monitor residing in a user space of the server based at least on detecting that the first hash bucket is occupied.