Wide Key Sort Network Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data sorting technologies face limitations in scalability and resource efficiency, particularly when implemented in hardware or software, due to constraints such as microarchitectural limitations, power constraints, and bounded sort key width, leading to difficult tradeoffs and reduced applicability.

Innovation Solution

A scalable hardware-wide key sort technique that utilizes parallel CPU threads and custom hardware solutions to implement a deep merge sort network, allowing for efficient sorting of small to large data sets with flexible scalability and low resource requirements, while supporting data at rest and in flight, and enabling pipelined-parallelism for optimized throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dedicated hardware (HW) or vectorized software (SW) implementations are used for data sorting, then sorting speed and throughput are improved, but area constraints, power constraints, and bounded sort key width worsen

Engineering Contradiction:
Improvesorting speedVSAvoidarea constraints
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The sorting system is divided into multiple processing elements (PEs) that work in parallel. Each PE handles a portion of the sorting task, allowing the system to achieve high throughput while keeping individual PE complexity and resource requirements manageable. The segmented approach enables scaling without proportionally increasing total area or power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extends sorting capability from traditional fixed-width keys to wide-key sorting by adding dimensional capacity. This is achieved through a hierarchical structure where multiple PEs process different segments of wide keys simultaneously, effectively adding a dimension to the sorting capability without linearly increasing resource requirements.

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

2Productivity

If dedicated hardware (HW) or vectorized software (SW) implementations are used for data sorting, then sorting speed and throughput are improved, but power consumption increases

Engineering Contradiction:
ImprovethroughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The sorting workload is segmented across multiple processing elements that operate in parallel. This segmentation allows the system to achieve high throughput while each individual PE consumes relatively little power, making the overall power consumption more efficient compared to a single high-performance sorter.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs simple, resource-efficient processing elements that can be instantiated multiple times. These PEs use minimal resources and power individually, but when combined in parallel, they achieve high throughput. The simplicity of each PE makes them computationally inexpensive while maintaining overall system efficiency.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Ease of manufacture

If traditional sort algorithms are used, then implementation simplicity is maintained, but scalability and adaptability to different data topologies worsen

Engineering Contradiction:
Improveimplementation simplicityVSAvoidscalability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The processing elements are designed with universal functionality to handle various data topologies and sorting requirements. Each PE can process different types of data streams and adapt to different configurations, making the overall system highly scalable and versatile while maintaining implementation simplicity through standardized components.

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

Solution Approach 2:

The system employs dynamic configuration capabilities where processing elements can be activated or deactivated based on workload requirements. This dynamic approach allows the system to scale from small to large data sets efficiently, adapting resource allocation to match actual needs without requiring complete redesign for different scales.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If bounded sort key width is used, then hardware resource requirements are reduced, but the breadth of problems the algorithm may solve is limited

Engineering Contradiction:
Improvehardware resource requirementsVSAvoidproblem-solving breadth
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

Wide keys are segmented into multiple narrower key portions that are processed in parallel by different processing elements. Each PE handles a segment of the wide key with minimal resource requirements, yet the combined system achieves wide-key sorting capability. This segmentation allows the system to solve broader problems without increasing individual hardware resource requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from processing single fixed-width keys to processing wide keys by adding dimensional capacity through multiple processing elements. Each PE works on a portion of the wide key, effectively extending the key width capability without requiring any single PE to have excessive resource requirements.

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

Data Source

PatentUS10545959B2Method and a system for efficient data sorting
Publication Date: 2020.01.28 TERADATA US INC
  • US10545959B2 patent drawing
  • US10545959B2 patent drawing
  • US10545959B2 patent drawing

AI summary

Methods and an apparatus for data sorting is provided. Keys are derived from a data set and a mapping function is obtained for sorting the data set in accordance with the mapping function. A wide key sort on the keys is performed over a plurality of distributed nodes using the mapping function, resulting in sorted lists of rows from the data set produced in parallel from the nodes with each row associated with a unique one of the keys pushed to a stack machine. The sort process is an ordered row traversal from the stack machine.