Persistent Memory Data Access with Priority-Based CPU Offloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-capacity and high-performance data storage systems using persistent memory, the CPU overhead for data replication becomes a performance bottleneck due to competing workloads for limited CPU resources, especially under heavy load scenarios, and existing methods fail to dynamically prioritize workloads based on their importance.
Innovation Solution
A method and system that determines the priority of workloads associated with I/O instructions for persistent memory access, using a CPU for high-priority workloads and a programmable data moving apparatus (like RDMA smart network cards) for low-priority workloads, optimizing CPU resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If CPU is used for data access to persistent memory, then data access performance is improved, but CPU overhead increases and becomes a performance bottleneck
Solution Approach 1:
The patent introduces a programmable data moving apparatus as an intermediary between the CPU and persistent memory. This apparatus handles data movement operations, allowing the CPU to offload replication tasks while maintaining efficient data access. The data moving apparatus acts as a mediator that performs data transfer between persistent memory and other memory spaces without requiring continuous CPU intervention.
Solution Approach 2:
The system enables self-service by allowing the programmable data moving apparatus to autonomously perform data movement operations without CPU involvement. Once configured, the apparatus can independently handle data replication and transfer tasks, freeing the CPU from these routine operations while maintaining system performance.
2Productivity
If CPU resources are allocated to multiple competing workloads, then system throughput is maintained, but CPU overhead for data replication becomes excessive
Solution Approach 1:
The programmable data moving apparatus serves as an intermediary that handles data replication tasks, reducing the burden on the CPU. This allows multiple workloads to coexist without excessive CPU overhead, as the data moving apparatus independently manages data transfer operations between persistent memory and other memory spaces.
Solution Approach 2:
The system dynamically changes operational parameters by switching between CPU-based and data moving apparatus-based access modes based on workload priorities. This parameter change allows the system to optimize resource allocation, using the CPU for high-priority workloads and the data moving apparatus for lower-priority operations, thereby reducing overall CPU overhead while maintaining system throughput.
3Speed
If CPU is used for all data access operations, then data access speed is maximized, but high-priority workloads may be blocked by low-priority workloads
Solution Approach 1:
The patent applies local quality by providing different access modes for different workload priorities. High-priority workloads receive CPU-based access for maximum speed, while low-priority workloads use the programmable data moving apparatus. This localized differentiation ensures that critical workloads are not blocked by less important operations, maintaining both speed and reliability.
Solution Approach 2:
The system dynamically changes the access mode parameter based on workload priority. When a high-priority workload is detected, the system switches to CPU-based access to ensure fast response. For low-priority workloads, it uses the data moving apparatus to reduce CPU overhead. This dynamic parameter adjustment guarantees that high-priority workloads receive adequate CPU resources while maintaining overall system efficiency.
Data Source
AI summary
Embodiments of the present disclosure relate to a method, a device, and a computer program product for data access. The method includes acquiring a priority of a workload associated with an input/output (I/O) instruction of a user, and determining, based on the priority, whether to perform data access to a persistent memory indicated by the I/O instruction by using a central processing unit (CPU). If it is determined not to perform the data access by using the CPU, the data access is performed by using a programmable data moving apparatus. The method according to the embodiments of the present disclosure can avoid that important workloads compete for CPU resources equally with secondary workloads, and alleviate blocking of workloads due to insufficient CPU resources, thereby improving the overall performance of persistent memory access.


