Parallel Sort Using Ranged Partitioned Key-Value Store

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current sorting techniques for large datasets in high performance computing environments are inefficient due to bottlenecks in the read, write, and communication phases, particularly when using conventional parallel key-value stores.

Innovation Solution

Implementing a ranged, partitioned key-value store using Multidimensional Data Hashing Indexing Middleware (MDHIM) with Message Passing Interface (MPI) communications, where reader threads perform local sorts and send sorted subsets to range servers for further sorting and concatenation to achieve a globally sorted result.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional parallel key-value stores are used for sorting large datasets, then the system can handle distributed data storage, but the read, write, and communication phases create performance bottlenecks

Engineering Contradiction:
Improvesorting performanceVSAvoidcommunication and I/O time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the key-value store into multiple partitions distributed across different nodes, with each node responsible for specific key ranges. This segmentation allows parallel processing of sorting operations across multiple nodes, reducing the communication and I/O bottlenecks that occur in conventional single-node approaches. Each node independently sorts its partition and communicates only necessary data to other nodes, significantly reducing overall sorting time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the sorting problem by utilizing the key-range distribution across multiple nodes as an additional sorting dimension. Instead of sorting all data at a single node and then distributing it, the system distributes data first by key range, then performs sorting operations in parallel across multiple dimensions (nodes and key ranges), thereby reducing the communication and I/O overhead associated with conventional single-node sorting.

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

2Productivity

If data is distributed across multiple nodes for parallel processing, then sorting can be performed in parallel, but the complexity of managing data distribution and communication increases

Engineering Contradiction:
Improveparallel sorting capabilityVSAvoidsystem management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where each node automatically determines its responsibility for specific key ranges and independently manages its local data sorting operations. The system uses key-range knowledge to automatically route data to appropriate nodes without requiring centralized coordination or complex manual management. Each node serves itself by maintaining awareness of its assigned key ranges and handling its own sorting and communication needs, thereby reducing overall system management complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces key-range information as an intermediary that mediates between the distributed nodes. This intermediary mechanism allows nodes to automatically determine routing decisions based on key ranges without requiring complex inter-node communication protocols or centralized control. The key-range knowledge acts as a simple mediator that enables efficient data distribution and sorting across multiple nodes while minimizing management overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9245048B1Parallel sort with a ranged, partitioned key-value store in a high perfomance computing environment
Publication Date: 2016.01.26 EMC IP HLDG CO LLC
  • US9245048B1 patent drawing
  • US9245048B1 patent drawing
  • US9245048B1 patent drawing

AI summary

Improved sorting techniques are provided that perform a parallel sort using a ranged, partitioned key-value store in a high performance computing (HPC) environment. A plurality of input data files comprising unsorted key-value data in a partitioned key-value store are sorted. The partitioned key-value store comprises a range server for each of a plurality of ranges. Each input data file has an associated reader thread. Each reader thread reads the unsorted key-value data in the corresponding input data file and performs a local sort of the unsorted key-value data to generate sorted key-value data. A plurality of sorted, ranged subsets of each of the sorted key-value data are generated based on the plurality of ranges. Each sorted, ranged subset corresponds to a given one of the ranges and is provided to one of the range servers corresponding to the range of the sorted, ranged subset. Each range server sorts the received sorted, ranged subsets and provides a sorted range. A plurality of the sorted ranges are concatenated to obtain a globally sorted result.