Reconfigurable Array Processor Sorting Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing array processors face inefficiencies in merging and sorting multiple input data streams due to limitations in comparison-based sorting techniques, particularly in big data applications like map-reduce operations and database searches, where scalability and speed are critical.

Innovation Solution

An array processor architecture is designed with a managing element and multiple processing elements, where the load streaming unit provides input data to and receives output data from processing elements, enabling comparisons and selections based on sorted combinations, and configuring processing elements to operate hierarchically for efficient merging and sorting of multiple input streams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If comparison-based sorting techniques are used in array processors, then sorting capability is provided, but processing efficiency and scalability are insufficient for big data applications

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The array processor is divided into multiple processing elements (PEs), each capable of independent comparison operations. This segmentation allows parallel processing of multiple data elements simultaneously, significantly improving sorting efficiency while distributing the computational complexity across multiple simple units rather than requiring a single complex sorting unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical organization with multiple levels of PEs arranged in a tree-like structure. This adds a dimensional aspect to the sorting process, where data flows through multiple levels of comparison stages. Each level performs comparisons on different subsets of data, transforming the sorting problem from a single-dimensional sequential process into a multi-dimensional parallel process that achieves O(log n) depth complexity.

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

2Speed

If multiple processing elements are used for parallel sorting, then processing speed improves, but system complexity and data management overhead increase

Engineering Contradiction:
Improvesorting speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent combines multiple sorted streams from different PE subsets into a single sorted output stream through a merging mechanism. This merging approach allows parallel PEs to work independently on their respective data subsets while the combining logic ensures the final output is globally sorted. The merging operation achieves parallel speedup while keeping individual PE complexity low, as each PE only needs to handle local comparisons and pass results to the merging stage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The load streaming unit acts as an intermediary that manages data distribution to PEs and collects results from them. This mediator component simplifies the complexity by providing a centralized coordination point that handles the intricate data routing and synchronization between multiple PEs, allowing the PEs themselves to remain simple comparison units without requiring complex inter-PE communication logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If hierarchical organization is implemented for merging streams, then scalability improves, but control and coordination complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoidcontrol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The hierarchical PE structure is designed to be dynamically configurable, where the number and arrangement of PEs can be adjusted based on the size of the input data and desired parallelism level. This dynamic adaptability allows the same architectural framework to scale from small to large datasets without requiring fundamental redesign. The control logic uses dynamic routing signals that adapt to the current configuration, enabling scalability while keeping control complexity manageable through parameterization rather than structural redesign.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10078513B2Comparison-based sort in a reconfigurable array processor having multiple processing elements for sorting array elements
Publication Date: 2018.09.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10078513B2 patent drawing
  • US10078513B2 patent drawing
  • US10078513B2 patent drawing

AI summary

An array processor includes a managing element having a load streaming unit coupled to multiple processing elements. The load streaming unit provides input data portions to each of a first subset of the processing elements and also receives output data from each of a second subset of the processing elements based on a comparatively sorted combination of the input data portions provided to the first subset of processing elements. Furthermore, each of processing elements is configurable by the managing element to compare input data portions received from either the load streaming unit or two or more of the other processing elements, wherein the input data portions are stored for processing in respective queues. Each processing unit is further configurable to select an input data portion to be output data based on the comparison, and in response to selecting the input data portion, remove a queue entry corresponding to the selected input data portion. Each processing element may be further configured to provide the selected output data portion to either the managing element or as an input to one of the processing elements.