Tree-Based Trylock for RCU Memory Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large systems with many processors, existing read-copy update (RCU) implementations face extreme memory contention due to high rates of attempts to acquire the global quiescent state forcing lock, leading to reduced throughput and sub-optimal energy efficiency.

Innovation Solution

A tree-based trylock operation is implemented to reduce contention on the root trylock by distributing trylocks among nodes of a tree-based node structure, allowing processors to be assigned to leaf nodes in a balanced manner, and attempting to acquire trylocks along a traversal path from leaf to root, with all non-root trylocks released if the acquisition fails.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a global quiescent state forcing lock is used in RCU implementations, then data consistency is maintained, but memory contention increases and throughput decreases in large systems with many processors

Engineering Contradiction:
Improvedata consistencyVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the single global quiescent state forcing lock into multiple hierarchical trylocks distributed across a tree structure. Each processor is assigned to a leaf node and acquires trylocks along the path to the root, segmenting the centralized locking mechanism into distributed hierarchical locks that reduce contention while maintaining data consistency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a global quiescent state forcing lock is used in RCU implementations, then data consistency is maintained, but energy efficiency deteriorates due to redundant acquisition attempts

Engineering Contradiction:
Improvedata consistencyVSAvoidenergy efficiency
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the global locking operation into hierarchical trylocks distributed across the tree structure. This segmentation eliminates redundant acquisition attempts by allowing processors to acquire locks in a structured manner along their traversal paths, reducing wasted energy while preserving data consistency through the hierarchical locking mechanism.

Inventive Principle:
Principle #1Segmentation

3Productivity

If trylocks are distributed among tree nodes with processors assigned to leaf nodes, then memory contention is reduced, but device complexity increases

Engineering Contradiction:
Improvememory contentionVSAvoidlocking structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a nested hierarchical structure where trylocks are organized in a tree with processors at leaf nodes and root trylock at the top. This nesting allows the system to manage complexity through hierarchical organization, where each level of the tree encapsulates a subset of the locking logic, reducing memory contention while keeping the overall structure manageable.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent transitions from a single-dimension global lock to a multi-dimensional hierarchical tree structure. By organizing trylocks across multiple levels and dimensions of the tree, the system reduces contention through spatial distribution while managing complexity through the structured hierarchical arrangement.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9396226B2Highly scalable tree-based trylock
Publication Date: 2016.07.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9396226B2 patent drawing
  • US9396226B2 patent drawing
  • US9396226B2 patent drawing

AI summary

A tree-based trylock technique for reducing contention on a root trylock includes attempting to acquire a trylock at each node of a tree-based hierarchical node structure while following a traversal path that begins at a leaf node, passes through one or more of internal nodes, and ends at a root node having the root trylock. The trylock acquisition operation succeeds if each trylock on the traversal path is acquired, and fails if any trylock on the traversal path cannot be acquired. A trylock housekeeping operation releases all non-root trylocks visited by the trylock acquisition operation, such that if the trylock acquisition operation succeeds, only the root trylock will be remain acquired at the end of the operation, and if the trylock acquisition operation fails, none of the trylocks will be remain acquired at the end of the operation.