Near-Memory Database Computing for Access-Intensive Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems like Redis face inefficiencies in time-consuming access-intensive computations due to frequent data transmissions between the processor and memory, leading to prolonged computation cycles and performance delays.
Innovation Solution
Offload access-intensive computations to a Processing Near Memory (PNM) device, reducing data transmission frequency by using a compute proxy to manage computations that require frequent memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If computations are performed using a traditional processor-memory architecture, then computation can be completed, but data transmission frequency between processor and memory becomes excessively high, leading to prolonged computation time
Solution Approach 1:
The patent introduces a near-memory computing unit as an intermediary component between the processor and memory. This near-memory unit performs computations directly on data stored in memory, eliminating the need for frequent data transmission between the processor and memory. The near-memory computing unit acts as a mediator that reduces the communication overhead and accelerates computation by processing data in situ.
Solution Approach 2:
The patent transitions from a traditional von Neumann architecture where computation and storage are separated in different spatial locations, to a near-memory computing architecture where computation capabilities are embedded adjacent to the memory. This dimensional change in the computational landscape allows data to be processed without being moved to a distant processor, thereby reducing transmission time and improving computational efficiency.
2Productivity
If the processor handles all computations including access-intensive operations, then computation completeness is maintained, but the processor becomes a bottleneck, reducing overall system performance
Solution Approach 1:
The patent segments the computational workload by dividing it between the traditional processor and the near-memory computing unit. Access-intensive computations are offloaded to the near-memory unit, while the processor focuses on higher-level control and less computation-intensive tasks. This segmentation of computational responsibilities reduces the processor's load and prevents it from becoming a performance bottleneck.
Solution Approach 2:
The patent implements partial offloading of computations to the near-memory computing unit, specifically targeting access-intensive operations. This partial action approach allows the system to optimize performance for specific computation types without requiring complete restructuring of the entire computational architecture, thereby improving system performance while managing complexity.
3Productivity
If frequent data transmission between processor and memory is performed, then computation accuracy is maintained, but transmission overhead increases, reducing computational efficiency
Solution Approach 1:
The near-memory computing unit serves as an intermediary that performs computations directly on data residing in memory, eliminating the need for repeated data transmission between the processor and memory. This intermediary approach maintains computation accuracy by performing operations on the actual data in memory while significantly reducing transmission overhead and energy consumption.
Solution Approach 2:
The patent extracts the computation function from the distant processor and places it adjacent to the memory. By taking out the computational capability from the traditional processor location and positioning it near the memory, the system eliminates unnecessary data transmission while maintaining computational accuracy, thereby reducing transmission overhead and improving efficiency.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computation management method for managing a database, including: transmitting, by a compute proxy (812), a computation request to a processing near memory, PNM, device (820) based on determining that a computation to be performed includes a predetermined access-intensive computation in which a data transmission frequency between a processor (810) and a memory (825) is greater than a first predetermined threshold, and the compute proxy (812) is selected to perform the access-intensive computation; and receiving, by the compute proxy (812), a notification about a computation result generated by the PNM device (820) based on the computation request.