Parallel String Sorting via Integer Prefix Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current string sorting algorithms are inefficient for large datasets, particularly when dealing with strings, as they often require sequential processing and do not fully utilize multi-processor systems, leading to slower data access and processing times.
Innovation Solution
The implementation of a parallel data sort methodology that converts string prefixes to integers, allowing for parallel processing using existing sorting algorithms, which divides data into blocks, sorts them in parallel, and merges the results, enhancing performance by leveraging multi-processor capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If string sorting algorithms are used on large datasets, then sorting capability is achieved, but processing speed is slow due to sequential execution
Solution Approach 1:
The patent segments the string sorting problem into two parts: extracting and sorting prefixes (keys) separately from the full strings. By dividing the data into prefix components and corresponding full records, the algorithm can sort only the prefix portion in parallel, significantly reducing the computational burden and enabling faster processing of large datasets
Solution Approach 2:
The patent transforms the sorting operation from operating on entire strings to operating on integer representations of prefixes. By converting string prefixes into integer keys and sorting in this transformed dimensional space, the algorithm achieves faster comparison and sorting operations that can be parallelized across multiple processors
2Productivity
If traditional sorting algorithms are used, then sorting is achieved, but multi-processor capabilities are not utilized
Solution Approach 1:
The patent introduces an intermediary structure (prefix integer array) that mediates between the original string data and the sorting operation. This intermediary allows the sorting algorithm to work with simple integers instead of complex strings, enabling parallel processing while maintaining the ability to reconstruct the fully sorted result by merging with the original data
3Measurement precision
If full string sorting is performed, then complete sorting accuracy is achieved, but processing efficiency decreases
Solution Approach 1:
The patent applies partial action by sorting only the prefix portion of strings rather than the entire string. This partial sorting approach maintains sufficient accuracy for most practical applications where prefix ordering provides meaningful organization, while dramatically improving processing efficiency by reducing the amount of data being sorted
Data Source
AI summary
Methodology to reduce the running time of any string sorting algorithm is described. In one methodology, a prefix of each string from the input unsorted string array is converted to an integer and placed in an array. The array of integers is sorted using the given sorting algorithm. In subsequent methodology, the characters of the string prefix are placed in a record structure and stored in an array of character records. The array of character records is sorted using the given sorting algorithm. The input unsorted array of strings is then sorted using either the sorted array of integers or character records as a reference. Both methodologies showed performance improvements when running in sequential mode only. Therefore, parallel data sort methodology (PDS) was introduced allowing sorting algorithms to sort data in parallel, and its implementation made the two methodologies execute much faster in parallel mode.


