Shared-Memory Multiprocessor Parallel Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in efficiently sorting large-scale table data in shared-memory multiprocessor systems, particularly due to limitations in existing sorting algorithms like counting sort, and there is a lack of effective methods for parallel sorting in such environments.

Innovation Solution

The implementation of an information processing method that utilizes an information block-based data management mechanism, where field values are represented by sequence numbers, allowing for parallel processing across multiple processors to sort records efficiently, including integers, fixed-point numbers, and character strings, by dividing records, counting local occurrences, and rearranging them using global cumulative numbers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If counting sort is used for sorting large-scale table data, then sorting efficiency is improved, but the method is limited by requirements that objects must be integers with known upper and lower limits and not exceedingly large differences between them

Engineering Contradiction:
Improvesorting efficiencyVSAvoidapplicability to different data types
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent transforms field values of any data type into field value sequence numbers (integers starting from 0) that represent the order of the original values. This parameter transformation enables counting sort to handle any data type while maintaining the efficiency benefits, as the sequence numbers satisfy the integer requirements of counting sort regardless of the original data type's characteristics

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces field value sequence numbers as an intermediary representation between the original field values and the sorting process. These sequence numbers serve as mediators that convert arbitrary data types into a format suitable for counting sort, eliminating the need to directly sort the original values while preserving their ordinal relationships

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If parallel processing is introduced to process large-scale data at high speed, then processing speed is improved, but the complexity of the system increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the table data into multiple sections and assigns each section to a different processor. Each processor independently sorts its assigned section using counting sort, then the sorted sections are combined. This segmentation enables parallel processing while keeping each processor's task manageable and the overall system architecture relatively simple

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the sorting process by using field value sequence numbers instead of directly sorting the original field values. This dimensional transformation enables parallel processing to proceed independently on different data segments while maintaining correct ordinal relationships, thus achieving high-speed processing without excessive complexity

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

3Reliability

If shared-memory multiprocessor system is used, then processor-to-processor communication efficiency is improved, but traffic between processors and shared memory becomes a bottleneck

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data into portions that can be processed independently by different processors. Each processor works on its assigned data segment without requiring constant communication with the shared memory or other processors, reducing the traffic bottleneck while maintaining efficient communication when needed for coordination

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary sorting of data segments by individual processors before final consolidation. This preliminary action reduces the amount of data that needs to be communicated and processed together in subsequent stages, thereby reducing the impact of memory traffic bottlenecks on overall system throughput

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8065337B2Shared-memory multiprocessor system and method for processing information
Publication Date: 2011.11.22 ESS HLDG CO LTD
  • US8065337B2 patent drawing
  • US8065337B2 patent drawing
  • US8065337B2 patent drawing

AI summary

Large-scale table data stored in a shared memory are sorted by a plurality of processors in parallel. According to the present invention, the records subjected to processing are first divided for allocation to the plurality of processors. Then, each processor counts the numbers of local occurrences of the field value sequence numbers associated with the records to be processed. The numbers of local occurrences of the field value sequence numbers counted by each processor is then converted into global cumulative numbers, i.e., the cumulative numbers used in common by the plurality of processors. Finally, each processor utilizes the global cumulative numbers as pointers to rearrange the order of the allocated records.