Vectorized D-Heap Retrieval via Horizontal Aggregation SIMD
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
D-heaps require additional comparisons for retrieval operations such as finding the maximum or minimum key value, leading to high runtime costs and resource expenses compared to binary heaps.
Innovation Solution
Vectorizing the d-heap and utilizing horizontal aggregation SIMD instructions across retrieval operations to minimize comparisons and enhance efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If d-heap structure is used to reduce tree depth and improve insert operation speed, then insert operation efficiency is improved, but retrieval operation comparison time increases
Solution Approach 1:
The patent segments the d-heap structure into multiple independent arrays, where each array stores values for a specific child position across all parent nodes. This segmentation allows SIMD instructions to operate on multiple parent nodes simultaneously by comparing values at the same child position, thereby reducing retrieval comparison time while preserving the d-heap structure that enables fast insert operations.
2Device complexity
If additional child nodes are added to decrease tree depth, then insert operation comparisons are reduced, but retrieval operation computing resources increase
Solution Approach 1:
The patent replaces the traditional sequential comparison mechanism with SIMD (Single Instruction Multiple Data) parallel processing. By organizing d-heap data into arrays that align with SIMD register widths, the system can perform multiple comparisons simultaneously using horizontal aggregation instructions, substituting the sequential mechanical comparison process with parallel vectorized operations that reduce computing resource usage.
3Loss of time
If horizontal aggregation SIMD instructions are used to vectorize d-heap retrieval, then comparison time is reduced, but memory access patterns change
Solution Approach 1:
The patent transforms the traditional two-dimensional heap structure (parent-child relationships in a tree) into a multi-dimensional array layout optimized for SIMD access. By reorganizing data so that each array contains values from multiple parent nodes at the same child position, the patent creates a new dimensional organization that enables efficient horizontal aggregation while managing memory access patterns through careful array indexing and layout strategies.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Techniques for maintaining d-heap property and speeding up retrieval operations, such as top or pop, by vectorizing the d-heap and utilizing horizontal aggregation SIMD instructions across the retrieval operations. A d-heap is vectorized by storing it in a contiguous memory array containing a beginning-most side and end-most side. Horizontal aggregation SIMD instructions are utilized to aggregate the values of the vectorized d-heap. Thus, the number of comparisons required in order to find the maximum or minimum key value within a single node of the d-heap is reduced resulting in faster retrieval operations.