Bin Coalescing for Parallel Divide-and-Conquer Sorting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Top-down sorting methods in parallel processing environments face inefficiencies due to difficulties in dynamically adjusting splitting points and achieving uniformly sized bins, leading to underutilization of processing resources, especially when dealing with non-uniform key distributions and mismatches between input size and bin-splitting factors.
Innovation Solution
The method involves bin-coalescing, where consecutive bins are merged to form larger, more efficient bin sizes, allowing for dynamic adjustment of splitting factors and improving local, in-core efficiency by constructing bins that can be more effectively sorted using block-sorting strategies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If top-down sorting methods are used with dynamic splitting points, then sorting adaptability to different key distributions is improved, but implementation complexity on parallel architectures increases
Solution Approach 1:
The patent applies preliminary action by pre-computing splitter values from sampled keys before the main sorting operation. This allows the sorting algorithm to adapt to different key distributions without requiring complex dynamic adjustments during parallel execution, thus resolving the contradiction between adaptability and implementation complexity
Solution Approach 2:
The patent uses sampled keys as an intermediary to determine splitting points. Instead of directly computing complex dynamic splitters during parallel sorting, the algorithm samples keys, sorts them, and uses these samples as mediators to establish splitting points, simplifying the implementation while maintaining adaptability
2Productivity
If bin sizes are reduced below block-sorting threshold, then parallel processing load balance is improved, but processor efficiency deteriorates
Solution Approach 1:
The patent applies merging by combining multiple small bins into larger bins that meet the block-sorting threshold. This allows the system to maintain good load balance across parallel processors while ensuring each bin is large enough to efficiently utilize processor resources, thus resolving the contradiction between parallel efficiency and processor utilization
Solution Approach 2:
The patent implements dynamic bin size adjustment by coalescing bins based on the block-sorting threshold. Bins are dynamically merged or kept separate depending on their size relative to the threshold, allowing the system to adapt bin sizes to optimize both load balance and processor efficiency
3Manufacturing precision
If splitting factor is dynamically adjusted, then bin size optimization is improved, but cooperation complexity between parallel elements increases
Solution Approach 1:
The patent applies preliminary action by determining the splitting factor based on pre-computed sampled keys before distribution to parallel elements. This allows each parallel element to use a predetermined splitting factor without requiring complex cooperation or dynamic adjustment during execution, thus resolving the contradiction between bin size precision and cooperation complexity
Data Source
AI summary
A system and method for performing sorting. The method includes partitioning a plurality of keys needing sorting into a first plurality of bins, wherein the bins are sequentially sorted. The plurality of keys is capable of being sorted into a sequence of keys using a corresponding ordering system. The method includes coalescing a first pair of consecutive bins, such that when coalesced the first pair of bins falls below a threshold. The method also includes ordering keys in the first coalesced pair to generate a first sub-sequence of keys in the sequence of keys.


