Lockless Spin Buffer for Concurrent Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Achieving high performance for communications between concurrent applications on modern multiprocessors is challenging due to limitations in synchronization mechanisms for producer-consumer patterns, particularly in remote or shared buffers, which often result in reduced performance.

Innovation Solution

The implementation of a lockless spin buffer (LLSB) system that includes multiple lockless circular buffers (LLCBs), allowing data producers and consumers to operate concurrently without locks, using atomic operations and dynamic adaptation based on available resources to maximize data transfer rate and minimize latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronization mechanisms are used to guarantee correct utilization of remote or shared buffers, then data transfer reliability is improved, but performance is reduced

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoiddata transfer performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the synchronization mechanism from the buffer access protocol by implementing a lockless design. Multiple lockless circular buffers (LLCBs) are used with atomic operations to eliminate locks entirely, allowing producers and consumers to access buffers without synchronization overhead while maintaining correctness through atomic read/write pointers and cycle detection mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary cycle detection mechanism that mediates between producers and consumers. When a producer detects that all consumers are sleeping, it cycles through consumer indices to detect if any consumer is awake, allowing selective awakening without locks. This intermediary detection layer enables coordination without traditional synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If locks are used to ensure exclusive access to buffer components, then data consistency is improved, but system throughput is reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the buffer system into multiple independent lockless circular buffers (LLCBs), each accessible by specific producer-consumer pairs. This segmentation eliminates the need for global locks, as each buffer can be accessed independently through atomic operations, maintaining data consistency within each segment while allowing parallel access across segments, thus improving throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the mechanical locking system with atomic operations and software-based cycle detection. Instead of using hardware or software locks that block access, the system uses atomic read/write pointer updates and spin-cycling mechanisms to detect and coordinate access, substituting the blocking mechanical lock system with a non-blocking atomic operation system that maintains consistency through operational semantics rather than mutual exclusion.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If multiple producers and consumers access the same buffer concurrently, then resource utilization is improved, but synchronization complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal lockless buffer interface that handles multiple producers and consumers concurrently through a standardized set of atomic operations. The same buffer structure and access protocol serve all producer-consumer pairs, eliminating the need for separate synchronization logic for each pair. The cycle detection mechanism universally applies to all consumers, providing a scalable solution that maintains low complexity even as the number of concurrent accessors increases.

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

Data Source

PatentUS9223638B2Lockless spin buffer
Publication Date: 2015.12.29 SAP SE
  • US9223638B2 patent drawing
  • US9223638B2 patent drawing
  • US9223638B2 patent drawing

AI summary

Implementations of the present disclosure are directed to enabling data transfer between data producers and data consumers. Implementations include generating a data structure, the data structure including a lockless spin buffer (LLSB), the LLSB including two or more lockless components, each of the two or more lockless components including a plurality of elements to be written to and read from, providing one or more write pointers to enable one or more data producers to write to each of the two or more lockless components, and providing one or more read pointers to enable one or more data consumers to read from each of the two or more lockless components, the one or more data producers being able to write to the LLSB concurrently with the one or more data consumers being able to read from the LLSB.