GPU OLAP Slice Transfer via Hash Map for Data Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In online analytical processing (OLAP) computations on graphics processor units (GPU), the limited memory of GPUs results in significant data transfer times, which dominate computation time in near real-time interactive visualization scenarios, negating the performance advantages of using GPUs for repetitive calculations.
Innovation Solution
The method involves identifying and transferring only the necessary slices of the OLAP cube associated with user requests to the GPU memory for computation, using a hash map table to store slice addresses and performing computations on these slices, thereby reducing data transfer latency and optimizing data transfer time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the entire OLAP cube is transferred to GPU memory for computation, then computation can be performed, but data transfer time dominates computation time and performance is degraded
Solution Approach 1:
The patent divides the OLAP cube into multiple slices along one dimension and transfers only the necessary slices to GPU memory based on user requests. This segmentation allows selective data transfer instead of transferring the entire cube, reducing data transfer time while maintaining computation performance on the required data portions.
Solution Approach 2:
The patent extracts only the necessary slices from the OLAP cube that are required for specific user requests and transfers them to GPU memory. This extraction approach removes unnecessary data from the transfer process, significantly reducing data transfer time while preserving the essential computation functionality.
2Productivity
If GPU memory is used for OLAP computations, then repetitive calculations are accelerated, but limited memory capacity prevents fitting the entire cube
Solution Approach 1:
The patent segments the OLAP cube into manageable slices that can fit within GPU memory limits. By dividing the large cube into smaller, transferable slices, the system can utilize GPU acceleration for computation while respecting the memory capacity constraints of the GPU.
Solution Approach 2:
The patent transfers only the partial slices needed for current computations rather than the entire cube. This partial action approach allows the system to leverage GPU computational power for the actual data processing while avoiding the memory capacity limitation by only loading necessary portions of data.
3Ease of operation
If all data is loaded into GPU memory, then computations can proceed, but data transfer time increases and interactivity is reduced
Solution Approach 1:
The patent implements dynamic data transfer based on user requests. Instead of statically loading all data, the system dynamically identifies and transfers only the necessary slices when needed, adjusting the data transfer process to user interaction patterns. This dynamic approach maintains interactivity by ensuring data is available when requested without unnecessary transfer time.
Solution Approach 2:
The patent extracts and transfers only the necessary slices based on user requests rather than loading all data. This extraction approach reduces data transfer time and maintains system interactivity by bringing data to the GPU only when computation is actually needed, rather than continuously transferring the entire dataset.
Data Source
Figure 1A
Figure 1B
Figure 2A
AI summary
Disclosed are methods and systems for optimizing data transfer time in a graphics processor unit. The methods and systems involve receiving a user request to perform online analytical processing computation, the user request comprising axes dimensions and filter dimensions associated with a visualization for an online analytical computation cube, identifying one or more slices of the online analytical processing cube based on the user request, transferring the one or more identified slices to a second memory, performing the online analytical processing computation for the one or more identified slices at the graphics processor unit and retrieving a result of the online analytical processing computation from the second memory.