Adaptive Read Compression for Deduplication CPU Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current deduplication file systems face performance issues during read operations due to the processor-intensive nature of compression, which can lead to system degradation or failure, especially when CPU resources are limited, and existing compression systems are either fully on or off, without adaptive capabilities.

Innovation Solution

An adaptive compression mechanism that tracks CPU usage on both the client and server, opportunistically compressing data only when sufficient CPU bandwidth is available, allowing the system to select optimal compression modes and read data in uncompressed form when processor usage is high, thereby preventing CPU overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If compression is applied during read operations to reduce data transfer, then network bandwidth utilization is improved, but CPU resource consumption increases significantly

Engineering Contradiction:
Improvenetwork bandwidthVSAvoidCPU resources
Core Design Contradiction:
Loss of energyVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts compression behavior based on real-time CPU resource availability. The adaptive compression mechanism monitors CPU utilization and selectively applies compression only when resources are sufficient, transforming the static compression decision into a dynamic one that responds to system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the compression parameter (enabled/disabled) based on CPU resource conditions. When CPU resources are abundant, compression is enabled to improve network bandwidth utilization; when CPU resources are constrained, compression is disabled to prevent system degradation.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If adaptive compression is implemented to optimize CPU usage, then system stability is improved, but device complexity increases

Engineering Contradiction:
Improvesystem stabilityVSAvoidcompression control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The adaptive compression mechanism implements feedback by continuously monitoring CPU resource utilization and using this information to control compression behavior. This feedback loop enables the system to maintain stability by adjusting compression based on actual system conditions rather than using a fixed approach.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-service by automatically managing its own compression behavior based on internal resource monitoring. The compression mechanism serves itself by making decisions about when to compress based on system state, eliminating the need for external control or manual configuration.

Inventive Principle:
Principle #25Self-service

3Productivity

If full compression is applied during restores, then data transfer efficiency is improved, but processor performance degrades

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprocessor performance
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

Instead of applying full compression in all cases, the system applies partial compression selectively based on CPU resource availability. This partial action approach compresses only when resources permit, achieving data transfer efficiency improvements without the excessive processor burden of universal compression.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12153502B2Adaptive compression with pre-filter check for compressibility to improve reads on a deduplication file system
Publication Date: 2024.11.26 DELL PROD LP
  • US12153502B2 patent drawing
  • US12153502B2 patent drawing
  • US12153502B2 patent drawing

AI summary

Improving the performance of read operations in a restore path of an inline deduplication system utilizing a DDBOOST interface by providing an adaptive compression component for use with DDBOOST applications. A built-in compression mode transfers read data if there are sufficient CPU resources in the server and client to compress and decompress the read data without destabilizing the system. CPU usage is tracked to generate predicted respective client and server CPU usage. These respective predictions are compared to defined maximum threshold usage values. If the predicted values do not exceed the thresholds, compression is used, otherwise the data is transmitted over the network as non-compressed data. A pre-filter is used to first determine whether or not the data would benefit from the built-in compression mode.