Index Folding for Parallel Processing Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Processing large data structures in parallel fashion is inefficient due to limitations in the number of indices that parallel processing devices can handle, leading to unacceptably slow processing times.
Innovation Solution
Index folding, which converts a pair of arbitrary indices into a new single index, allowing for efficient processing by reshaping the data and generating a new indexing expression that can be executed by parallel operations, optimizing memory usage and leveraging existing optimization functions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If parallel processing devices are used to process large data structures, then processing speed is improved, but the number of indices that can be handled is limited
Solution Approach 1:
The patent applies dimensionality change by transforming multi-dimensional indices into a single index through folding operations. When multiple indices (e.g., i, j, k) are folded into a single index (e.g., p), the system maps multi-dimensional data access patterns into a unified indexing scheme that parallel processing devices can handle efficiently, thereby maintaining high processing speed while expanding the number of indices that can be managed.
Solution Approach 2:
The patent segments the indexing problem by dividing the multi-dimensional index space into manageable segments through folding operations. Each folding operation processes a subset of indices and transforms them into a reduced index space, allowing parallel processing devices to handle larger numbers of original indices by breaking down the complex indexing task into smaller, manageable segments.
2Productivity
If indices are folded to reduce the number of indices, then parallel processing efficiency is improved, but the indexing expression complexity increases
Solution Approach 1:
The patent applies preliminary action by performing folding operations on indices before they are used in parallel processing operations. The system pre-processes the indexing expression by folding indices into reduced index spaces, so that when the parallel processing device executes the operation, it works with simplified indices rather than complex multi-dimensional indices, thereby improving efficiency without increasing runtime complexity.
Solution Approach 2:
The patent uses an intermediary indexing transformation layer that mediates between the original complex indexing expression and the simplified parallel processing operation. The folding operation acts as an intermediary that translates multi-dimensional indices into a unified index format, allowing the parallel processing device to operate efficiently while the original complex indexing structure is preserved in the transformation layer.
Data Source
AI summary
A method comprising receiving data, where the data includes one or more elements, the data is associated with a first set of indices, and the first set of indices references the one or more elements. The method may further include folding a plurality of indices into a single index, where the single index references the one or more elements of the received data that were referenced by the plurality of indices, the folding generates a second set of indices, and the folding is performed when concurrent process threads are not generated based on the first set of indices. The method may further include determining whether concurrent process threads should be generated based on the second set of indices and generating the concurrent process threads for the second set of indices when the determining determines that the concurrent process threads should be generated based on the second set of indices.


