Smart Compressor Adaptive CPU QAT Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing deduplication storage systems face performance issues due to suboptimal assignment of compression operations between the CPU and Intel QuickAssist Technology (QAT) hardware accelerator, leading to excessive CPU utilization and unsatisfactory latencies, especially when the QAT accelerator is heavily utilized or dealing with small data segments.
Innovation Solution
A smart compressor that adaptively schedules data segments between the CPU and QAT accelerator based on runtime utilization and latency statistics, determining whether to process smaller segments on the CPU or larger segments on the QAT accelerator to balance workload and reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If all compression operations are assigned to the QAT accelerator, then compression throughput is improved, but system latency increases and CPU utilization becomes unbalanced
Solution Approach 1:
The patent implements dynamic workload assignment that adapts to runtime conditions. The system monitors QAT accelerator utilization and dynamically adjusts which compression operations are assigned to QAT versus CPU, switching between hardware acceleration and software processing based on current system state to optimize both throughput and latency
Solution Approach 2:
The system changes operational parameters by adjusting the threshold for QAT accelerator utilization. When QAT utilization exceeds certain thresholds, the system transitions operations back to CPU processing. This parameter-based control allows the system to maintain optimal performance characteristics under varying workload conditions
2Speed
If compression operations are assigned to QAT accelerator, then compression speed is improved, but CPU resource consumption increases inordinately
Solution Approach 1:
The system implements self-service by having the smart compressor autonomously monitor QAT accelerator utilization and make intelligent decisions about workload assignment. The compressor evaluates current system state and automatically routes compression operations to the most appropriate resource (QAT or CPU) without requiring external intervention, thereby optimizing CPU resource consumption while maintaining compression speed
3Productivity
If QAT accelerator is used for compression, then compression performance is improved, but adaptability to different workload conditions deteriorates
Solution Approach 1:
The system achieves adaptability through dynamic workload assignment that responds to runtime conditions. The smart compressor monitors QAT accelerator utilization and adapts its behavior based on current system state, switching between hardware acceleration and software processing to maintain optimal performance across varying workload conditions
Solution Approach 2:
The system changes operational parameters by adjusting the threshold for QAT accelerator utilization based on workload characteristics. This allows the system to adapt to different compression scenarios, data segment sizes, and system states, maintaining high compression performance while being versatile across various operating conditions
Data Source
AI summary
A method, apparatus, and system for assigning the execution of a cryptography and/or compression operation on a data segment to either a central processing unit (CPU) or a hardware accelerator is disclosed. In particular, a data segment on which a cryptography and/or compression operation is to be executed is received. Status information relating to a CPU and a hardware accelerator is determined. Whether the operation is to be executed on the CPU or on the hardware accelerator is determined based at least in part on the status information. In response to determining that the operation is to be executed on the CPU, the data segment is forwarded to the CPU for execution of the operation. On the other hand, in response to determining that the operation is to be executed on the hardware accelerator, the data segment is forwarded to the hardware accelerator for execution of the operation.


