Global Lock Resource Queue System for Memory Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face performance issues due to the overhead of managing individual resource locks for millions of resources, leading to inefficiencies and increased memory usage in multi-threaded environments, where proper resource protection is crucial to prevent deadlocks and ensure data consistency.

Innovation Solution

Implementing a resource queue system where each resource is associated with a queue lock, allowing requesters to access resources without individual locks, by using a global lock to manage access and a resource queue to handle requests, with mechanisms for read and mutex access, and wake-up notifications for waiting threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual resource locks are used for each resource, then resource access protection is ensured, but memory usage and processing overhead increase significantly

Engineering Contradiction:
Improveresource access protectionVSAvoidmemory usage and processing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple individual resource locks into a single global lock that protects access to all resources in the pool. Instead of having separate locks for each resource, the system uses one global lock to synchronize access across all resources, thereby reducing the total number of locks from millions to just one, significantly decreasing memory usage and processing overhead while maintaining resource protection.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The global lock serves multiple functions simultaneously: it protects access to all resources in the pool, manages thread waiting queues for multiple resources, and coordinates read/write access across the entire resource pool. This multi-functional approach eliminates the need for individual locks while maintaining comprehensive resource protection.

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

2Reliability

If individual resource locks are used for each resource, then data consistency is maintained, but system performance decreases due to lock management overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple individual lock acquisition operations into a single global lock acquisition. By holding the global lock throughout the resource access process, the system ensures data consistency without the repeated lock/unlock overhead that would occur with individual resource locks, thereby improving system performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The global lock acts as an intermediary that coordinates access to all resources indirectly. Instead of directly locking each resource individually, the global lock mediates access by ensuring that only one thread can access any resource at a time, maintaining data consistency while reducing the number of locking operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple individual locks are used across millions of resources, then resource contention is prevented, but deadlocks may occur more frequently

Engineering Contradiction:
Improveresource contention preventionVSAvoiddeadlock risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent eliminates the possibility of deadlocks by merging all individual locks into a single global lock. With only one lock in the system, there can be no circular wait conditions that lead to deadlocks. The global lock ensures resource contention prevention while completely eliminating deadlock risk.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9213586B2Computer-implemented systems for resource level locking without resource level locks
Publication Date: 2015.12.15 SAS INSTITUTE INC
  • US9213586B2 patent drawing
  • US9213586B2 patent drawing
  • US9213586B2 patent drawing

AI summary

Computer-implemented systems and methods regulate access to a plurality of resources in a pool of resources without requiring individual locks associated with each resource. Access to one of the plurality of resources is requested, where a resource queue for managing threads waiting to access a resource is associated with each of the plurality of resources. A resource queue lock associated with the resource is acquired, where a resource queue lock is associated with multiple resources.