Dynamic Fair-Unfair Lock Switching for Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, preemption during locking processes, such as spinlocks, leads to system performance degradation due to increased waiting times and potential lock starvation, as processing units may be preempted while waiting for locks, affecting overall system efficiency.

Innovation Solution

A mechanism that dynamically switches between fair and unfair spinlock modes based on queue population and queue head status, allowing processing units to enter unfair lock mode when the queue is populated and inactive, ensuring forward progress and minimizing waiting times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If processing units use fair lock mode with a queue, then lock fairness is improved, but system performance deteriorates due to increased waiting times

Engineering Contradiction:
Improvelock fairnessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically switches between fair lock mode and unfair lock mode based on the state of the queue. When the queue is populated, the system operates in unfair lock mode to improve performance; when the queue is empty, it operates in fair lock mode to maintain fairness. This dynamic adaptation resolves the contradiction by allowing the system to optimize for either fairness or performance depending on current conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The locking mechanism changes its operational parameters by switching between two distinct modes: fair lock mode (first-come, first-served) and unfair lock mode (polling-based). This parameter change allows the system to adapt to different queue states, improving overall system performance while maintaining fairness when appropriate.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If processing units use unfair lock mode, then waiting times are reduced, but lock starvation occurs

Engineering Contradiction:
Improvewaiting timeVSAvoidlock starvation
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system dynamically adjusts the locking mode based on queue conditions. When the queue is populated, unfair lock mode is used to reduce waiting times for active processing units. When the queue is empty or contains only inactive processing units, fair lock mode is used to prevent starvation. This dynamic switching resolves the contradiction by applying unfair mode only when it benefits performance without causing starvation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors the queue state (populated vs. empty) and uses this feedback to determine the appropriate locking mode. This feedback mechanism ensures that unfair lock mode is only employed when there are active processing units waiting, thereby preventing starvation while still reducing waiting times when appropriate.

Inventive Principle:
Principle #23Feedback

3Speed

If preemption occurs during locking processes, then system responsiveness is improved, but lock acquisition reliability deteriorates

Engineering Contradiction:
Improvesystem responsivenessVSAvoidlock acquisition
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system adapts its locking behavior dynamically in response to preemption events. When preemption occurs and the queue state changes, the system switches between fair and unfair lock modes to maintain both responsiveness and reliable lock acquisition. This dynamic adaptation allows the system to recover from preemption interruptions effectively.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9959055B2Placement of a processing unit in unfair lock mode in response to a queue in a fair lock mode
Publication Date: 2018.05.01 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9959055B2 patent drawing
  • US9959055B2 patent drawing
  • US9959055B2 patent drawing

AI summary

Examples herein disclose identification of a presence of a processing unit that is to obtain the lock within a queue in a fair lock mode. In response to the presence of the processing unit within the queue, the examples place a separate processing unit in an unfair lock mode.