Node Controller Lock Allocation for Multi-CPU Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-CPU computing devices, the lock contention process involves significant packet transmission and processing overhead, leading to delays due to the need for multiple CPUs to send and receive listening requests to determine lock invalidation status.

Innovation Solution

A lock allocation method and apparatus that utilize node controllers (NCs) with local and remote queues to manage lock requests, allowing CPUs to obtain locks without sending listening requests and reducing packet transmission by using migration queues to allocate locks in a first-in-first-out sequence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CPUs use traditional lock contention process with listening requests, then lock access control is ensured, but packet transmission overhead and processing delay increase significantly

Engineering Contradiction:
Improvelock access controlVSAvoidlock acquisition delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces node controllers (NCs) as intermediary components between CPUs and shared resources. Each NC manages local and remote queues for lock requests, acting as a mediator that handles lock allocation without requiring direct CPU-to-CPU communication. This eliminates the need for listening requests between CPUs, reducing packet transmission overhead while maintaining reliable lock control through the NC's queue management mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments lock management functions by distributing local queues and remote queues across different node controllers. Each NC independently manages its own queues, dividing the centralized lock contention process into distributed segments. This segmentation allows lock requests to be processed locally without requiring global coordination through listening requests, thereby reducing communication overhead and acquisition delay.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If multiple CPUs send and receive listening requests to determine lock invalidation, then lock status is accurately tracked, but processing overhead increases

Engineering Contradiction:
Improvelock status trackingVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The node controllers perform self-service by autonomously managing lock request queues and determining lock allocation without requiring other CPUs to send listening requests. Each NC independently tracks lock status through its local and remote queues, eliminating the need for inter-CPU verification messages. This self-service approach maintains accurate lock status tracking while significantly reducing processing overhead associated with listening request handling.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11231964B2Computing device shared resource lock allocation
Publication Date: 2022.01.25 HUAWEI TECH CO LTD
  • US11231964B2 patent drawing
  • US11231964B2 patent drawing
  • US11231964B2 patent drawing

AI summary

A lock allocation method and apparatus, and a computing device to resolve a problem of lock contention, where the method includes a first node controller (NC) receives a first migration queue from a second NC, allocates a first target lock to a first central processing unit (CPU) associated with the first NC, deletes the first lock request at the queue head in the first migration queue when receiving a request for releasing the first target lock from the first CPU, changes a lock flag bit of a second lock request to a lock flag bit indicating a locked state when the first migration queue is not empty, determines a third NC sending the second lock request, and sends the first migration queue to the third NC.