Adaptive Near Storage Computation Workload Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges in determining whether to perform computations at a host or near storage, as this decision involves trade-offs between various performance parameters such as host CPU/memory load, bus saturation, and system priorities, which can be dynamic and complex to manage.
Innovation Solution
The implementation of a Near Storage Monitor (NSM) that collects both local and system performance information to adaptively decide whether to perform operations such as decompression or compression at the storage device or at the host, using evaluation functions and scores to optimize system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If computations are performed at the host, then processing flexibility is maintained, but host CPU and memory load increase
Solution Approach 1:
The patent segments the computational workload by dividing it between the host and the storage device. The host handles high-level decision-making and complex computations, while the storage device handles data retrieval and preliminary processing. This segmentation reduces the host's computational burden while maintaining overall system flexibility through coordinated operation between the two components.
2Productivity
If computations are offloaded to the storage device, then host workload is reduced, but device complexity increases
Solution Approach 1:
The storage device is designed with multi-functionality, serving both as a data storage medium and as a computational unit. It can perform data retrieval, preliminary processing, and assist in computations when needed. This universal design allows the storage device to handle various tasks without requiring separate dedicated hardware, thereby reducing overall system complexity while maintaining enhanced functionality.
3Ease of operation
If data is transferred between host and storage device, then data accessibility is improved, but bus traffic and latency increase
Solution Approach 1:
The system performs preliminary actions by pre-processing data at the storage device before transfer to the host. The storage device can retrieve and prepare data in advance, performing preliminary computations or filtering operations. This preliminary action reduces the amount of data that needs to be transferred over the bus and minimizes latency by having data ready before it is actually needed by the host.
4Productivity
If adaptive computation is implemented, then system performance is optimized, but decision-making complexity increases
Solution Approach 1:
The system implements feedback mechanisms where the host and storage device continuously exchange information about their current state, performance metrics, and workload conditions. Based on this feedback, the system dynamically adjusts the distribution of computational tasks. This feedback-driven approach allows the system to optimize performance adaptively without requiring complex centralized decision-making, as each component can make local decisions based on real-time conditions.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A method may include receiving a request at a storage apparatus, determining local performance information at the storage apparatus, and performing an operation at the storage apparatus based on the request and the local performance information. The method may further include receiving system performance information at the storage apparatus, wherein performing the operation at the storage apparatus may be further based on the system performance information. Performing the operation at the storage apparatus may be further based on a threshold. The method may further include receiving a status at the storage apparatus, wherein performing the operation at the storage apparatus may be further based on the status. Performing the operation at the storage apparatus may be further based on a change in the local performance information. The local performance information may be based on a queue at the storage apparatus.