Network-Attached Memory Burst Sorting for Large Datasets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed sorting techniques face performance limitations due to communication overhead and memory constraints, especially when dealing with large datasets and non-uniformly distributed data, which current solutions are not optimized for.

Innovation Solution

A sorting technique that leverages network-attached memory (such as fabric-attached memory) to perform burst sort, allowing independent sorting by processing entities (PEs) with a single exchange point, using a two-phase approach to minimize communication and coordination between nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If distributed sorting techniques are used to handle large datasets, then the sorting capability is improved, but communication overhead and coordination complexity increase

Engineering Contradiction:
Improvedataset sizeVSAvoidcommunication overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The sorting process is divided into two distinct phases: a gathering phase where data is collected and sorted at each node locally, and a distribution phase where sorted data is exchanged between nodes. This segmentation reduces communication overhead by minimizing the need for continuous coordination during the entire sorting process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each node performs preliminary sorting of its local data before the distribution phase. By pre-sorting data at each node during the gathering phase, the system reduces the complexity of coordination needed during data exchange in the distribution phase, as nodes only need to exchange complete sorted records rather than continuously coordinating during sorting.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If multiple passes and intermediate data exchange are used, then sorting accuracy is improved, but processing time increases

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

Solution Approach 1:

The patent extracts the sorting operation from the data exchange process. Each node performs complete sorting of its local data independently during the gathering phase, then exchanges only the sorted results. This separation eliminates the need for multiple passes of sorting and exchange, reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The two-phase approach ensures continuous useful action by performing sorting operations during the gathering phase before data exchange begins. This allows nodes to prepare and sort their data continuously without interruption for coordination, then execute the distribution phase efficiently with pre-sorted data, reducing overall processing time.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If data is exchanged among nodes, then sorting completeness is improved, but network traffic increases

Engineering Contradiction:
Improvesorting completenessVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

Each node creates and exchanges copies of sorted data records with other nodes. By sorting data locally first and then exchanging only the necessary sorted copies, the system ensures sorting completeness while minimizing network traffic compared to exchanging unsorted data or requiring multiple passes of exchange and coordination.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250335345A1Efficient burst sort based on network-attached memory
Publication Date: 2025.10.30 HEWLETT PACKARD ENTERPRISE DEV LP
  • US20250335345A1 patent drawing
  • US20250335345A1 patent drawing
  • US20250335345A1 patent drawing

AI summary

A system, by a processing entity (PE), determines records stored in a memory shared by other processing entities. A respective record comprises a key and a corresponding index indicating a physical location in the shared memory. The PE stores, in a DRAM partition, burst tree data obtained by performing a burst sort on a portion of the records. The PE moves data stored in the DRAM partition to a partition of the shared memory in response to a size of the stored data exceeding a predetermined threshold. The PE obtains sorted keys and corresponding indices for the records by sorting the burst tree data stored in shared memory partitions. The PE facilitates a sorted retrieval of the records in the shared memory while leaving the records in the respective physical location in the shared memory by writing the sorted keys and indices to the shared memory.