Dynamic Compression Job Allocation in Hardware Accelerators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Central processing unit (CPU) bandwidth is significantly consumed by compression and decompression processes in storage systems, leading to performance bottlenecks in scenarios like backup, restore, and replication, which can be improved using a hardware accelerator but requires dynamic allocation of compression jobs across multiple levels to achieve optimal performance.

Innovation Solution

A method and system that dynamically allocates compression jobs between multiple compression levels within a hardware accelerator, such as a QuickAssist Technology compatible accelerator or GPU, based on performance metrics like compression ratio, resource consumption, and speed, to achieve a guaranteed average performance of 3× compression ratio over time, while monitoring CPU workload and allocating tasks accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If compression jobs are handled by CPU, then system flexibility and control are maintained, but CPU bandwidth is significantly consumed leading to performance bottlenecks

Engineering Contradiction:
Improvecompression performanceVSAvoidCPU bandwidth consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the compression function from the CPU by introducing a dedicated hardware accelerator. The compression engine is implemented as a separate physical component that can be attached to the storage device, offloading compression tasks from the CPU and reducing its bandwidth consumption while maintaining system control through the controller that manages both the storage device and compression engine.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a controller as an intermediary component that manages the interaction between the storage device and the compression engine. The controller receives compression requests from the storage device, coordinates with the compression engine to perform compression operations, and manages data flow between components, thereby maintaining system flexibility while enabling hardware-accelerated compression.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware accelerator is used for compression, then CPU bandwidth is reduced, but dynamic allocation of compression jobs across multiple levels is required to achieve optimal performance

Engineering Contradiction:
Improvecompression speedVSAvoidcompression job allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic compression level selection where the compression engine can operate at multiple compression levels (first level, second level, third level) and the controller dynamically selects the appropriate compression level based on current system conditions, data characteristics, and performance requirements. This allows the system to adapt to varying workload demands while utilizing hardware acceleration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the compression parameter (compression level) dynamically based on workload conditions. The controller monitors system state and adjusts the compression level parameter selected for the hardware accelerator, enabling the system to optimize between compression ratio and speed by selecting from multiple predefined compression levels rather than using a fixed compression setting.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple compression levels are implemented in hardware accelerator, then compression performance is optimized, but monitoring and allocating jobs across levels increases system complexity

Engineering Contradiction:
Improveaverage compression ratioVSAvoidcompression performance monitoring
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements a feedback mechanism where the controller monitors the performance of the compression engine and uses this information to make informed decisions about job allocation and compression level selection. The controller receives status information from the compression engine and adjusts its scheduling and parameter selection based on observed performance, enabling automated optimization without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The compression engine is designed to autonomously manage its own operation at the hardware level, executing compression tasks based on instructions from the controller without requiring complex external management. The engine independently handles the actual compression processing, allowing the controller to focus on high-level scheduling and parameter selection rather than micro-managing each compression operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11093283B2System and method of dynamically allocating compression jobs
Publication Date: 2021.08.17 EMC IP HLDG CO LLC
  • US11093283B2 patent drawing
  • US11093283B2 patent drawing
  • US11093283B2 patent drawing

AI summary

One embodiment provides a computer implemented method of dynamically allocating compression jobs including monitoring compression performance at a plurality of compression levels within a hardware accelerator; comparing compression performance between the plurality of compression levels; and dynamically allocating compression jobs between the plurality of compression levels to achieve a guaranteed average performance.