Hardware Merge Sort Accelerator Tournament Tree Cache Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional tournament tree sort algorithms require large buffers and increased processing power as the size of the sort tree and keys increase, leading to inefficiencies in sorting performance.

Innovation Solution

A computer system employing a parallel sort scheme using a single master tournament tree performs multiple passes through the tree to determine the overall winner, reducing the need for excessive buffer storage and leveraging the existing cache for improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional tournament tree sort algorithms are used, then sorting capability is provided, but buffer requirements and processing power increase significantly with tree size

Engineering Contradiction:
Improvesorting performanceVSAvoidbuffer storage requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system performs preliminary actions by pre-establishing the tournament tree structure and pre-positioning data in the processor cache before the actual sorting operation begins. This allows the sorting algorithm to proceed more efficiently without requiring large buffers during execution, as the foundational data structure is already in place and readily accessible.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The processor cache serves as an intermediary between the main memory and the sorting algorithm. By leveraging the existing cache structure, the system can store and quickly access tournament tree data without requiring additional dedicated buffer storage. The cache acts as a mediator that provides fast access to the data needed for sorting operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If conventional tournament tree sort algorithms are used, then sorting capability is provided, but processing power requirements increase with tree size

Engineering Contradiction:
Improvesorting performanceVSAvoidprocessing power requirements
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The system employs self-service mechanisms where the tournament tree structure is designed to be self-updating and self-managing. The tree automatically handles data comparisons, winner determination, and structure maintenance without requiring additional processing power for external control. This self-service approach reduces the overall processing power requirements while maintaining efficient sorting performance.

Inventive Principle:
Principle #25Self-service

3Productivity

If multiple separate tournament trees are used for parallel sorting, then sorting throughput is improved, but cache load and memory usage increase

Engineering Contradiction:
Improvesorting throughputVSAvoidcache load
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system segments the sorting process into distinct phases: tree construction, tournament execution, and result merging. By segmenting the workload, the system can process data in manageable portions while maintaining a single tournament tree structure in the cache. This segmentation allows parallel processing capabilities to be utilized without proportionally increasing cache load, as each phase can be optimized independently.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10691412B2Parallel sort accelerator sharing first level processor cache
Publication Date: 2020.06.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10691412B2 patent drawing
  • US10691412B2 patent drawing
  • US10691412B2 patent drawing

AI summary

A computer processor includes a memory unit, a processor cache and a hardware merge sort accelerator. The memory unit stores key values to be sequentially sorted. The processor cache obtains tree data from the memory unit indicating the key values. The hardware merge sort accelerator is configured to generate a master tournament tree based on the key values and perform a tournament sort that determines a first winning key value based on the master tournament tree. The hardware merge sort accelerator further speculates a second winning key value based on the master tournament tree. The speculated second winning key value is a next sequential winning key value of the tournament sort.