In-Memory Radix Sorting via Histogram Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Processing in Memory (PIM) architectures face inefficiencies in radix sorting due to large intermediate arrays, significant random accesses, and performance overheads, particularly in reducing data movement and power consumption.
Innovation Solution
The method involves partitioning datasets into subarrays across 3D-stacked memory banks, generating local and bank histograms, performing prefix-sum operations, and aggregating subarrays to reduce data movement and random accesses, enabling efficient radix sorting with reduced overhead and improved performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If radix sorting is implemented in current PIM-based accelerators, then sorting capability is provided, but data movement overhead and random accesses increase significantly
Solution Approach 1:
The patent divides the sorting process into distinct phases (histogram generation, prefix-sum computation, data redistribution) and organizes memory into multiple banks that can be accessed independently. This segmentation allows parallel processing of different data segments simultaneously, reducing overall data movement overhead while maintaining sorting capability.
Solution Approach 2:
The patent transitions from traditional 2D memory organization to a 3D stacked memory architecture with multiple memory banks layered vertically. This dimensional change enables simultaneous access to multiple memory banks through different interconnect networks, dramatically reducing random access overhead and enabling efficient radix sorting operations.
2Manufacturing precision
If traditional sorting algorithms are used with multiple passes, then sorting accuracy is achieved, but data movement overhead increases
Solution Approach 1:
The patent performs histogram generation and prefix-sum computations before actual data sorting and redistribution. By pre-calculating the positions where data elements should be moved, the system eliminates the need for multiple sorting passes, achieving accurate sorting in a single pass while minimizing data movement overhead.
3Use of energy by stationary object
If PIM architecture is used to reduce data movement, then energy consumption decreases, but random access performance overhead increases
Solution Approach 1:
The patent introduces intermediate buffer structures and controller logic that mediate between the PIM architecture and random access operations. These intermediaries absorb and manage random access requests, translating them into efficient memory operations that leverage the PIM architecture's strengths while masking its weaknesses, thus maintaining low energy consumption without random access performance penalties.
Data Source
AI summary
Disclosed herein are systems, methods, and computer-readable media for sorting datasets within a Processing in Memory (PIM)-based system. A request to sort a dataset stored in a 3D-stacked memory can be received. The request can identify a specific dataset and sorting criteria, which includes a plurality of keys. The dataset can be partitioned into several subarrays across various memory banks within the 3D-stacked memory. Each piece of data within these subarrays can be separated into buckets based on the keys. Local histograms for each subarray and bank histograms based on the local histograms can be generated. A prefix-sum operation on the bank histograms can determine individual positions for the sorted dataset. Aggregation of the subarrays from all memory banks can form the sorted dataset, which can be subsequently returned.


