Hardware Accelerator Converts Lock-Free to Wait-Free Algorithms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Lock-free algorithms face challenges with atomicity violations, particularly the ABA hazard, leading to unpredictable timing and inefficiencies in ensuring data integrity, especially in systems requiring deterministic behavior.

Innovation Solution

A method and system that convert lock-free algorithms to wait-free algorithms using a hardware accelerator, which processes read/write requests, checks operation-specific conditions, and updates values/state variables, ensuring contention resolution through arbitration protocols and priority resolution techniques, thereby eliminating atomicity violations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If lock-free algorithms are used to ensure data integrity in multithreaded systems, then concurrency is improved, but atomicity violations and ABA hazards occur leading to unpredictable timing

Engineering Contradiction:
ImproveconcurrencyVSAvoidatomicity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a hardware accelerator as an intermediary component between multiple processing units and shared memory. This hardware accelerator implements wait-free algorithms that use version counters and atomic operations to mediate access to shared data, preventing ABA hazards and atomicity violations while maintaining high concurrency. The hardware accelerator acts as a mediator that coordinates updates using version numbers to detect and prevent incorrect overwrites.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If hardware accelerators are used to implement wait-free algorithms, then deterministic behavior is achieved, but device complexity increases

Engineering Contradiction:
Improvedeterministic behaviorVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the system into multiple independent components: multiple processing units that execute software threads, a dedicated hardware accelerator that implements wait-free algorithms, and shared memory. The hardware accelerator is further segmented into separate units for different operations (e.g., version counter management, atomic comparisons, data updates). This segmentation allows deterministic behavior within each component while keeping individual component complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware accelerator serves as an intermediary that offloads complex atomic operations from software, providing deterministic behavior through hardware-enforced atomicity. By using dedicated hardware circuits for version counter incrementing, comparing, and conditional updating, the system achieves predictable timing without requiring complex software synchronization protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If version counters are used to prevent ABA hazards, then atomicity is improved, but memory overhead increases

Engineering Contradiction:
ImproveatomicityVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the version counter with the data element in memory, storing them together as a single atomic unit. Instead of maintaining separate version counter variables for each shared variable, the version counter is integrated into the memory structure itself, allowing the data and its version information to be updated atomically together. This reduces memory overhead by eliminating redundant version counter storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The hardware accelerator implements a universal version counter mechanism that serves multiple purposes: detecting ABA hazards, ensuring atomicity of updates, and providing deterministic ordering of operations. The same hardware circuitry and version counter infrastructure is used across all wait-free data structures in the system, reducing overall memory overhead through shared functionality rather than duplicating version counter mechanisms for each data structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9684614B2System and method to convert lock-free algorithms to wait-free using a hardware accelerator
Publication Date: 2017.06.20 SIGNALCHIP INNOVATIONS
  • US9684614B2 patent drawing
  • US9684614B2 patent drawing
  • US9684614B2 patent drawing

AI summary

A method to convert lock-free algorithm to wait-free using a hardware accelerator includes (i) executing a plurality of software threads by a plurality of processing units associated, the plurality of software threads is associated with at least one operation, (ii) generating at least one of a read request or a write request at the hardware accelerator based on the execution, (iii) generating at least one operation includes PARAM and read request or the write request at the hardware accelerator, (iv) checking, an operation specific condition of at least one software thread of the plurality of software threads, and (v) updating, at least one read value or write value and at least one state variable upon the operation specific condition being an operation success. The operation specific condition includes an operation success or an operation failure based on the PARAM, the read request, or the write request.