Lock-Free Reorder Buffer for Parallel Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel data processing environments, maintaining the original order of data items is crucial, but existing lock mechanisms for reorder buffers do not scale well, leading to throughput decreases and bottlenecks when multiple processing elements access the buffer simultaneously.

Innovation Solution

A lock-free design is implemented using a reorder buffer with a buffer change indicator, allowing processing elements to reserve and insert data items independently, with concurrent insertion operations synchronized through atomic compare-and-swap operations on the buffer change indicator, ensuring correct ordering and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock mechanisms are used to ensure mutual exclusion for reorder buffer access, then data ordering is maintained, but scalability deteriorates and throughput decreases as more processing elements are added

Engineering Contradiction:
Improvedata orderingVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the locking mechanism from the reorder buffer access control and replaces it with a lock-free approach using per-processing-element state tracking and atomic operations. This removes the bottleneck caused by mutual exclusion while maintaining data ordering through alternative means (tracking which slots are filled and using atomic compare-and-swap operations on the next slot indicator).

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a next_slot indicator and per-processing-element state variables that mediate access to the reorder buffer without requiring locks. This intermediary layer enables coordinated access among multiple processing elements while avoiding the contention inherent in lock-based approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a single thread is dedicated to handle reordering, then data ordering is maintained, but a bottleneck is created and parallel processing efficiency is lost

Engineering Contradiction:
Improvedata orderingVSAvoidprocessing architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the reorder buffer management responsibilities among multiple processing elements, with each element tracking its own state and having controlled access to specific slots. This segmentation eliminates the single-thread bottleneck while maintaining ordering through the coordinated use of the next_slot indicator and atomic operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent makes each processing element multi-functional by enabling them to both process data items and manage reorder buffer slots independently. This universal capability allows parallel processing while maintaining ordering, as each element can autonomously insert completed items and retrieve new items without centralized control.

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

3Productivity

If processing elements access the reorder buffer concurrently without locks, then throughput is improved, but data ordering may be compromised

Engineering Contradiction:
ImprovethroughputVSAvoiddata ordering
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback through the next_slot indicator that provides real-time information about buffer state to all processing elements. This feedback mechanism enables concurrent access while preventing ordering violations, as each element can atomically check and update the next_slot value to determine which slots are available for insertion and which items are ready for retrieval.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces the mechanical lock-based mutual exclusion system with an atomic operation-based coordination system. This substitution eliminates the contention and performance degradation associated with locks while maintaining data ordering through the use of atomic compare-and-swap operations on the next_slot indicator and per-element state tracking.

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

Data Source

PatentUS10025554B2Data item order restoration
Publication Date: 2018.07.17 ARM LTD
  • US10025554B2 patent drawing
  • US10025554B2 patent drawing
  • US10025554B2 patent drawing

AI summary

An apparatus and a corresponding method for processing a sequence of received data items are disclosed. The processing is performed by multiple processing elements. A reorder buffer comprising multiple slots is used to maintain the order of the received data items, wherein a processing element reserves a next available slot in the reorder buffer before beginning processing the next data item of the sequence of received data items. On completion of the processing a buffer change indicator value is read by the processing element when seeking to insert the processed data item into the reserved slot. If the buffer change indicator changes during the course of the insertion process, this serves as an indication to the processing element that another processing element is modifying the content of the reorder buffer in parallel. A check may be repeated for at least one subsequent already-processed data item, since this latter data item may have become ready to be retired from the reorder buffer.