Fairness Queue Mechanism for Multiprocessor Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, unfair resource allocation can lead to delays and starvation of certain operation types due to variations in request service time and competing priorities, where higher priority operations may be queued behind lower priority operations, causing inefficiencies and delays in accessing shared resources.

Innovation Solution

Implementing multiple fairness queues and a 'take-two' bit mechanism to track previous attempts of operations to acquire resources, ensuring that an operation type does not wait for more than a configurable number of failed attempts before accessing the resource, thereby preventing starvation and maintaining fairness among operation types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If requests are processed in a single centralized queue, then resource allocation is simplified, but high-priority operations may be starved by low-priority operations causing delays

Engineering Contradiction:
Improveresource allocation mechanismVSAvoidoperation delay
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the single centralized queue into multiple fairness queues (e.g., first fairness queue and second fairness queue) that operate independently. Each queue handles specific operation types or priorities, preventing any single operation from monopolizing the resource and causing starvation of others. This segmentation resolves the contradiction by maintaining simple resource allocation while eliminating delays through parallel queue processing.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple fairness queues are implemented to prevent starvation, then operation fairness is improved, but system complexity increases

Engineering Contradiction:
Improveoperation fairnessVSAvoidqueue management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a fairness queue manager as an intermediary component that coordinates between multiple fairness queues and the shared resource. This manager implements the take-two bit mechanism and monitors failed attempts, providing centralized control logic that keeps the overall system manageable. The intermediary absorbs the complexity of queue management while presenting a simple interface for resource allocation, resolving the contradiction between fairness and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic queue selection based on the take-two bit state and failed attempt counts. The system adapts its behavior by allowing operations to retry up to a configurable number of times before switching queues, creating a flexible and responsive queue management system. This dynamic approach maintains fairness while keeping the structure adaptable rather than rigid, managing complexity through intelligent behavior rather than static structure.

Inventive Principle:
Principle #15Dynamics

3Reliability

If operations can retry multiple times to access resources, then resource access fairness is improved, but processing time increases due to repeated failed attempts

Engineering Contradiction:
Improveresource access guaranteeVSAvoidtotal processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a take-two bit mechanism that allows operations to retry a limited number of times (configured attempts) before switching to another fairness queue. This partial action approach provides enough retry opportunities to ensure fair resource access while preventing excessive retries that would waste time. The configurable attempt limit strikes the optimal balance between guaranteeing resource access and minimizing processing time overhead.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent employs periodic switching between fairness queues based on failed attempt thresholds. When an operation exhausts its allowed retry attempts in one queue, the system periodically redirects it to another fairness queue for subsequent attempts. This periodic redistribution ensures that no single queue becomes a bottleneck and that all operations eventually gain fair access to resources without indefinite waiting, resolving the contradiction between access guarantee and time efficiency.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10942775B2Modified central serialization of requests in multiprocessor systems
Publication Date: 2021.03.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10942775B2 patent drawing
  • US10942775B2 patent drawing
  • US10942775B2 patent drawing

AI summary

Embodiments includes a computer-implemented method, a system and computer-program product for modifying central serialization of requests in multiprocessor systems. Some embodiments includes receiving an operation requiring resources from a pool of resources, determining an availability of the pool of resources required by the operation, and selecting a queue of a plurality of queues to queue the operation based at least in part on the availability of the pool of resources. Some embodiments also include setting a resource needs register and needs register for the selected queue, and setting a take-two bit for the selected queue.