Sorting with Key Modification for Data Processing Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing sorting methods in computing systems are inefficient and consume excessive power, particularly in graphics processing, due to the need to sort large amounts of data without effective pre-processing.

Innovation Solution

The proposed method involves pre-sorting operations that create modified, smaller-sized keys through compression and temporary data structures like bit vectors or search trees, reducing the data to be sorted and enabling faster, more efficient sorting by processing only the most significant bits, allowing for approximate sorting that prioritizes speed and power reduction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional sorting methods are used on large amounts of data, then sorting completeness is maintained, but sorting speed decreases and power consumption increases

Engineering Contradiction:
Improvesorting speedVSAvoiddata volume to be sorted
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The sorting process is divided into two distinct phases: a pre-sorting phase that processes only the most significant bits (MSBs) of keys, and a final sorting phase that handles the remaining less significant bits. This segmentation allows the system to quickly sort the majority of data based on MSBs, then only process the smaller subset of data that requires further sorting on less significant bits, thereby reducing overall sorting time and power consumption while maintaining complete sorting accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by performing pre-sorting operations on the most significant bits before the main sorting process. This preliminary classification organizes data into rough groups based on MSBs, so that when the final sorting occurs, the sorting algorithm only needs to work within smaller, pre-organized subsets rather than sorting all data from scratch, significantly improving sorting speed and reducing power consumption.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If full precision sorting is performed on all bits, then sorting accuracy is maintained, but processing time increases

Engineering Contradiction:
Improvesorting accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The key representation is segmented into most significant bits (MSBs) and less significant bits (LSBs). The pre-sorting phase processes only the MSBs to achieve coarse-grained sorting, while the final sorting phase processes the LSBs to achieve fine-grained precision. This segmentation allows the system to spend minimal time on the bulk of the sorting (MSBs) and concentrate processing time only where precision is critical (LSBs), maintaining overall sorting accuracy while reducing total processing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing complete sorting on the most significant bits while performing only incremental or partial sorting on the less significant bits. Since MSBs contribute more to the overall key value than LSBs, fully sorting MSBs provides the majority of sorting accuracy, while partial sorting of LSBs completes the precision requirement with minimal additional time investment.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9405508B2Sorting with key modification
Publication Date: 2016.08.02 NVIDIA CORP
  • US9405508B2 patent drawing
  • US9405508B2 patent drawing
  • US9405508B2 patent drawing

AI summary

This disclosure is directed to systems and methods for sorting data in which pre-sorting operations are performed on keys prior to those keys being reordered within memory. One example method includes generating, for each of a plurality of keys, an associated modified key. This operation is an example pre-sorting operation that occurs prior to any reordering of the keys. Once the modified keys are generated, the modified keys and/or associated information are processed in order to change the ordering of the keys in memory.