Lock-Free Skiplist Wait-Free Contains Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrent skiplist data structures in computer systems face challenges in achieving wait-free Contains operations, leading to contention-related delays and inefficiencies, especially in high-contention situations, as existing lock-free implementations do not provide timely completion for search operations.

Innovation Solution

A new lock-free skiplist algorithm that supports wait-free membership tests by using a method that locates nodes in the skiplist data structure, allowing concurrent modifications and ensuring that the search traversal terminates on the bottom-level linked list, with list-level references being marked or unmarked to determine node existence, enabling efficient key searches and operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock-free skiplist algorithms are used for concurrent access, then thread safety and concurrent operation capability are improved, but search operations may experience contention-related delays and fail to provide timely completion

Engineering Contradiction:
Improvethread safetyVSAvoidsearch operation completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the skiplist into multiple levels with sentinels at each level, allowing search operations to proceed independently at each level. The Contains operation is divided into traversing levels from top to bottom, with each level processed separately, enabling wait-free completion without blocking other concurrent operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces sentinel nodes as intermediaries at each level of the skiplist. These sentinels act as markers that help the Contains operation determine when to stop traversing at each level without requiring locks or waiting for other operations, thus enabling wait-free search completion while maintaining thread safety.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If traditional lock-free skiplist implementations are used, then concurrent modifications are supported, but Contains operations do not provide wait-free completion and may be delayed by concurrent modifications

Engineering Contradiction:
Improveconcurrent modification supportVSAvoidContains operation throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by establishing sentinel nodes at each level before the Contains operation begins traversal. These sentinels are pre-positioned to mark the extent of the skiplist at each level, allowing the search to proceed without needing to detect or wait for concurrent modifications, thus achieving wait-free completion while supporting concurrent modifications.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses feedback from the sentinel nodes to determine when to stop traversing at each level. The Contains operation continuously checks for sentinel markers and uses this feedback to know when it has reached the end of the skiplist at that level, enabling it to complete without waiting for concurrent modifications to finish.

Inventive Principle:
Principle #23Feedback

3Stability of the object's composition

If skiplist operations require rebalancing like tree structures, then structural balance is maintained, but operation complexity and performance overhead increase

Engineering Contradiction:
Improvestructural balanceVSAvoidoperation complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent extracts the rebalancing requirement from the skiplist structure by using a different approach to maintain order. Instead of rebalancing like tree structures, the skiplist maintains sorted order through its inherent linked list structure at multiple levels, eliminating the need for complex rebalancing operations while keeping the structure simple and operations efficient.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transitions from a single-level sorted structure to a multi-level structure, adding a vertical dimension to the skiplist. This dimensional change allows efficient search operations by skipping through higher levels to reach the target key faster, while maintaining structural simplicity without requiring rebalancing operations.

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

Data Source

PatentUS7937378B2Concurrent lock-free skiplist with wait-free contains operator
Publication Date: 2011.05.03 ORACLE AMERICAN INC
  • US7937378B2 patent drawing
  • US7937378B2 patent drawing
  • US7937378B2 patent drawing

AI summary

Apparatus, methods, and computer program products are disclosed for performing a wait-free search of a concurrent, lock-free skiplist to determine existence of a sought-after key.