Ordered Mutual Exclusion via Segmented Priority Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current resource management schemes using locks, such as mutex, can lead to thread starvation, priority inheritance, and deadlock issues, particularly in systems where requests to shared resources need to be serviced in the order received rather than based on thread priority.

Innovation Solution

Implementing a queue manager data structure that allows resource users to obtain a unique place in line for accessing a shared resource, using atomic fields to prevent race conditions, and employing notification mechanisms like broadcast signals or events to ensure sequential access without relying on locks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If priority-based mutex allocation is used, then high priority threads can access shared resources faster, but lower priority threads may be starved indefinitely

Engineering Contradiction:
Improveaccess speed to shared resourceVSAvoidthread execution reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the thread queue into multiple priority levels (first priority queue and second priority queue), allowing threads to be managed separately based on their priority. This segmentation enables high priority threads to access resources faster while ensuring low priority threads still get serviced eventually, eliminating starvation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic queue management where the system can switch between serving first priority threads and second priority threads based on current system state. The queue manager dynamically adjusts which queue is serviced next, allowing flexible response to different threading scenarios while maintaining fairness.

Inventive Principle:
Principle #15Dynamics

2Reliability

If automatic priority inheritance is implemented, then thread starvation is reduced, but deadlock and repeated cycling between priorities may occur

Engineering Contradiction:
Improvethread execution reliabilityVSAvoidpriority management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides threads into distinct priority queues (first priority queue for higher priority threads, second priority queue for lower priority threads) and manages them separately. This segmentation simplifies priority management by avoiding the complex dynamic adjustments of traditional priority inheritance, reducing the risk of deadlock and repeated cycling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The queue manager acts as an intermediary between threads and shared resources, mediating access by servicing queues in a controlled manner. This intermediary approach simplifies the overall system complexity by centralizing queue management logic and avoiding the need for complex priority inheritance mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If mutex locks are used for resource access control, then exclusive access is guaranteed, but requests are not serviced in order received

Engineering Contradiction:
Improveexclusive access guaranteeVSAvoidrequest servicing order
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments request handling into ordered queues where requests are processed in the order they are received. By maintaining FIFO (first-in-first-out) ordering within each priority queue and servicing queues in order, the system guarantees both exclusive access and ordered request processing, eliminating the need for traditional mutex locks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the mechanical mutex locking system with a software-based queue management system. Instead of using mutex locks that inherently ignore request order, the system uses ordered queues and a queue manager to control access, achieving both exclusive access and request ordering through software logic rather than hardware primitives.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8832705B1Ordered mutual exclusion
Publication Date: 2014.09.09 EMC IP HLDG CO LLC
  • US8832705B1 patent drawing
  • US8832705B1 patent drawing
  • US8832705B1 patent drawing

AI summary

Ordered mutual exclusion is disclosed. A place in line to access a shared computing resource is obtained. In some embodiments the place in line is obtained by obtaining a globally unique place identifier. An indication is received that the shared computing resource is available to a specific next resource user. It is determine whether the place in line corresponds to the next resource user.