Adaptive Storage Compression for Stable CPU Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network storage systems face performance issues due to excessive processor cycles used for data compression, which can lead to oscillating CPU utilization and instability, as they switch between faster and more effective compression algorithms, affecting overall input/output processing performance.
Innovation Solution
Implementing a dynamic adaptive compression method that simultaneously uses multiple compression algorithms, adjusting the percentage of blocks compressed with each algorithm based on CPU utilization rates, gradually increasing the use of a slower but more effective algorithm when CPU cycles are available and switching back to a faster algorithm when CPU utilization reaches thresholds to maintain stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If a slower but more effective compression algorithm is used, then compression ratio is improved, but processor utilization increases and may cause system instability
Solution Approach 1:
The system dynamically adjusts the mix of compression algorithms based on real-time processor utilization rates. When CPU utilization is below a threshold, the system increases the percentage of blocks compressed with the more effective (slower) algorithm to improve compression ratios. When utilization exceeds the threshold, it switches to the faster algorithm to maintain system stability and performance.
Solution Approach 2:
The system changes the parameter of algorithm selection by using multiple compression algorithms with different characteristics (speed vs. effectiveness). It adjusts the percentage factor for each algorithm based on processor utilization rates, transforming a static algorithm selection into a dynamic parameter-adjustable system that optimizes both compression ratio and system performance.
2Quantity of substance
If compression is always performed, then storage efficiency is improved, but input/output processing performance deteriorates due to excessive processor cycles
Solution Approach 1:
Instead of always using the most effective compression algorithm (excessive action), the system applies compression algorithms partially based on current system conditions. It uses the more effective algorithm only when processor utilization is below the threshold, and uses the faster algorithm when needed, avoiding excessive processor cycle consumption while maintaining adequate compression efficiency.
Solution Approach 2:
The system dynamically adjusts compression strategy based on real-time processor utilization. When CPU utilization is low, it applies more aggressive compression to improve storage efficiency. When utilization is high, it reduces compression intensity by using faster algorithms, thereby maintaining I/O performance while still providing compression when system resources are available.
3Adaptability or versatility
If the system switches between compression algorithms to optimize performance, then adaptability is improved, but system stability deteriorates due to oscillating CPU utilization
Solution Approach 1:
The system implements feedback control by continuously monitoring processor utilization rates and adjusting the compression algorithm mix accordingly. The threshold-based feedback mechanism prevents oscillation by maintaining a stable operating region, switching algorithms only when utilization crosses the threshold in a sustained manner, thereby balancing adaptability with system stability.
Data Source
AI summary
Methods, systems, and computer programs are presented for dynamic adaptive compression in a storage device. One method includes operations for setting a percentage factor for utilizing a first and a second compression algorithms, and for receiving incoming blocks in the memory of the storage device. The incoming blocks are compressed before being sent to permanent storage, where a portion of the incoming blocks are compressed with the first compression algorithm based on the percentage factor, and the remainder is compressed with the second compression algorithm. Further, the method includes determining that a processor utilization rate, of a processor in the storage device, is below a first predetermined threshold, and decreasing, in response to the determining, the percentage factor to decrease the portion of the incoming blocks that are compressed with the first compression algorithm, while the remainder of the incoming blocks is compressed with the second compression algorithm.


